aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoreschnett <eschnett@4f5cb9a8-4dd8-4c2d-9bbd-173fa4467843>2014-05-12 19:19:52 +0000
committereschnett <eschnett@4f5cb9a8-4dd8-4c2d-9bbd-173fa4467843>2014-05-12 19:19:52 +0000
commit489a4fef06ee0bce50c91297a2ae947242dafb38 (patch)
treef8b41796ccd1e39279b87391c5490b5f18af44de
parentee248b1256dc94bf10e72c19efa500272fcf2336 (diff)
Regenerate codesvn
git-svn-id: http://svn.einsteintoolkit.org/cactus/EinsteinAnalysis/WeylScal4/trunk@142 4f5cb9a8-4dd8-4c2d-9bbd-173fa4467843
-rw-r--r--interface.ccl13
-rw-r--r--param.ccl25
-rw-r--r--schedule.ccl48
-rw-r--r--src/Differencing.h196
-rw-r--r--src/Kranc.cc732
-rw-r--r--src/Kranc.hh176
-rw-r--r--src/RegisterMoL.cc2
-rw-r--r--src/RegisterSymmetries.cc2
-rw-r--r--src/WeylScal4_invars_calc_2nd.cc202
-rw-r--r--src/WeylScal4_invars_calc_4th.cc202
-rw-r--r--src/WeylScal4_invars_calc_Nth.cc202
-rw-r--r--src/WeylScal4_psi4_calc_2nd.cc364
-rw-r--r--src/WeylScal4_psi4_calc_4th.cc364
-rw-r--r--src/WeylScal4_psi4_calc_Nth.cc364
-rw-r--r--src/WeylScal4_psis_calc_2nd.cc396
-rw-r--r--src/WeylScal4_psis_calc_4th.cc396
-rw-r--r--src/WeylScal4_psis_calc_Nth.cc396
-rw-r--r--src/make.code.defn2
18 files changed, 2548 insertions, 1534 deletions
diff --git a/interface.ccl b/interface.ccl
index 4629a91..c009bae 100644
--- a/interface.ccl
+++ b/interface.ccl
@@ -6,7 +6,6 @@ inherits: admbase Boundary GenericFD Grid methodoflines
-USES INCLUDE: GenericFD.h
USES INCLUDE: loopcontrol.h
USES INCLUDE: Symmetry.h
USES INCLUDE: vectors.h
@@ -21,6 +20,18 @@ USES FUNCTION Diff_coeff
CCTK_INT FUNCTION MultiPatch_GetMap(CCTK_POINTER_TO_CONST IN cctkGH)
USES FUNCTION MultiPatch_GetMap
+CCTK_INT FUNCTION MultiPatch_GetBbox(CCTK_POINTER_TO_CONST IN cctkGH, CCTK_INT IN size, CCTK_INT OUT ARRAY bbox)
+USES FUNCTION MultiPatch_GetBbox
+
+CCTK_INT FUNCTION GetBoundarySpecification(CCTK_INT IN size, CCTK_INT OUT ARRAY nboundaryzones, CCTK_INT OUT ARRAY is_internal, CCTK_INT OUT ARRAY is_staggered, CCTK_INT OUT ARRAY shiftout)
+USES FUNCTION GetBoundarySpecification
+
+CCTK_INT FUNCTION MultiPatch_GetBoundarySpecification(CCTK_INT IN map, CCTK_INT IN size, CCTK_INT OUT ARRAY nboundaryzones, CCTK_INT OUT ARRAY is_internal, CCTK_INT OUT ARRAY is_staggered, CCTK_INT OUT ARRAY shiftout)
+USES FUNCTION MultiPatch_GetBoundarySpecification
+
+CCTK_INT FUNCTION SymmetryTableHandleForGrid(CCTK_POINTER_TO_CONST IN cctkGH)
+USES FUNCTION SymmetryTableHandleForGrid
+
CCTK_INT FUNCTION Boundary_SelectGroupForBC(CCTK_POINTER_TO_CONST IN GH, CCTK_INT IN faces, CCTK_INT IN boundary_width, CCTK_INT IN table_handle, CCTK_STRING IN group_name, CCTK_STRING IN bc_name)
USES FUNCTION Boundary_SelectGroupForBC
diff --git a/param.ccl b/param.ccl
index b70931c..846223c 100644
--- a/param.ccl
+++ b/param.ccl
@@ -56,29 +56,38 @@ CCTK_REAL zorig "zorig"
restricted:
CCTK_INT fdOrder "fdOrder"
{
- *:* :: ""
+ 2 :: ""
+ 4 :: ""
+ 6 :: ""
+ 8 :: ""
} 2
+restricted:
+CCTK_INT tile_size "Loop tile size"
+{
+ *:* :: ""
+} -1
+
private:
KEYWORD fd_order "fd_order"
{
- "Nth" :: "Nth"
- "2nd" :: "2nd"
- "4th" :: "4th"
+ "Nth" :: ""
+ "2nd" :: ""
+ "4th" :: ""
} "Nth"
private:
KEYWORD calc_scalars "Which scalars to calculate"
{
- "psi4" :: "psi4"
- "psis" :: "psis"
+ "psi4" :: ""
+ "psis" :: ""
} "psi4"
private:
KEYWORD calc_invariants "Compute invariants"
{
- "always" :: "always"
- "never" :: "never"
+ "always" :: ""
+ "never" :: ""
} "never"
restricted:
diff --git a/schedule.ccl b/schedule.ccl
index f75bb9d..d9b407e 100644
--- a/schedule.ccl
+++ b/schedule.ccl
@@ -1,6 +1,5 @@
# File produced by Kranc
-
STORAGE: Psi0r_group[timelevels]
STORAGE: Psi0i_group[timelevels]
@@ -36,7 +35,6 @@ STORAGE: curvJ2_group[timelevels]
STORAGE: curvJ3_group[timelevels]
STORAGE: curvJ4_group[timelevels]
-
schedule WeylScal4_Startup at STARTUP
{
LANG: C
@@ -49,10 +47,8 @@ schedule WeylScal4_RegisterSymmetries in SymmetryRegister
OPTIONS: meta
} "register symmetries"
-
if (CCTK_EQUALS(calc_scalars, "psi4"))
{
-
if (CCTK_EQUALS(fd_order, "Nth"))
{
schedule group WeylScal4_psi4_calc_Nth_group in MoL_PseudoEvolution after ADMBase_SetADMVars
@@ -95,10 +91,8 @@ schedule group ApplyBCs as WeylScal4_psi4_calc_Nth_ApplyBCs in WeylScal4_psi4_ca
{
} "Apply BCs for groups set in WeylScal4_psi4_calc_Nth"
-
if (CCTK_EQUALS(calc_scalars, "psi4"))
{
-
if (CCTK_EQUALS(fd_order, "Nth"))
{
schedule group WeylScal4_psi4_calc_Nth_bc_group in WeylScal4_psi4_calc_Nth_group after WeylScal4_psi4_calc_Nth
@@ -107,10 +101,8 @@ if (CCTK_EQUALS(calc_scalars, "psi4"))
}
}
-
if (CCTK_EQUALS(calc_scalars, "psi4"))
{
-
if (CCTK_EQUALS(fd_order, "Nth"))
{
schedule group WeylScal4_psi4_calc_Nth_bc_group in MoL_PseudoEvolutionBoundaries after MoL_PostStep
@@ -119,10 +111,8 @@ if (CCTK_EQUALS(calc_scalars, "psi4"))
}
}
-
if (CCTK_EQUALS(calc_scalars, "psi4"))
{
-
if (CCTK_EQUALS(fd_order, "2nd"))
{
schedule group WeylScal4_psi4_calc_2nd_group in MoL_PseudoEvolution after ADMBase_SetADMVars
@@ -165,10 +155,8 @@ schedule group ApplyBCs as WeylScal4_psi4_calc_2nd_ApplyBCs in WeylScal4_psi4_ca
{
} "Apply BCs for groups set in WeylScal4_psi4_calc_2nd"
-
if (CCTK_EQUALS(calc_scalars, "psi4"))
{
-
if (CCTK_EQUALS(fd_order, "2nd"))
{
schedule group WeylScal4_psi4_calc_2nd_bc_group in WeylScal4_psi4_calc_2nd_group after WeylScal4_psi4_calc_2nd
@@ -177,10 +165,8 @@ if (CCTK_EQUALS(calc_scalars, "psi4"))
}
}
-
if (CCTK_EQUALS(calc_scalars, "psi4"))
{
-
if (CCTK_EQUALS(fd_order, "2nd"))
{
schedule group WeylScal4_psi4_calc_2nd_bc_group in MoL_PseudoEvolutionBoundaries after MoL_PostStep
@@ -189,10 +175,8 @@ if (CCTK_EQUALS(calc_scalars, "psi4"))
}
}
-
if (CCTK_EQUALS(calc_scalars, "psi4"))
{
-
if (CCTK_EQUALS(fd_order, "4th"))
{
schedule group WeylScal4_psi4_calc_4th_group in MoL_PseudoEvolution after ADMBase_SetADMVars
@@ -235,10 +219,8 @@ schedule group ApplyBCs as WeylScal4_psi4_calc_4th_ApplyBCs in WeylScal4_psi4_ca
{
} "Apply BCs for groups set in WeylScal4_psi4_calc_4th"
-
if (CCTK_EQUALS(calc_scalars, "psi4"))
{
-
if (CCTK_EQUALS(fd_order, "4th"))
{
schedule group WeylScal4_psi4_calc_4th_bc_group in WeylScal4_psi4_calc_4th_group after WeylScal4_psi4_calc_4th
@@ -247,10 +229,8 @@ if (CCTK_EQUALS(calc_scalars, "psi4"))
}
}
-
if (CCTK_EQUALS(calc_scalars, "psi4"))
{
-
if (CCTK_EQUALS(fd_order, "4th"))
{
schedule group WeylScal4_psi4_calc_4th_bc_group in MoL_PseudoEvolutionBoundaries after MoL_PostStep
@@ -259,10 +239,8 @@ if (CCTK_EQUALS(calc_scalars, "psi4"))
}
}
-
if (CCTK_EQUALS(calc_scalars, "psis"))
{
-
if (CCTK_EQUALS(fd_order, "Nth"))
{
schedule group WeylScal4_psis_calc_Nth_group in MoL_PseudoEvolution after ADMBase_SetADMVars
@@ -321,10 +299,8 @@ schedule group ApplyBCs as WeylScal4_psis_calc_Nth_ApplyBCs in WeylScal4_psis_ca
{
} "Apply BCs for groups set in WeylScal4_psis_calc_Nth"
-
if (CCTK_EQUALS(calc_scalars, "psis"))
{
-
if (CCTK_EQUALS(fd_order, "Nth"))
{
schedule group WeylScal4_psis_calc_Nth_bc_group in WeylScal4_psis_calc_Nth_group after WeylScal4_psis_calc_Nth
@@ -333,10 +309,8 @@ if (CCTK_EQUALS(calc_scalars, "psis"))
}
}
-
if (CCTK_EQUALS(calc_scalars, "psis"))
{
-
if (CCTK_EQUALS(fd_order, "Nth"))
{
schedule group WeylScal4_psis_calc_Nth_bc_group in MoL_PseudoEvolutionBoundaries after MoL_PostStep
@@ -345,10 +319,8 @@ if (CCTK_EQUALS(calc_scalars, "psis"))
}
}
-
if (CCTK_EQUALS(calc_scalars, "psis"))
{
-
if (CCTK_EQUALS(fd_order, "2nd"))
{
schedule group WeylScal4_psis_calc_2nd_group in MoL_PseudoEvolution after ADMBase_SetADMVars
@@ -407,10 +379,8 @@ schedule group ApplyBCs as WeylScal4_psis_calc_2nd_ApplyBCs in WeylScal4_psis_ca
{
} "Apply BCs for groups set in WeylScal4_psis_calc_2nd"
-
if (CCTK_EQUALS(calc_scalars, "psis"))
{
-
if (CCTK_EQUALS(fd_order, "2nd"))
{
schedule group WeylScal4_psis_calc_2nd_bc_group in WeylScal4_psis_calc_2nd_group after WeylScal4_psis_calc_2nd
@@ -419,10 +389,8 @@ if (CCTK_EQUALS(calc_scalars, "psis"))
}
}
-
if (CCTK_EQUALS(calc_scalars, "psis"))
{
-
if (CCTK_EQUALS(fd_order, "2nd"))
{
schedule group WeylScal4_psis_calc_2nd_bc_group in MoL_PseudoEvolutionBoundaries after MoL_PostStep
@@ -431,10 +399,8 @@ if (CCTK_EQUALS(calc_scalars, "psis"))
}
}
-
if (CCTK_EQUALS(calc_scalars, "psis"))
{
-
if (CCTK_EQUALS(fd_order, "4th"))
{
schedule group WeylScal4_psis_calc_4th_group in MoL_PseudoEvolution after ADMBase_SetADMVars
@@ -493,10 +459,8 @@ schedule group ApplyBCs as WeylScal4_psis_calc_4th_ApplyBCs in WeylScal4_psis_ca
{
} "Apply BCs for groups set in WeylScal4_psis_calc_4th"
-
if (CCTK_EQUALS(calc_scalars, "psis"))
{
-
if (CCTK_EQUALS(fd_order, "4th"))
{
schedule group WeylScal4_psis_calc_4th_bc_group in WeylScal4_psis_calc_4th_group after WeylScal4_psis_calc_4th
@@ -505,10 +469,8 @@ if (CCTK_EQUALS(calc_scalars, "psis"))
}
}
-
if (CCTK_EQUALS(calc_scalars, "psis"))
{
-
if (CCTK_EQUALS(fd_order, "4th"))
{
schedule group WeylScal4_psis_calc_4th_bc_group in MoL_PseudoEvolutionBoundaries after MoL_PostStep
@@ -517,13 +479,10 @@ if (CCTK_EQUALS(calc_scalars, "psis"))
}
}
-
if (CCTK_EQUALS(calc_invariants, "always"))
{
-
if (CCTK_EQUALS(calc_scalars, "psis"))
{
-
if (CCTK_EQUALS(fd_order, "Nth"))
{
schedule group WeylScal4_invars_calc_Nth_group in MoL_PseudoEvolution after WeylScal4_psis_calc_Nth_group
@@ -556,13 +515,10 @@ schedule WeylScal4_invars_calc_Nth in WeylScal4_invars_calc_Nth_group
WRITES: WeylScal4::curvJr(Interior)
} "WeylScal4_invars_calc_Nth"
-
if (CCTK_EQUALS(calc_invariants, "always"))
{
-
if (CCTK_EQUALS(calc_scalars, "psis"))
{
-
if (CCTK_EQUALS(fd_order, "2nd"))
{
schedule group WeylScal4_invars_calc_2nd_group in MoL_PseudoEvolution after WeylScal4_psis_calc_2nd_group
@@ -595,13 +551,10 @@ schedule WeylScal4_invars_calc_2nd in WeylScal4_invars_calc_2nd_group
WRITES: WeylScal4::curvJr(Interior)
} "WeylScal4_invars_calc_2nd"
-
if (CCTK_EQUALS(calc_invariants, "always"))
{
-
if (CCTK_EQUALS(calc_scalars, "psis"))
{
-
if (CCTK_EQUALS(fd_order, "4th"))
{
schedule group WeylScal4_invars_calc_4th_group in MoL_PseudoEvolution after WeylScal4_psis_calc_4th_group
@@ -651,7 +604,6 @@ schedule WeylScal4_RegisterVars in MoL_Register
LANG: C
OPTIONS: meta
} "Register Variables for MoL"
-
schedule group ApplyBCs as WeylScal4_ApplyBCs in MoL_PostStep after WeylScal4_SelectBoundConds
{
} "Apply boundary conditions controlled by thorn Boundary"
diff --git a/src/Differencing.h b/src/Differencing.h
index 09c7f6d..1d78787 100644
--- a/src/Differencing.h
+++ b/src/Differencing.h
@@ -38,31 +38,31 @@ static CCTK_REAL_VEC PDstandard2nd3_impl(const CCTK_REAL* restrict const u, cons
#endif
#ifndef KRANC_DIFF_FUNCTIONS
-# define PDstandard2nd11(u) (kmul(p1odx2,kadd(KRANC_GFOFFSET3D(u,-1,0,0),kmadd(KRANC_GFOFFSET3D(u,0,0,0),ToReal(-2),KRANC_GFOFFSET3D(u,1,0,0)))))
+# define PDstandard2nd11(u) (kmul(p1odx2,kmadd(ToReal(-2),KRANC_GFOFFSET3D(u,0,0,0),kadd(KRANC_GFOFFSET3D(u,-1,0,0),KRANC_GFOFFSET3D(u,1,0,0)))))
#else
# define PDstandard2nd11(u) (PDstandard2nd11_impl(u,p1odx2,cdj,cdk))
static CCTK_REAL_VEC PDstandard2nd11_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1odx2, const ptrdiff_t cdj, const ptrdiff_t cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
static CCTK_REAL_VEC PDstandard2nd11_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1odx2, const ptrdiff_t cdj, const ptrdiff_t cdk)
{
const ptrdiff_t cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL);
- return kmul(p1odx2,kadd(KRANC_GFOFFSET3D(u,-1,0,0),kmadd(KRANC_GFOFFSET3D(u,0,0,0),ToReal(-2),KRANC_GFOFFSET3D(u,1,0,0))));
+ return kmul(p1odx2,kmadd(ToReal(-2),KRANC_GFOFFSET3D(u,0,0,0),kadd(KRANC_GFOFFSET3D(u,-1,0,0),KRANC_GFOFFSET3D(u,1,0,0))));
}
#endif
#ifndef KRANC_DIFF_FUNCTIONS
-# define PDstandard2nd22(u) (kmul(p1ody2,kadd(KRANC_GFOFFSET3D(u,0,-1,0),kmadd(KRANC_GFOFFSET3D(u,0,0,0),ToReal(-2),KRANC_GFOFFSET3D(u,0,1,0)))))
+# define PDstandard2nd22(u) (kmul(p1ody2,kmadd(ToReal(-2),KRANC_GFOFFSET3D(u,0,0,0),kadd(KRANC_GFOFFSET3D(u,0,-1,0),KRANC_GFOFFSET3D(u,0,1,0)))))
#else
# define PDstandard2nd22(u) (PDstandard2nd22_impl(u,p1ody2,cdj,cdk))
static CCTK_REAL_VEC PDstandard2nd22_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1ody2, const ptrdiff_t cdj, const ptrdiff_t cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
static CCTK_REAL_VEC PDstandard2nd22_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1ody2, const ptrdiff_t cdj, const ptrdiff_t cdk)
{
const ptrdiff_t cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL);
- return kmul(p1ody2,kadd(KRANC_GFOFFSET3D(u,0,-1,0),kmadd(KRANC_GFOFFSET3D(u,0,0,0),ToReal(-2),KRANC_GFOFFSET3D(u,0,1,0))));
+ return kmul(p1ody2,kmadd(ToReal(-2),KRANC_GFOFFSET3D(u,0,0,0),kadd(KRANC_GFOFFSET3D(u,0,-1,0),KRANC_GFOFFSET3D(u,0,1,0))));
}
#endif
#ifndef KRANC_DIFF_FUNCTIONS
-# define PDstandard2nd33(u) (kmul(p1odz2,kadd(KRANC_GFOFFSET3D(u,0,0,-1),kmadd(KRANC_GFOFFSET3D(u,0,0,0),ToReal(-2),KRANC_GFOFFSET3D(u,0,0,1)))))
+# define PDstandard2nd33(u) (kmul(p1odz2,kmadd(ToReal(-2),KRANC_GFOFFSET3D(u,0,0,0),kadd(KRANC_GFOFFSET3D(u,0,0,-1),KRANC_GFOFFSET3D(u,0,0,1)))))
#else
# define PDstandard2nd33(u) (PDstandard2nd33_impl(u,p1odz2,cdj,cdk))
static CCTK_REAL_VEC PDstandard2nd33_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1odz2, const ptrdiff_t cdj, const ptrdiff_t cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
@@ -74,19 +74,19 @@ static CCTK_REAL_VEC PDstandard2nd33_impl(const CCTK_REAL* restrict const u, con
#endif
#ifndef KRANC_DIFF_FUNCTIONS
-# define PDstandard2nd12(u) (kmul(p1o4dxdy,kadd(KRANC_GFOFFSET3D(u,-1,-1,0),ksub(KRANC_GFOFFSET3D(u,1,1,0),kadd(KRANC_GFOFFSET3D(u,1,-1,0),KRANC_GFOFFSET3D(u,-1,1,0))))))
+# define PDstandard2nd12(u) (kmul(p1o4dxdy,kadd(KRANC_GFOFFSET3D(u,-1,-1,0),ksub(ksub(KRANC_GFOFFSET3D(u,1,1,0),KRANC_GFOFFSET3D(u,1,-1,0)),KRANC_GFOFFSET3D(u,-1,1,0)))))
#else
# define PDstandard2nd12(u) (PDstandard2nd12_impl(u,p1o4dxdy,cdj,cdk))
static CCTK_REAL_VEC PDstandard2nd12_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o4dxdy, const ptrdiff_t cdj, const ptrdiff_t cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
static CCTK_REAL_VEC PDstandard2nd12_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o4dxdy, const ptrdiff_t cdj, const ptrdiff_t cdk)
{
const ptrdiff_t cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL);
- return kmul(p1o4dxdy,kadd(KRANC_GFOFFSET3D(u,-1,-1,0),ksub(KRANC_GFOFFSET3D(u,1,1,0),kadd(KRANC_GFOFFSET3D(u,1,-1,0),KRANC_GFOFFSET3D(u,-1,1,0)))));
+ return kmul(p1o4dxdy,kadd(KRANC_GFOFFSET3D(u,-1,-1,0),ksub(ksub(KRANC_GFOFFSET3D(u,1,1,0),KRANC_GFOFFSET3D(u,1,-1,0)),KRANC_GFOFFSET3D(u,-1,1,0))));
}
#endif
#ifndef KRANC_DIFF_FUNCTIONS
-# define PDstandard2nd13(u) (kmul(p1o4dxdz,kadd(KRANC_GFOFFSET3D(u,-1,0,-1),ksub(KRANC_GFOFFSET3D(u,1,0,1),kadd(KRANC_GFOFFSET3D(u,1,0,-1),KRANC_GFOFFSET3D(u,-1,0,1))))))
+# define PDstandard2nd13(u) (kmul(p1o4dxdz,kadd(KRANC_GFOFFSET3D(u,-1,0,-1),ksub(ksub(KRANC_GFOFFSET3D(u,1,0,1),KRANC_GFOFFSET3D(u,1,0,-1)),KRANC_GFOFFSET3D(u,-1,0,1)))))
#else
# define PDstandard2nd13(u) (PDstandard2nd13_impl(u,p1o4dxdz,cdj,cdk))
static CCTK_REAL_VEC PDstandard2nd13_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o4dxdz, const ptrdiff_t cdj, const ptrdiff_t cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
@@ -98,7 +98,7 @@ static CCTK_REAL_VEC PDstandard2nd13_impl(const CCTK_REAL* restrict const u, con
#endif
#ifndef KRANC_DIFF_FUNCTIONS
-# define PDstandard2nd21(u) (kmul(p1o4dxdy,kadd(KRANC_GFOFFSET3D(u,-1,-1,0),ksub(KRANC_GFOFFSET3D(u,1,1,0),kadd(KRANC_GFOFFSET3D(u,1,-1,0),KRANC_GFOFFSET3D(u,-1,1,0))))))
+# define PDstandard2nd21(u) (kmul(p1o4dxdy,kadd(KRANC_GFOFFSET3D(u,-1,-1,0),ksub(ksub(KRANC_GFOFFSET3D(u,1,1,0),KRANC_GFOFFSET3D(u,1,-1,0)),KRANC_GFOFFSET3D(u,-1,1,0)))))
#else
# define PDstandard2nd21(u) (PDstandard2nd21_impl(u,p1o4dxdy,cdj,cdk))
static CCTK_REAL_VEC PDstandard2nd21_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o4dxdy, const ptrdiff_t cdj, const ptrdiff_t cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
@@ -110,19 +110,19 @@ static CCTK_REAL_VEC PDstandard2nd21_impl(const CCTK_REAL* restrict const u, con
#endif
#ifndef KRANC_DIFF_FUNCTIONS
-# define PDstandard2nd23(u) (kmul(p1o4dydz,kadd(KRANC_GFOFFSET3D(u,0,-1,-1),ksub(KRANC_GFOFFSET3D(u,0,1,1),kadd(KRANC_GFOFFSET3D(u,0,1,-1),KRANC_GFOFFSET3D(u,0,-1,1))))))
+# define PDstandard2nd23(u) (kmul(p1o4dydz,kadd(KRANC_GFOFFSET3D(u,0,-1,-1),ksub(ksub(KRANC_GFOFFSET3D(u,0,1,1),KRANC_GFOFFSET3D(u,0,1,-1)),KRANC_GFOFFSET3D(u,0,-1,1)))))
#else
# define PDstandard2nd23(u) (PDstandard2nd23_impl(u,p1o4dydz,cdj,cdk))
static CCTK_REAL_VEC PDstandard2nd23_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o4dydz, const ptrdiff_t cdj, const ptrdiff_t cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
static CCTK_REAL_VEC PDstandard2nd23_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o4dydz, const ptrdiff_t cdj, const ptrdiff_t cdk)
{
const ptrdiff_t cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL);
- return kmul(p1o4dydz,kadd(KRANC_GFOFFSET3D(u,0,-1,-1),ksub(KRANC_GFOFFSET3D(u,0,1,1),kadd(KRANC_GFOFFSET3D(u,0,1,-1),KRANC_GFOFFSET3D(u,0,-1,1)))));
+ return kmul(p1o4dydz,kadd(KRANC_GFOFFSET3D(u,0,-1,-1),ksub(ksub(KRANC_GFOFFSET3D(u,0,1,1),KRANC_GFOFFSET3D(u,0,1,-1)),KRANC_GFOFFSET3D(u,0,-1,1))));
}
#endif
#ifndef KRANC_DIFF_FUNCTIONS
-# define PDstandard2nd31(u) (kmul(p1o4dxdz,kadd(KRANC_GFOFFSET3D(u,-1,0,-1),ksub(KRANC_GFOFFSET3D(u,1,0,1),kadd(KRANC_GFOFFSET3D(u,1,0,-1),KRANC_GFOFFSET3D(u,-1,0,1))))))
+# define PDstandard2nd31(u) (kmul(p1o4dxdz,kadd(KRANC_GFOFFSET3D(u,-1,0,-1),ksub(ksub(KRANC_GFOFFSET3D(u,1,0,1),KRANC_GFOFFSET3D(u,1,0,-1)),KRANC_GFOFFSET3D(u,-1,0,1)))))
#else
# define PDstandard2nd31(u) (PDstandard2nd31_impl(u,p1o4dxdz,cdj,cdk))
static CCTK_REAL_VEC PDstandard2nd31_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o4dxdz, const ptrdiff_t cdj, const ptrdiff_t cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
@@ -134,7 +134,7 @@ static CCTK_REAL_VEC PDstandard2nd31_impl(const CCTK_REAL* restrict const u, con
#endif
#ifndef KRANC_DIFF_FUNCTIONS
-# define PDstandard2nd32(u) (kmul(p1o4dydz,kadd(KRANC_GFOFFSET3D(u,0,-1,-1),ksub(KRANC_GFOFFSET3D(u,0,1,1),kadd(KRANC_GFOFFSET3D(u,0,1,-1),KRANC_GFOFFSET3D(u,0,-1,1))))))
+# define PDstandard2nd32(u) (kmul(p1o4dydz,kadd(KRANC_GFOFFSET3D(u,0,-1,-1),ksub(ksub(KRANC_GFOFFSET3D(u,0,1,1),KRANC_GFOFFSET3D(u,0,1,-1)),KRANC_GFOFFSET3D(u,0,-1,1)))))
#else
# define PDstandard2nd32(u) (PDstandard2nd32_impl(u,p1o4dydz,cdj,cdk))
static CCTK_REAL_VEC PDstandard2nd32_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o4dydz, const ptrdiff_t cdj, const ptrdiff_t cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
@@ -146,31 +146,31 @@ static CCTK_REAL_VEC PDstandard2nd32_impl(const CCTK_REAL* restrict const u, con
#endif
#ifndef KRANC_DIFF_FUNCTIONS
-# define PDstandard4th1(u) (kmul(p1o12dx,kadd(KRANC_GFOFFSET3D(u,-2,0,0),kmadd(KRANC_GFOFFSET3D(u,-1,0,0),ToReal(-8),kmsub(KRANC_GFOFFSET3D(u,1,0,0),ToReal(8),KRANC_GFOFFSET3D(u,2,0,0))))))
+# define PDstandard4th1(u) (kmul(p1o12dx,kmadd(ToReal(-8),KRANC_GFOFFSET3D(u,-1,0,0),kmadd(ToReal(8),KRANC_GFOFFSET3D(u,1,0,0),ksub(KRANC_GFOFFSET3D(u,-2,0,0),KRANC_GFOFFSET3D(u,2,0,0))))))
#else
# define PDstandard4th1(u) (PDstandard4th1_impl(u,p1o12dx,cdj,cdk))
static CCTK_REAL_VEC PDstandard4th1_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o12dx, const ptrdiff_t cdj, const ptrdiff_t cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
static CCTK_REAL_VEC PDstandard4th1_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o12dx, const ptrdiff_t cdj, const ptrdiff_t cdk)
{
const ptrdiff_t cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL);
- return kmul(p1o12dx,kadd(KRANC_GFOFFSET3D(u,-2,0,0),kmadd(KRANC_GFOFFSET3D(u,-1,0,0),ToReal(-8),kmsub(KRANC_GFOFFSET3D(u,1,0,0),ToReal(8),KRANC_GFOFFSET3D(u,2,0,0)))));
+ return kmul(p1o12dx,kmadd(ToReal(-8),KRANC_GFOFFSET3D(u,-1,0,0),kmadd(ToReal(8),KRANC_GFOFFSET3D(u,1,0,0),ksub(KRANC_GFOFFSET3D(u,-2,0,0),KRANC_GFOFFSET3D(u,2,0,0)))));
}
#endif
#ifndef KRANC_DIFF_FUNCTIONS
-# define PDstandard4th2(u) (kmul(p1o12dy,kadd(KRANC_GFOFFSET3D(u,0,-2,0),kmadd(KRANC_GFOFFSET3D(u,0,-1,0),ToReal(-8),kmsub(KRANC_GFOFFSET3D(u,0,1,0),ToReal(8),KRANC_GFOFFSET3D(u,0,2,0))))))
+# define PDstandard4th2(u) (kmul(p1o12dy,kmadd(ToReal(-8),KRANC_GFOFFSET3D(u,0,-1,0),kmadd(ToReal(8),KRANC_GFOFFSET3D(u,0,1,0),ksub(KRANC_GFOFFSET3D(u,0,-2,0),KRANC_GFOFFSET3D(u,0,2,0))))))
#else
# define PDstandard4th2(u) (PDstandard4th2_impl(u,p1o12dy,cdj,cdk))
static CCTK_REAL_VEC PDstandard4th2_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o12dy, const ptrdiff_t cdj, const ptrdiff_t cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
static CCTK_REAL_VEC PDstandard4th2_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o12dy, const ptrdiff_t cdj, const ptrdiff_t cdk)
{
const ptrdiff_t cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL);
- return kmul(p1o12dy,kadd(KRANC_GFOFFSET3D(u,0,-2,0),kmadd(KRANC_GFOFFSET3D(u,0,-1,0),ToReal(-8),kmsub(KRANC_GFOFFSET3D(u,0,1,0),ToReal(8),KRANC_GFOFFSET3D(u,0,2,0)))));
+ return kmul(p1o12dy,kmadd(ToReal(-8),KRANC_GFOFFSET3D(u,0,-1,0),kmadd(ToReal(8),KRANC_GFOFFSET3D(u,0,1,0),ksub(KRANC_GFOFFSET3D(u,0,-2,0),KRANC_GFOFFSET3D(u,0,2,0)))));
}
#endif
#ifndef KRANC_DIFF_FUNCTIONS
-# define PDstandard4th3(u) (kmul(p1o12dz,kadd(KRANC_GFOFFSET3D(u,0,0,-2),kmadd(KRANC_GFOFFSET3D(u,0,0,-1),ToReal(-8),kmsub(KRANC_GFOFFSET3D(u,0,0,1),ToReal(8),KRANC_GFOFFSET3D(u,0,0,2))))))
+# define PDstandard4th3(u) (kmul(p1o12dz,kmadd(ToReal(-8),KRANC_GFOFFSET3D(u,0,0,-1),kmadd(ToReal(8),KRANC_GFOFFSET3D(u,0,0,1),ksub(KRANC_GFOFFSET3D(u,0,0,-2),KRANC_GFOFFSET3D(u,0,0,2))))))
#else
# define PDstandard4th3(u) (PDstandard4th3_impl(u,p1o12dz,cdj,cdk))
static CCTK_REAL_VEC PDstandard4th3_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o12dz, const ptrdiff_t cdj, const ptrdiff_t cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
@@ -182,31 +182,31 @@ static CCTK_REAL_VEC PDstandard4th3_impl(const CCTK_REAL* restrict const u, cons
#endif
#ifndef KRANC_DIFF_FUNCTIONS
-# define PDstandard4th11(u) (kmul(pm1o12dx2,kadd(KRANC_GFOFFSET3D(u,-2,0,0),kadd(KRANC_GFOFFSET3D(u,2,0,0),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,0,0),KRANC_GFOFFSET3D(u,1,0,0)),ToReal(-16),kmul(KRANC_GFOFFSET3D(u,0,0,0),ToReal(30)))))))
+# define PDstandard4th11(u) (kmul(pm1o12dx2,kmadd(ToReal(30),KRANC_GFOFFSET3D(u,0,0,0),kmadd(ToReal(-16),kadd(KRANC_GFOFFSET3D(u,-1,0,0),KRANC_GFOFFSET3D(u,1,0,0)),kadd(KRANC_GFOFFSET3D(u,-2,0,0),KRANC_GFOFFSET3D(u,2,0,0))))))
#else
# define PDstandard4th11(u) (PDstandard4th11_impl(u,pm1o12dx2,cdj,cdk))
static CCTK_REAL_VEC PDstandard4th11_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC pm1o12dx2, const ptrdiff_t cdj, const ptrdiff_t cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
static CCTK_REAL_VEC PDstandard4th11_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC pm1o12dx2, const ptrdiff_t cdj, const ptrdiff_t cdk)
{
const ptrdiff_t cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL);
- return kmul(pm1o12dx2,kadd(KRANC_GFOFFSET3D(u,-2,0,0),kadd(KRANC_GFOFFSET3D(u,2,0,0),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,0,0),KRANC_GFOFFSET3D(u,1,0,0)),ToReal(-16),kmul(KRANC_GFOFFSET3D(u,0,0,0),ToReal(30))))));
+ return kmul(pm1o12dx2,kmadd(ToReal(30),KRANC_GFOFFSET3D(u,0,0,0),kmadd(ToReal(-16),kadd(KRANC_GFOFFSET3D(u,-1,0,0),KRANC_GFOFFSET3D(u,1,0,0)),kadd(KRANC_GFOFFSET3D(u,-2,0,0),KRANC_GFOFFSET3D(u,2,0,0)))));
}
#endif
#ifndef KRANC_DIFF_FUNCTIONS
-# define PDstandard4th22(u) (kmul(pm1o12dy2,kadd(KRANC_GFOFFSET3D(u,0,-2,0),kadd(KRANC_GFOFFSET3D(u,0,2,0),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-1,0),KRANC_GFOFFSET3D(u,0,1,0)),ToReal(-16),kmul(KRANC_GFOFFSET3D(u,0,0,0),ToReal(30)))))))
+# define PDstandard4th22(u) (kmul(pm1o12dy2,kmadd(ToReal(30),KRANC_GFOFFSET3D(u,0,0,0),kmadd(ToReal(-16),kadd(KRANC_GFOFFSET3D(u,0,-1,0),KRANC_GFOFFSET3D(u,0,1,0)),kadd(KRANC_GFOFFSET3D(u,0,-2,0),KRANC_GFOFFSET3D(u,0,2,0))))))
#else
# define PDstandard4th22(u) (PDstandard4th22_impl(u,pm1o12dy2,cdj,cdk))
static CCTK_REAL_VEC PDstandard4th22_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC pm1o12dy2, const ptrdiff_t cdj, const ptrdiff_t cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
static CCTK_REAL_VEC PDstandard4th22_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC pm1o12dy2, const ptrdiff_t cdj, const ptrdiff_t cdk)
{
const ptrdiff_t cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL);
- return kmul(pm1o12dy2,kadd(KRANC_GFOFFSET3D(u,0,-2,0),kadd(KRANC_GFOFFSET3D(u,0,2,0),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-1,0),KRANC_GFOFFSET3D(u,0,1,0)),ToReal(-16),kmul(KRANC_GFOFFSET3D(u,0,0,0),ToReal(30))))));
+ return kmul(pm1o12dy2,kmadd(ToReal(30),KRANC_GFOFFSET3D(u,0,0,0),kmadd(ToReal(-16),kadd(KRANC_GFOFFSET3D(u,0,-1,0),KRANC_GFOFFSET3D(u,0,1,0)),kadd(KRANC_GFOFFSET3D(u,0,-2,0),KRANC_GFOFFSET3D(u,0,2,0)))));
}
#endif
#ifndef KRANC_DIFF_FUNCTIONS
-# define PDstandard4th33(u) (kmul(pm1o12dz2,kadd(KRANC_GFOFFSET3D(u,0,0,-2),kadd(KRANC_GFOFFSET3D(u,0,0,2),kmadd(kadd(KRANC_GFOFFSET3D(u,0,0,-1),KRANC_GFOFFSET3D(u,0,0,1)),ToReal(-16),kmul(KRANC_GFOFFSET3D(u,0,0,0),ToReal(30)))))))
+# define PDstandard4th33(u) (kmul(pm1o12dz2,kmadd(ToReal(30),KRANC_GFOFFSET3D(u,0,0,0),kmadd(ToReal(-16),kadd(KRANC_GFOFFSET3D(u,0,0,-1),KRANC_GFOFFSET3D(u,0,0,1)),kadd(KRANC_GFOFFSET3D(u,0,0,-2),KRANC_GFOFFSET3D(u,0,0,2))))))
#else
# define PDstandard4th33(u) (PDstandard4th33_impl(u,pm1o12dz2,cdj,cdk))
static CCTK_REAL_VEC PDstandard4th33_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC pm1o12dz2, const ptrdiff_t cdj, const ptrdiff_t cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
@@ -218,19 +218,19 @@ static CCTK_REAL_VEC PDstandard4th33_impl(const CCTK_REAL* restrict const u, con
#endif
#ifndef KRANC_DIFF_FUNCTIONS
-# define PDstandard4th12(u) (kmul(p1o144dxdy,kadd(KRANC_GFOFFSET3D(u,-2,-2,0),kadd(KRANC_GFOFFSET3D(u,2,2,0),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,1,0),KRANC_GFOFFSET3D(u,1,-1,0)),ToReal(-64),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,-2,0),kadd(KRANC_GFOFFSET3D(u,1,2,0),kadd(KRANC_GFOFFSET3D(u,-2,-1,0),KRANC_GFOFFSET3D(u,2,1,0)))),ToReal(-8),ksub(ksub(kmadd(kadd(KRANC_GFOFFSET3D(u,-1,2,0),kadd(KRANC_GFOFFSET3D(u,1,-2,0),kadd(KRANC_GFOFFSET3D(u,-2,1,0),KRANC_GFOFFSET3D(u,2,-1,0)))),ToReal(8),kmul(kadd(KRANC_GFOFFSET3D(u,-1,-1,0),KRANC_GFOFFSET3D(u,1,1,0)),ToReal(64))),KRANC_GFOFFSET3D(u,2,-2,0)),KRANC_GFOFFSET3D(u,-2,2,0))))))))
+# define PDstandard4th12(u) (kmul(p1o144dxdy,kmadd(ToReal(-64),kadd(KRANC_GFOFFSET3D(u,-1,1,0),KRANC_GFOFFSET3D(u,1,-1,0)),kmadd(ToReal(64),kadd(KRANC_GFOFFSET3D(u,-1,-1,0),KRANC_GFOFFSET3D(u,1,1,0)),kmadd(ToReal(8),kadd(KRANC_GFOFFSET3D(u,-1,2,0),kadd(KRANC_GFOFFSET3D(u,1,-2,0),kadd(KRANC_GFOFFSET3D(u,-2,1,0),KRANC_GFOFFSET3D(u,2,-1,0)))),kmadd(ToReal(-8),kadd(KRANC_GFOFFSET3D(u,-1,-2,0),kadd(KRANC_GFOFFSET3D(u,1,2,0),kadd(KRANC_GFOFFSET3D(u,-2,-1,0),KRANC_GFOFFSET3D(u,2,1,0)))),kadd(KRANC_GFOFFSET3D(u,-2,-2,0),ksub(ksub(KRANC_GFOFFSET3D(u,2,2,0),KRANC_GFOFFSET3D(u,2,-2,0)),KRANC_GFOFFSET3D(u,-2,2,0)))))))))
#else
# define PDstandard4th12(u) (PDstandard4th12_impl(u,p1o144dxdy,cdj,cdk))
static CCTK_REAL_VEC PDstandard4th12_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o144dxdy, const ptrdiff_t cdj, const ptrdiff_t cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
static CCTK_REAL_VEC PDstandard4th12_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o144dxdy, const ptrdiff_t cdj, const ptrdiff_t cdk)
{
const ptrdiff_t cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL);
- return kmul(p1o144dxdy,kadd(KRANC_GFOFFSET3D(u,-2,-2,0),kadd(KRANC_GFOFFSET3D(u,2,2,0),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,1,0),KRANC_GFOFFSET3D(u,1,-1,0)),ToReal(-64),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,-2,0),kadd(KRANC_GFOFFSET3D(u,1,2,0),kadd(KRANC_GFOFFSET3D(u,-2,-1,0),KRANC_GFOFFSET3D(u,2,1,0)))),ToReal(-8),ksub(ksub(kmadd(kadd(KRANC_GFOFFSET3D(u,-1,2,0),kadd(KRANC_GFOFFSET3D(u,1,-2,0),kadd(KRANC_GFOFFSET3D(u,-2,1,0),KRANC_GFOFFSET3D(u,2,-1,0)))),ToReal(8),kmul(kadd(KRANC_GFOFFSET3D(u,-1,-1,0),KRANC_GFOFFSET3D(u,1,1,0)),ToReal(64))),KRANC_GFOFFSET3D(u,2,-2,0)),KRANC_GFOFFSET3D(u,-2,2,0)))))));
+ return kmul(p1o144dxdy,kmadd(ToReal(-64),kadd(KRANC_GFOFFSET3D(u,-1,1,0),KRANC_GFOFFSET3D(u,1,-1,0)),kmadd(ToReal(64),kadd(KRANC_GFOFFSET3D(u,-1,-1,0),KRANC_GFOFFSET3D(u,1,1,0)),kmadd(ToReal(8),kadd(KRANC_GFOFFSET3D(u,-1,2,0),kadd(KRANC_GFOFFSET3D(u,1,-2,0),kadd(KRANC_GFOFFSET3D(u,-2,1,0),KRANC_GFOFFSET3D(u,2,-1,0)))),kmadd(ToReal(-8),kadd(KRANC_GFOFFSET3D(u,-1,-2,0),kadd(KRANC_GFOFFSET3D(u,1,2,0),kadd(KRANC_GFOFFSET3D(u,-2,-1,0),KRANC_GFOFFSET3D(u,2,1,0)))),kadd(KRANC_GFOFFSET3D(u,-2,-2,0),ksub(ksub(KRANC_GFOFFSET3D(u,2,2,0),KRANC_GFOFFSET3D(u,2,-2,0)),KRANC_GFOFFSET3D(u,-2,2,0))))))));
}
#endif
#ifndef KRANC_DIFF_FUNCTIONS
-# define PDstandard4th13(u) (kmul(p1o144dxdz,kadd(KRANC_GFOFFSET3D(u,-2,0,-2),kadd(KRANC_GFOFFSET3D(u,2,0,2),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,0,1),KRANC_GFOFFSET3D(u,1,0,-1)),ToReal(-64),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,0,-2),kadd(KRANC_GFOFFSET3D(u,1,0,2),kadd(KRANC_GFOFFSET3D(u,-2,0,-1),KRANC_GFOFFSET3D(u,2,0,1)))),ToReal(-8),ksub(ksub(kmadd(kadd(KRANC_GFOFFSET3D(u,-1,0,2),kadd(KRANC_GFOFFSET3D(u,1,0,-2),kadd(KRANC_GFOFFSET3D(u,-2,0,1),KRANC_GFOFFSET3D(u,2,0,-1)))),ToReal(8),kmul(kadd(KRANC_GFOFFSET3D(u,-1,0,-1),KRANC_GFOFFSET3D(u,1,0,1)),ToReal(64))),KRANC_GFOFFSET3D(u,2,0,-2)),KRANC_GFOFFSET3D(u,-2,0,2))))))))
+# define PDstandard4th13(u) (kmul(p1o144dxdz,kmadd(ToReal(-64),kadd(KRANC_GFOFFSET3D(u,-1,0,1),KRANC_GFOFFSET3D(u,1,0,-1)),kmadd(ToReal(64),kadd(KRANC_GFOFFSET3D(u,-1,0,-1),KRANC_GFOFFSET3D(u,1,0,1)),kmadd(ToReal(8),kadd(KRANC_GFOFFSET3D(u,-1,0,2),kadd(KRANC_GFOFFSET3D(u,1,0,-2),kadd(KRANC_GFOFFSET3D(u,-2,0,1),KRANC_GFOFFSET3D(u,2,0,-1)))),kmadd(ToReal(-8),kadd(KRANC_GFOFFSET3D(u,-1,0,-2),kadd(KRANC_GFOFFSET3D(u,1,0,2),kadd(KRANC_GFOFFSET3D(u,-2,0,-1),KRANC_GFOFFSET3D(u,2,0,1)))),kadd(KRANC_GFOFFSET3D(u,-2,0,-2),ksub(ksub(KRANC_GFOFFSET3D(u,2,0,2),KRANC_GFOFFSET3D(u,2,0,-2)),KRANC_GFOFFSET3D(u,-2,0,2)))))))))
#else
# define PDstandard4th13(u) (PDstandard4th13_impl(u,p1o144dxdz,cdj,cdk))
static CCTK_REAL_VEC PDstandard4th13_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o144dxdz, const ptrdiff_t cdj, const ptrdiff_t cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
@@ -242,7 +242,7 @@ static CCTK_REAL_VEC PDstandard4th13_impl(const CCTK_REAL* restrict const u, con
#endif
#ifndef KRANC_DIFF_FUNCTIONS
-# define PDstandard4th21(u) (kmul(p1o144dxdy,kadd(KRANC_GFOFFSET3D(u,-2,-2,0),kadd(KRANC_GFOFFSET3D(u,2,2,0),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,1,0),KRANC_GFOFFSET3D(u,1,-1,0)),ToReal(-64),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,-2,0),kadd(KRANC_GFOFFSET3D(u,1,2,0),kadd(KRANC_GFOFFSET3D(u,-2,-1,0),KRANC_GFOFFSET3D(u,2,1,0)))),ToReal(-8),ksub(ksub(kmadd(kadd(KRANC_GFOFFSET3D(u,-1,2,0),kadd(KRANC_GFOFFSET3D(u,1,-2,0),kadd(KRANC_GFOFFSET3D(u,-2,1,0),KRANC_GFOFFSET3D(u,2,-1,0)))),ToReal(8),kmul(kadd(KRANC_GFOFFSET3D(u,-1,-1,0),KRANC_GFOFFSET3D(u,1,1,0)),ToReal(64))),KRANC_GFOFFSET3D(u,2,-2,0)),KRANC_GFOFFSET3D(u,-2,2,0))))))))
+# define PDstandard4th21(u) (kmul(p1o144dxdy,kmadd(ToReal(-64),kadd(KRANC_GFOFFSET3D(u,-1,1,0),KRANC_GFOFFSET3D(u,1,-1,0)),kmadd(ToReal(64),kadd(KRANC_GFOFFSET3D(u,-1,-1,0),KRANC_GFOFFSET3D(u,1,1,0)),kmadd(ToReal(8),kadd(KRANC_GFOFFSET3D(u,-1,2,0),kadd(KRANC_GFOFFSET3D(u,1,-2,0),kadd(KRANC_GFOFFSET3D(u,-2,1,0),KRANC_GFOFFSET3D(u,2,-1,0)))),kmadd(ToReal(-8),kadd(KRANC_GFOFFSET3D(u,-1,-2,0),kadd(KRANC_GFOFFSET3D(u,1,2,0),kadd(KRANC_GFOFFSET3D(u,-2,-1,0),KRANC_GFOFFSET3D(u,2,1,0)))),kadd(KRANC_GFOFFSET3D(u,-2,-2,0),ksub(ksub(KRANC_GFOFFSET3D(u,2,2,0),KRANC_GFOFFSET3D(u,2,-2,0)),KRANC_GFOFFSET3D(u,-2,2,0)))))))))
#else
# define PDstandard4th21(u) (PDstandard4th21_impl(u,p1o144dxdy,cdj,cdk))
static CCTK_REAL_VEC PDstandard4th21_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o144dxdy, const ptrdiff_t cdj, const ptrdiff_t cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
@@ -254,19 +254,19 @@ static CCTK_REAL_VEC PDstandard4th21_impl(const CCTK_REAL* restrict const u, con
#endif
#ifndef KRANC_DIFF_FUNCTIONS
-# define PDstandard4th23(u) (kmul(p1o144dydz,kadd(KRANC_GFOFFSET3D(u,0,-2,-2),kadd(KRANC_GFOFFSET3D(u,0,2,2),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-1,1),KRANC_GFOFFSET3D(u,0,1,-1)),ToReal(-64),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-1,-2),kadd(KRANC_GFOFFSET3D(u,0,1,2),kadd(KRANC_GFOFFSET3D(u,0,-2,-1),KRANC_GFOFFSET3D(u,0,2,1)))),ToReal(-8),ksub(ksub(kmadd(kadd(KRANC_GFOFFSET3D(u,0,-1,2),kadd(KRANC_GFOFFSET3D(u,0,1,-2),kadd(KRANC_GFOFFSET3D(u,0,-2,1),KRANC_GFOFFSET3D(u,0,2,-1)))),ToReal(8),kmul(kadd(KRANC_GFOFFSET3D(u,0,-1,-1),KRANC_GFOFFSET3D(u,0,1,1)),ToReal(64))),KRANC_GFOFFSET3D(u,0,2,-2)),KRANC_GFOFFSET3D(u,0,-2,2))))))))
+# define PDstandard4th23(u) (kmul(p1o144dydz,kmadd(ToReal(-64),kadd(KRANC_GFOFFSET3D(u,0,-1,1),KRANC_GFOFFSET3D(u,0,1,-1)),kmadd(ToReal(64),kadd(KRANC_GFOFFSET3D(u,0,-1,-1),KRANC_GFOFFSET3D(u,0,1,1)),kmadd(ToReal(8),kadd(KRANC_GFOFFSET3D(u,0,-1,2),kadd(KRANC_GFOFFSET3D(u,0,1,-2),kadd(KRANC_GFOFFSET3D(u,0,-2,1),KRANC_GFOFFSET3D(u,0,2,-1)))),kmadd(ToReal(-8),kadd(KRANC_GFOFFSET3D(u,0,-1,-2),kadd(KRANC_GFOFFSET3D(u,0,1,2),kadd(KRANC_GFOFFSET3D(u,0,-2,-1),KRANC_GFOFFSET3D(u,0,2,1)))),kadd(KRANC_GFOFFSET3D(u,0,-2,-2),ksub(ksub(KRANC_GFOFFSET3D(u,0,2,2),KRANC_GFOFFSET3D(u,0,2,-2)),KRANC_GFOFFSET3D(u,0,-2,2)))))))))
#else
# define PDstandard4th23(u) (PDstandard4th23_impl(u,p1o144dydz,cdj,cdk))
static CCTK_REAL_VEC PDstandard4th23_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o144dydz, const ptrdiff_t cdj, const ptrdiff_t cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
static CCTK_REAL_VEC PDstandard4th23_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o144dydz, const ptrdiff_t cdj, const ptrdiff_t cdk)
{
const ptrdiff_t cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL);
- return kmul(p1o144dydz,kadd(KRANC_GFOFFSET3D(u,0,-2,-2),kadd(KRANC_GFOFFSET3D(u,0,2,2),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-1,1),KRANC_GFOFFSET3D(u,0,1,-1)),ToReal(-64),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-1,-2),kadd(KRANC_GFOFFSET3D(u,0,1,2),kadd(KRANC_GFOFFSET3D(u,0,-2,-1),KRANC_GFOFFSET3D(u,0,2,1)))),ToReal(-8),ksub(ksub(kmadd(kadd(KRANC_GFOFFSET3D(u,0,-1,2),kadd(KRANC_GFOFFSET3D(u,0,1,-2),kadd(KRANC_GFOFFSET3D(u,0,-2,1),KRANC_GFOFFSET3D(u,0,2,-1)))),ToReal(8),kmul(kadd(KRANC_GFOFFSET3D(u,0,-1,-1),KRANC_GFOFFSET3D(u,0,1,1)),ToReal(64))),KRANC_GFOFFSET3D(u,0,2,-2)),KRANC_GFOFFSET3D(u,0,-2,2)))))));
+ return kmul(p1o144dydz,kmadd(ToReal(-64),kadd(KRANC_GFOFFSET3D(u,0,-1,1),KRANC_GFOFFSET3D(u,0,1,-1)),kmadd(ToReal(64),kadd(KRANC_GFOFFSET3D(u,0,-1,-1),KRANC_GFOFFSET3D(u,0,1,1)),kmadd(ToReal(8),kadd(KRANC_GFOFFSET3D(u,0,-1,2),kadd(KRANC_GFOFFSET3D(u,0,1,-2),kadd(KRANC_GFOFFSET3D(u,0,-2,1),KRANC_GFOFFSET3D(u,0,2,-1)))),kmadd(ToReal(-8),kadd(KRANC_GFOFFSET3D(u,0,-1,-2),kadd(KRANC_GFOFFSET3D(u,0,1,2),kadd(KRANC_GFOFFSET3D(u,0,-2,-1),KRANC_GFOFFSET3D(u,0,2,1)))),kadd(KRANC_GFOFFSET3D(u,0,-2,-2),ksub(ksub(KRANC_GFOFFSET3D(u,0,2,2),KRANC_GFOFFSET3D(u,0,2,-2)),KRANC_GFOFFSET3D(u,0,-2,2))))))));
}
#endif
#ifndef KRANC_DIFF_FUNCTIONS
-# define PDstandard4th31(u) (kmul(p1o144dxdz,kadd(KRANC_GFOFFSET3D(u,-2,0,-2),kadd(KRANC_GFOFFSET3D(u,2,0,2),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,0,1),KRANC_GFOFFSET3D(u,1,0,-1)),ToReal(-64),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,0,-2),kadd(KRANC_GFOFFSET3D(u,1,0,2),kadd(KRANC_GFOFFSET3D(u,-2,0,-1),KRANC_GFOFFSET3D(u,2,0,1)))),ToReal(-8),ksub(ksub(kmadd(kadd(KRANC_GFOFFSET3D(u,-1,0,2),kadd(KRANC_GFOFFSET3D(u,1,0,-2),kadd(KRANC_GFOFFSET3D(u,-2,0,1),KRANC_GFOFFSET3D(u,2,0,-1)))),ToReal(8),kmul(kadd(KRANC_GFOFFSET3D(u,-1,0,-1),KRANC_GFOFFSET3D(u,1,0,1)),ToReal(64))),KRANC_GFOFFSET3D(u,2,0,-2)),KRANC_GFOFFSET3D(u,-2,0,2))))))))
+# define PDstandard4th31(u) (kmul(p1o144dxdz,kmadd(ToReal(-64),kadd(KRANC_GFOFFSET3D(u,-1,0,1),KRANC_GFOFFSET3D(u,1,0,-1)),kmadd(ToReal(64),kadd(KRANC_GFOFFSET3D(u,-1,0,-1),KRANC_GFOFFSET3D(u,1,0,1)),kmadd(ToReal(8),kadd(KRANC_GFOFFSET3D(u,-1,0,2),kadd(KRANC_GFOFFSET3D(u,1,0,-2),kadd(KRANC_GFOFFSET3D(u,-2,0,1),KRANC_GFOFFSET3D(u,2,0,-1)))),kmadd(ToReal(-8),kadd(KRANC_GFOFFSET3D(u,-1,0,-2),kadd(KRANC_GFOFFSET3D(u,1,0,2),kadd(KRANC_GFOFFSET3D(u,-2,0,-1),KRANC_GFOFFSET3D(u,2,0,1)))),kadd(KRANC_GFOFFSET3D(u,-2,0,-2),ksub(ksub(KRANC_GFOFFSET3D(u,2,0,2),KRANC_GFOFFSET3D(u,2,0,-2)),KRANC_GFOFFSET3D(u,-2,0,2)))))))))
#else
# define PDstandard4th31(u) (PDstandard4th31_impl(u,p1o144dxdz,cdj,cdk))
static CCTK_REAL_VEC PDstandard4th31_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o144dxdz, const ptrdiff_t cdj, const ptrdiff_t cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
@@ -278,7 +278,7 @@ static CCTK_REAL_VEC PDstandard4th31_impl(const CCTK_REAL* restrict const u, con
#endif
#ifndef KRANC_DIFF_FUNCTIONS
-# define PDstandard4th32(u) (kmul(p1o144dydz,kadd(KRANC_GFOFFSET3D(u,0,-2,-2),kadd(KRANC_GFOFFSET3D(u,0,2,2),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-1,1),KRANC_GFOFFSET3D(u,0,1,-1)),ToReal(-64),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-1,-2),kadd(KRANC_GFOFFSET3D(u,0,1,2),kadd(KRANC_GFOFFSET3D(u,0,-2,-1),KRANC_GFOFFSET3D(u,0,2,1)))),ToReal(-8),ksub(ksub(kmadd(kadd(KRANC_GFOFFSET3D(u,0,-1,2),kadd(KRANC_GFOFFSET3D(u,0,1,-2),kadd(KRANC_GFOFFSET3D(u,0,-2,1),KRANC_GFOFFSET3D(u,0,2,-1)))),ToReal(8),kmul(kadd(KRANC_GFOFFSET3D(u,0,-1,-1),KRANC_GFOFFSET3D(u,0,1,1)),ToReal(64))),KRANC_GFOFFSET3D(u,0,2,-2)),KRANC_GFOFFSET3D(u,0,-2,2))))))))
+# define PDstandard4th32(u) (kmul(p1o144dydz,kmadd(ToReal(-64),kadd(KRANC_GFOFFSET3D(u,0,-1,1),KRANC_GFOFFSET3D(u,0,1,-1)),kmadd(ToReal(64),kadd(KRANC_GFOFFSET3D(u,0,-1,-1),KRANC_GFOFFSET3D(u,0,1,1)),kmadd(ToReal(8),kadd(KRANC_GFOFFSET3D(u,0,-1,2),kadd(KRANC_GFOFFSET3D(u,0,1,-2),kadd(KRANC_GFOFFSET3D(u,0,-2,1),KRANC_GFOFFSET3D(u,0,2,-1)))),kmadd(ToReal(-8),kadd(KRANC_GFOFFSET3D(u,0,-1,-2),kadd(KRANC_GFOFFSET3D(u,0,1,2),kadd(KRANC_GFOFFSET3D(u,0,-2,-1),KRANC_GFOFFSET3D(u,0,2,1)))),kadd(KRANC_GFOFFSET3D(u,0,-2,-2),ksub(ksub(KRANC_GFOFFSET3D(u,0,2,2),KRANC_GFOFFSET3D(u,0,2,-2)),KRANC_GFOFFSET3D(u,0,-2,2)))))))))
#else
# define PDstandard4th32(u) (PDstandard4th32_impl(u,p1o144dydz,cdj,cdk))
static CCTK_REAL_VEC PDstandard4th32_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o144dydz, const ptrdiff_t cdj, const ptrdiff_t cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
@@ -326,31 +326,31 @@ static CCTK_REAL_VEC PDstandardfdOrder23_impl(const CCTK_REAL* restrict const u,
#endif
#ifndef KRANC_DIFF_FUNCTIONS
-# define PDstandardfdOrder41(u) (kmul(p1o12dx,kadd(KRANC_GFOFFSET3D(u,-2,0,0),kmadd(KRANC_GFOFFSET3D(u,-1,0,0),ToReal(-8),kmsub(KRANC_GFOFFSET3D(u,1,0,0),ToReal(8),KRANC_GFOFFSET3D(u,2,0,0))))))
+# define PDstandardfdOrder41(u) (kmul(p1o12dx,kmadd(ToReal(-8),KRANC_GFOFFSET3D(u,-1,0,0),kmadd(ToReal(8),KRANC_GFOFFSET3D(u,1,0,0),ksub(KRANC_GFOFFSET3D(u,-2,0,0),KRANC_GFOFFSET3D(u,2,0,0))))))
#else
# define PDstandardfdOrder41(u) (PDstandardfdOrder41_impl(u,p1o12dx,cdj,cdk))
static CCTK_REAL_VEC PDstandardfdOrder41_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o12dx, const ptrdiff_t cdj, const ptrdiff_t cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
static CCTK_REAL_VEC PDstandardfdOrder41_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o12dx, const ptrdiff_t cdj, const ptrdiff_t cdk)
{
const ptrdiff_t cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL);
- return kmul(p1o12dx,kadd(KRANC_GFOFFSET3D(u,-2,0,0),kmadd(KRANC_GFOFFSET3D(u,-1,0,0),ToReal(-8),kmsub(KRANC_GFOFFSET3D(u,1,0,0),ToReal(8),KRANC_GFOFFSET3D(u,2,0,0)))));
+ return kmul(p1o12dx,kmadd(ToReal(-8),KRANC_GFOFFSET3D(u,-1,0,0),kmadd(ToReal(8),KRANC_GFOFFSET3D(u,1,0,0),ksub(KRANC_GFOFFSET3D(u,-2,0,0),KRANC_GFOFFSET3D(u,2,0,0)))));
}
#endif
#ifndef KRANC_DIFF_FUNCTIONS
-# define PDstandardfdOrder42(u) (kmul(p1o12dy,kadd(KRANC_GFOFFSET3D(u,0,-2,0),kmadd(KRANC_GFOFFSET3D(u,0,-1,0),ToReal(-8),kmsub(KRANC_GFOFFSET3D(u,0,1,0),ToReal(8),KRANC_GFOFFSET3D(u,0,2,0))))))
+# define PDstandardfdOrder42(u) (kmul(p1o12dy,kmadd(ToReal(-8),KRANC_GFOFFSET3D(u,0,-1,0),kmadd(ToReal(8),KRANC_GFOFFSET3D(u,0,1,0),ksub(KRANC_GFOFFSET3D(u,0,-2,0),KRANC_GFOFFSET3D(u,0,2,0))))))
#else
# define PDstandardfdOrder42(u) (PDstandardfdOrder42_impl(u,p1o12dy,cdj,cdk))
static CCTK_REAL_VEC PDstandardfdOrder42_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o12dy, const ptrdiff_t cdj, const ptrdiff_t cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
static CCTK_REAL_VEC PDstandardfdOrder42_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o12dy, const ptrdiff_t cdj, const ptrdiff_t cdk)
{
const ptrdiff_t cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL);
- return kmul(p1o12dy,kadd(KRANC_GFOFFSET3D(u,0,-2,0),kmadd(KRANC_GFOFFSET3D(u,0,-1,0),ToReal(-8),kmsub(KRANC_GFOFFSET3D(u,0,1,0),ToReal(8),KRANC_GFOFFSET3D(u,0,2,0)))));
+ return kmul(p1o12dy,kmadd(ToReal(-8),KRANC_GFOFFSET3D(u,0,-1,0),kmadd(ToReal(8),KRANC_GFOFFSET3D(u,0,1,0),ksub(KRANC_GFOFFSET3D(u,0,-2,0),KRANC_GFOFFSET3D(u,0,2,0)))));
}
#endif
#ifndef KRANC_DIFF_FUNCTIONS
-# define PDstandardfdOrder43(u) (kmul(p1o12dz,kadd(KRANC_GFOFFSET3D(u,0,0,-2),kmadd(KRANC_GFOFFSET3D(u,0,0,-1),ToReal(-8),kmsub(KRANC_GFOFFSET3D(u,0,0,1),ToReal(8),KRANC_GFOFFSET3D(u,0,0,2))))))
+# define PDstandardfdOrder43(u) (kmul(p1o12dz,kmadd(ToReal(-8),KRANC_GFOFFSET3D(u,0,0,-1),kmadd(ToReal(8),KRANC_GFOFFSET3D(u,0,0,1),ksub(KRANC_GFOFFSET3D(u,0,0,-2),KRANC_GFOFFSET3D(u,0,0,2))))))
#else
# define PDstandardfdOrder43(u) (PDstandardfdOrder43_impl(u,p1o12dz,cdj,cdk))
static CCTK_REAL_VEC PDstandardfdOrder43_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o12dz, const ptrdiff_t cdj, const ptrdiff_t cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
@@ -362,31 +362,31 @@ static CCTK_REAL_VEC PDstandardfdOrder43_impl(const CCTK_REAL* restrict const u,
#endif
#ifndef KRANC_DIFF_FUNCTIONS
-# define PDstandardfdOrder61(u) (kmul(p1o60dx,kadd(KRANC_GFOFFSET3D(u,3,0,0),kmadd(KRANC_GFOFFSET3D(u,-1,0,0),ToReal(-45),kmadd(KRANC_GFOFFSET3D(u,2,0,0),ToReal(-9),ksub(kmadd(KRANC_GFOFFSET3D(u,-2,0,0),ToReal(9),kmul(KRANC_GFOFFSET3D(u,1,0,0),ToReal(45))),KRANC_GFOFFSET3D(u,-3,0,0)))))))
+# define PDstandardfdOrder61(u) (kmul(p1o60dx,kmadd(ToReal(-45),KRANC_GFOFFSET3D(u,-1,0,0),kmadd(ToReal(45),KRANC_GFOFFSET3D(u,1,0,0),kmadd(ToReal(9),KRANC_GFOFFSET3D(u,-2,0,0),kmadd(ToReal(-9),KRANC_GFOFFSET3D(u,2,0,0),ksub(KRANC_GFOFFSET3D(u,3,0,0),KRANC_GFOFFSET3D(u,-3,0,0))))))))
#else
# define PDstandardfdOrder61(u) (PDstandardfdOrder61_impl(u,p1o60dx,cdj,cdk))
static CCTK_REAL_VEC PDstandardfdOrder61_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o60dx, const ptrdiff_t cdj, const ptrdiff_t cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
static CCTK_REAL_VEC PDstandardfdOrder61_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o60dx, const ptrdiff_t cdj, const ptrdiff_t cdk)
{
const ptrdiff_t cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL);
- return kmul(p1o60dx,kadd(KRANC_GFOFFSET3D(u,3,0,0),kmadd(KRANC_GFOFFSET3D(u,-1,0,0),ToReal(-45),kmadd(KRANC_GFOFFSET3D(u,2,0,0),ToReal(-9),ksub(kmadd(KRANC_GFOFFSET3D(u,-2,0,0),ToReal(9),kmul(KRANC_GFOFFSET3D(u,1,0,0),ToReal(45))),KRANC_GFOFFSET3D(u,-3,0,0))))));
+ return kmul(p1o60dx,kmadd(ToReal(-45),KRANC_GFOFFSET3D(u,-1,0,0),kmadd(ToReal(45),KRANC_GFOFFSET3D(u,1,0,0),kmadd(ToReal(9),KRANC_GFOFFSET3D(u,-2,0,0),kmadd(ToReal(-9),KRANC_GFOFFSET3D(u,2,0,0),ksub(KRANC_GFOFFSET3D(u,3,0,0),KRANC_GFOFFSET3D(u,-3,0,0)))))));
}
#endif
#ifndef KRANC_DIFF_FUNCTIONS
-# define PDstandardfdOrder62(u) (kmul(p1o60dy,kadd(KRANC_GFOFFSET3D(u,0,3,0),kmadd(KRANC_GFOFFSET3D(u,0,-1,0),ToReal(-45),kmadd(KRANC_GFOFFSET3D(u,0,2,0),ToReal(-9),ksub(kmadd(KRANC_GFOFFSET3D(u,0,-2,0),ToReal(9),kmul(KRANC_GFOFFSET3D(u,0,1,0),ToReal(45))),KRANC_GFOFFSET3D(u,0,-3,0)))))))
+# define PDstandardfdOrder62(u) (kmul(p1o60dy,kmadd(ToReal(-45),KRANC_GFOFFSET3D(u,0,-1,0),kmadd(ToReal(45),KRANC_GFOFFSET3D(u,0,1,0),kmadd(ToReal(9),KRANC_GFOFFSET3D(u,0,-2,0),kmadd(ToReal(-9),KRANC_GFOFFSET3D(u,0,2,0),ksub(KRANC_GFOFFSET3D(u,0,3,0),KRANC_GFOFFSET3D(u,0,-3,0))))))))
#else
# define PDstandardfdOrder62(u) (PDstandardfdOrder62_impl(u,p1o60dy,cdj,cdk))
static CCTK_REAL_VEC PDstandardfdOrder62_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o60dy, const ptrdiff_t cdj, const ptrdiff_t cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
static CCTK_REAL_VEC PDstandardfdOrder62_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o60dy, const ptrdiff_t cdj, const ptrdiff_t cdk)
{
const ptrdiff_t cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL);
- return kmul(p1o60dy,kadd(KRANC_GFOFFSET3D(u,0,3,0),kmadd(KRANC_GFOFFSET3D(u,0,-1,0),ToReal(-45),kmadd(KRANC_GFOFFSET3D(u,0,2,0),ToReal(-9),ksub(kmadd(KRANC_GFOFFSET3D(u,0,-2,0),ToReal(9),kmul(KRANC_GFOFFSET3D(u,0,1,0),ToReal(45))),KRANC_GFOFFSET3D(u,0,-3,0))))));
+ return kmul(p1o60dy,kmadd(ToReal(-45),KRANC_GFOFFSET3D(u,0,-1,0),kmadd(ToReal(45),KRANC_GFOFFSET3D(u,0,1,0),kmadd(ToReal(9),KRANC_GFOFFSET3D(u,0,-2,0),kmadd(ToReal(-9),KRANC_GFOFFSET3D(u,0,2,0),ksub(KRANC_GFOFFSET3D(u,0,3,0),KRANC_GFOFFSET3D(u,0,-3,0)))))));
}
#endif
#ifndef KRANC_DIFF_FUNCTIONS
-# define PDstandardfdOrder63(u) (kmul(p1o60dz,kadd(KRANC_GFOFFSET3D(u,0,0,3),kmadd(KRANC_GFOFFSET3D(u,0,0,-1),ToReal(-45),kmadd(KRANC_GFOFFSET3D(u,0,0,2),ToReal(-9),ksub(kmadd(KRANC_GFOFFSET3D(u,0,0,-2),ToReal(9),kmul(KRANC_GFOFFSET3D(u,0,0,1),ToReal(45))),KRANC_GFOFFSET3D(u,0,0,-3)))))))
+# define PDstandardfdOrder63(u) (kmul(p1o60dz,kmadd(ToReal(-45),KRANC_GFOFFSET3D(u,0,0,-1),kmadd(ToReal(45),KRANC_GFOFFSET3D(u,0,0,1),kmadd(ToReal(9),KRANC_GFOFFSET3D(u,0,0,-2),kmadd(ToReal(-9),KRANC_GFOFFSET3D(u,0,0,2),ksub(KRANC_GFOFFSET3D(u,0,0,3),KRANC_GFOFFSET3D(u,0,0,-3))))))))
#else
# define PDstandardfdOrder63(u) (PDstandardfdOrder63_impl(u,p1o60dz,cdj,cdk))
static CCTK_REAL_VEC PDstandardfdOrder63_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o60dz, const ptrdiff_t cdj, const ptrdiff_t cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
@@ -398,31 +398,31 @@ static CCTK_REAL_VEC PDstandardfdOrder63_impl(const CCTK_REAL* restrict const u,
#endif
#ifndef KRANC_DIFF_FUNCTIONS
-# define PDstandardfdOrder81(u) (kmul(p1o840dx,kmadd(KRANC_GFOFFSET3D(u,-1,0,0),ToReal(-672),kmadd(KRANC_GFOFFSET3D(u,2,0,0),ToReal(-168),kmadd(KRANC_GFOFFSET3D(u,-3,0,0),ToReal(-32),kmadd(KRANC_GFOFFSET3D(u,4,0,0),ToReal(-3),kmadd(KRANC_GFOFFSET3D(u,-4,0,0),ToReal(3),kmadd(KRANC_GFOFFSET3D(u,3,0,0),ToReal(32),kmadd(KRANC_GFOFFSET3D(u,-2,0,0),ToReal(168),kmul(KRANC_GFOFFSET3D(u,1,0,0),ToReal(672)))))))))))
+# define PDstandardfdOrder81(u) (kmul(p1o840dx,kmadd(ToReal(-672),KRANC_GFOFFSET3D(u,-1,0,0),kmadd(ToReal(672),KRANC_GFOFFSET3D(u,1,0,0),kmadd(ToReal(168),KRANC_GFOFFSET3D(u,-2,0,0),kmadd(ToReal(-168),KRANC_GFOFFSET3D(u,2,0,0),kmadd(ToReal(-32),KRANC_GFOFFSET3D(u,-3,0,0),kmadd(ToReal(32),KRANC_GFOFFSET3D(u,3,0,0),kmadd(ToReal(3),KRANC_GFOFFSET3D(u,-4,0,0),kmul(ToReal(-3),KRANC_GFOFFSET3D(u,4,0,0)))))))))))
#else
# define PDstandardfdOrder81(u) (PDstandardfdOrder81_impl(u,p1o840dx,cdj,cdk))
static CCTK_REAL_VEC PDstandardfdOrder81_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o840dx, const ptrdiff_t cdj, const ptrdiff_t cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
static CCTK_REAL_VEC PDstandardfdOrder81_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o840dx, const ptrdiff_t cdj, const ptrdiff_t cdk)
{
const ptrdiff_t cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL);
- return kmul(p1o840dx,kmadd(KRANC_GFOFFSET3D(u,-1,0,0),ToReal(-672),kmadd(KRANC_GFOFFSET3D(u,2,0,0),ToReal(-168),kmadd(KRANC_GFOFFSET3D(u,-3,0,0),ToReal(-32),kmadd(KRANC_GFOFFSET3D(u,4,0,0),ToReal(-3),kmadd(KRANC_GFOFFSET3D(u,-4,0,0),ToReal(3),kmadd(KRANC_GFOFFSET3D(u,3,0,0),ToReal(32),kmadd(KRANC_GFOFFSET3D(u,-2,0,0),ToReal(168),kmul(KRANC_GFOFFSET3D(u,1,0,0),ToReal(672))))))))));
+ return kmul(p1o840dx,kmadd(ToReal(-672),KRANC_GFOFFSET3D(u,-1,0,0),kmadd(ToReal(672),KRANC_GFOFFSET3D(u,1,0,0),kmadd(ToReal(168),KRANC_GFOFFSET3D(u,-2,0,0),kmadd(ToReal(-168),KRANC_GFOFFSET3D(u,2,0,0),kmadd(ToReal(-32),KRANC_GFOFFSET3D(u,-3,0,0),kmadd(ToReal(32),KRANC_GFOFFSET3D(u,3,0,0),kmadd(ToReal(3),KRANC_GFOFFSET3D(u,-4,0,0),kmul(ToReal(-3),KRANC_GFOFFSET3D(u,4,0,0))))))))));
}
#endif
#ifndef KRANC_DIFF_FUNCTIONS
-# define PDstandardfdOrder82(u) (kmul(p1o840dy,kmadd(KRANC_GFOFFSET3D(u,0,-1,0),ToReal(-672),kmadd(KRANC_GFOFFSET3D(u,0,2,0),ToReal(-168),kmadd(KRANC_GFOFFSET3D(u,0,-3,0),ToReal(-32),kmadd(KRANC_GFOFFSET3D(u,0,4,0),ToReal(-3),kmadd(KRANC_GFOFFSET3D(u,0,-4,0),ToReal(3),kmadd(KRANC_GFOFFSET3D(u,0,3,0),ToReal(32),kmadd(KRANC_GFOFFSET3D(u,0,-2,0),ToReal(168),kmul(KRANC_GFOFFSET3D(u,0,1,0),ToReal(672)))))))))))
+# define PDstandardfdOrder82(u) (kmul(p1o840dy,kmadd(ToReal(-672),KRANC_GFOFFSET3D(u,0,-1,0),kmadd(ToReal(672),KRANC_GFOFFSET3D(u,0,1,0),kmadd(ToReal(168),KRANC_GFOFFSET3D(u,0,-2,0),kmadd(ToReal(-168),KRANC_GFOFFSET3D(u,0,2,0),kmadd(ToReal(-32),KRANC_GFOFFSET3D(u,0,-3,0),kmadd(ToReal(32),KRANC_GFOFFSET3D(u,0,3,0),kmadd(ToReal(3),KRANC_GFOFFSET3D(u,0,-4,0),kmul(ToReal(-3),KRANC_GFOFFSET3D(u,0,4,0)))))))))))
#else
# define PDstandardfdOrder82(u) (PDstandardfdOrder82_impl(u,p1o840dy,cdj,cdk))
static CCTK_REAL_VEC PDstandardfdOrder82_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o840dy, const ptrdiff_t cdj, const ptrdiff_t cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
static CCTK_REAL_VEC PDstandardfdOrder82_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o840dy, const ptrdiff_t cdj, const ptrdiff_t cdk)
{
const ptrdiff_t cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL);
- return kmul(p1o840dy,kmadd(KRANC_GFOFFSET3D(u,0,-1,0),ToReal(-672),kmadd(KRANC_GFOFFSET3D(u,0,2,0),ToReal(-168),kmadd(KRANC_GFOFFSET3D(u,0,-3,0),ToReal(-32),kmadd(KRANC_GFOFFSET3D(u,0,4,0),ToReal(-3),kmadd(KRANC_GFOFFSET3D(u,0,-4,0),ToReal(3),kmadd(KRANC_GFOFFSET3D(u,0,3,0),ToReal(32),kmadd(KRANC_GFOFFSET3D(u,0,-2,0),ToReal(168),kmul(KRANC_GFOFFSET3D(u,0,1,0),ToReal(672))))))))));
+ return kmul(p1o840dy,kmadd(ToReal(-672),KRANC_GFOFFSET3D(u,0,-1,0),kmadd(ToReal(672),KRANC_GFOFFSET3D(u,0,1,0),kmadd(ToReal(168),KRANC_GFOFFSET3D(u,0,-2,0),kmadd(ToReal(-168),KRANC_GFOFFSET3D(u,0,2,0),kmadd(ToReal(-32),KRANC_GFOFFSET3D(u,0,-3,0),kmadd(ToReal(32),KRANC_GFOFFSET3D(u,0,3,0),kmadd(ToReal(3),KRANC_GFOFFSET3D(u,0,-4,0),kmul(ToReal(-3),KRANC_GFOFFSET3D(u,0,4,0))))))))));
}
#endif
#ifndef KRANC_DIFF_FUNCTIONS
-# define PDstandardfdOrder83(u) (kmul(p1o840dz,kmadd(KRANC_GFOFFSET3D(u,0,0,-1),ToReal(-672),kmadd(KRANC_GFOFFSET3D(u,0,0,2),ToReal(-168),kmadd(KRANC_GFOFFSET3D(u,0,0,-3),ToReal(-32),kmadd(KRANC_GFOFFSET3D(u,0,0,4),ToReal(-3),kmadd(KRANC_GFOFFSET3D(u,0,0,-4),ToReal(3),kmadd(KRANC_GFOFFSET3D(u,0,0,3),ToReal(32),kmadd(KRANC_GFOFFSET3D(u,0,0,-2),ToReal(168),kmul(KRANC_GFOFFSET3D(u,0,0,1),ToReal(672)))))))))))
+# define PDstandardfdOrder83(u) (kmul(p1o840dz,kmadd(ToReal(-672),KRANC_GFOFFSET3D(u,0,0,-1),kmadd(ToReal(672),KRANC_GFOFFSET3D(u,0,0,1),kmadd(ToReal(168),KRANC_GFOFFSET3D(u,0,0,-2),kmadd(ToReal(-168),KRANC_GFOFFSET3D(u,0,0,2),kmadd(ToReal(-32),KRANC_GFOFFSET3D(u,0,0,-3),kmadd(ToReal(32),KRANC_GFOFFSET3D(u,0,0,3),kmadd(ToReal(3),KRANC_GFOFFSET3D(u,0,0,-4),kmul(ToReal(-3),KRANC_GFOFFSET3D(u,0,0,4)))))))))))
#else
# define PDstandardfdOrder83(u) (PDstandardfdOrder83_impl(u,p1o840dz,cdj,cdk))
static CCTK_REAL_VEC PDstandardfdOrder83_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o840dz, const ptrdiff_t cdj, const ptrdiff_t cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
@@ -434,31 +434,31 @@ static CCTK_REAL_VEC PDstandardfdOrder83_impl(const CCTK_REAL* restrict const u,
#endif
#ifndef KRANC_DIFF_FUNCTIONS
-# define PDstandardfdOrder211(u) (kmul(p1odx2,kadd(KRANC_GFOFFSET3D(u,-1,0,0),kmadd(KRANC_GFOFFSET3D(u,0,0,0),ToReal(-2),KRANC_GFOFFSET3D(u,1,0,0)))))
+# define PDstandardfdOrder211(u) (kmul(p1odx2,kmadd(ToReal(-2),KRANC_GFOFFSET3D(u,0,0,0),kadd(KRANC_GFOFFSET3D(u,-1,0,0),KRANC_GFOFFSET3D(u,1,0,0)))))
#else
# define PDstandardfdOrder211(u) (PDstandardfdOrder211_impl(u,p1odx2,cdj,cdk))
static CCTK_REAL_VEC PDstandardfdOrder211_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1odx2, const ptrdiff_t cdj, const ptrdiff_t cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
static CCTK_REAL_VEC PDstandardfdOrder211_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1odx2, const ptrdiff_t cdj, const ptrdiff_t cdk)
{
const ptrdiff_t cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL);
- return kmul(p1odx2,kadd(KRANC_GFOFFSET3D(u,-1,0,0),kmadd(KRANC_GFOFFSET3D(u,0,0,0),ToReal(-2),KRANC_GFOFFSET3D(u,1,0,0))));
+ return kmul(p1odx2,kmadd(ToReal(-2),KRANC_GFOFFSET3D(u,0,0,0),kadd(KRANC_GFOFFSET3D(u,-1,0,0),KRANC_GFOFFSET3D(u,1,0,0))));
}
#endif
#ifndef KRANC_DIFF_FUNCTIONS
-# define PDstandardfdOrder222(u) (kmul(p1ody2,kadd(KRANC_GFOFFSET3D(u,0,-1,0),kmadd(KRANC_GFOFFSET3D(u,0,0,0),ToReal(-2),KRANC_GFOFFSET3D(u,0,1,0)))))
+# define PDstandardfdOrder222(u) (kmul(p1ody2,kmadd(ToReal(-2),KRANC_GFOFFSET3D(u,0,0,0),kadd(KRANC_GFOFFSET3D(u,0,-1,0),KRANC_GFOFFSET3D(u,0,1,0)))))
#else
# define PDstandardfdOrder222(u) (PDstandardfdOrder222_impl(u,p1ody2,cdj,cdk))
static CCTK_REAL_VEC PDstandardfdOrder222_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1ody2, const ptrdiff_t cdj, const ptrdiff_t cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
static CCTK_REAL_VEC PDstandardfdOrder222_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1ody2, const ptrdiff_t cdj, const ptrdiff_t cdk)
{
const ptrdiff_t cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL);
- return kmul(p1ody2,kadd(KRANC_GFOFFSET3D(u,0,-1,0),kmadd(KRANC_GFOFFSET3D(u,0,0,0),ToReal(-2),KRANC_GFOFFSET3D(u,0,1,0))));
+ return kmul(p1ody2,kmadd(ToReal(-2),KRANC_GFOFFSET3D(u,0,0,0),kadd(KRANC_GFOFFSET3D(u,0,-1,0),KRANC_GFOFFSET3D(u,0,1,0))));
}
#endif
#ifndef KRANC_DIFF_FUNCTIONS
-# define PDstandardfdOrder233(u) (kmul(p1odz2,kadd(KRANC_GFOFFSET3D(u,0,0,-1),kmadd(KRANC_GFOFFSET3D(u,0,0,0),ToReal(-2),KRANC_GFOFFSET3D(u,0,0,1)))))
+# define PDstandardfdOrder233(u) (kmul(p1odz2,kmadd(ToReal(-2),KRANC_GFOFFSET3D(u,0,0,0),kadd(KRANC_GFOFFSET3D(u,0,0,-1),KRANC_GFOFFSET3D(u,0,0,1)))))
#else
# define PDstandardfdOrder233(u) (PDstandardfdOrder233_impl(u,p1odz2,cdj,cdk))
static CCTK_REAL_VEC PDstandardfdOrder233_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1odz2, const ptrdiff_t cdj, const ptrdiff_t cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
@@ -470,31 +470,31 @@ static CCTK_REAL_VEC PDstandardfdOrder233_impl(const CCTK_REAL* restrict const u
#endif
#ifndef KRANC_DIFF_FUNCTIONS
-# define PDstandardfdOrder411(u) (kmul(pm1o12dx2,kadd(KRANC_GFOFFSET3D(u,-2,0,0),kadd(KRANC_GFOFFSET3D(u,2,0,0),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,0,0),KRANC_GFOFFSET3D(u,1,0,0)),ToReal(-16),kmul(KRANC_GFOFFSET3D(u,0,0,0),ToReal(30)))))))
+# define PDstandardfdOrder411(u) (kmul(pm1o12dx2,kmadd(ToReal(30),KRANC_GFOFFSET3D(u,0,0,0),kmadd(ToReal(-16),kadd(KRANC_GFOFFSET3D(u,-1,0,0),KRANC_GFOFFSET3D(u,1,0,0)),kadd(KRANC_GFOFFSET3D(u,-2,0,0),KRANC_GFOFFSET3D(u,2,0,0))))))
#else
# define PDstandardfdOrder411(u) (PDstandardfdOrder411_impl(u,pm1o12dx2,cdj,cdk))
static CCTK_REAL_VEC PDstandardfdOrder411_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC pm1o12dx2, const ptrdiff_t cdj, const ptrdiff_t cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
static CCTK_REAL_VEC PDstandardfdOrder411_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC pm1o12dx2, const ptrdiff_t cdj, const ptrdiff_t cdk)
{
const ptrdiff_t cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL);
- return kmul(pm1o12dx2,kadd(KRANC_GFOFFSET3D(u,-2,0,0),kadd(KRANC_GFOFFSET3D(u,2,0,0),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,0,0),KRANC_GFOFFSET3D(u,1,0,0)),ToReal(-16),kmul(KRANC_GFOFFSET3D(u,0,0,0),ToReal(30))))));
+ return kmul(pm1o12dx2,kmadd(ToReal(30),KRANC_GFOFFSET3D(u,0,0,0),kmadd(ToReal(-16),kadd(KRANC_GFOFFSET3D(u,-1,0,0),KRANC_GFOFFSET3D(u,1,0,0)),kadd(KRANC_GFOFFSET3D(u,-2,0,0),KRANC_GFOFFSET3D(u,2,0,0)))));
}
#endif
#ifndef KRANC_DIFF_FUNCTIONS
-# define PDstandardfdOrder422(u) (kmul(pm1o12dy2,kadd(KRANC_GFOFFSET3D(u,0,-2,0),kadd(KRANC_GFOFFSET3D(u,0,2,0),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-1,0),KRANC_GFOFFSET3D(u,0,1,0)),ToReal(-16),kmul(KRANC_GFOFFSET3D(u,0,0,0),ToReal(30)))))))
+# define PDstandardfdOrder422(u) (kmul(pm1o12dy2,kmadd(ToReal(30),KRANC_GFOFFSET3D(u,0,0,0),kmadd(ToReal(-16),kadd(KRANC_GFOFFSET3D(u,0,-1,0),KRANC_GFOFFSET3D(u,0,1,0)),kadd(KRANC_GFOFFSET3D(u,0,-2,0),KRANC_GFOFFSET3D(u,0,2,0))))))
#else
# define PDstandardfdOrder422(u) (PDstandardfdOrder422_impl(u,pm1o12dy2,cdj,cdk))
static CCTK_REAL_VEC PDstandardfdOrder422_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC pm1o12dy2, const ptrdiff_t cdj, const ptrdiff_t cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
static CCTK_REAL_VEC PDstandardfdOrder422_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC pm1o12dy2, const ptrdiff_t cdj, const ptrdiff_t cdk)
{
const ptrdiff_t cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL);
- return kmul(pm1o12dy2,kadd(KRANC_GFOFFSET3D(u,0,-2,0),kadd(KRANC_GFOFFSET3D(u,0,2,0),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-1,0),KRANC_GFOFFSET3D(u,0,1,0)),ToReal(-16),kmul(KRANC_GFOFFSET3D(u,0,0,0),ToReal(30))))));
+ return kmul(pm1o12dy2,kmadd(ToReal(30),KRANC_GFOFFSET3D(u,0,0,0),kmadd(ToReal(-16),kadd(KRANC_GFOFFSET3D(u,0,-1,0),KRANC_GFOFFSET3D(u,0,1,0)),kadd(KRANC_GFOFFSET3D(u,0,-2,0),KRANC_GFOFFSET3D(u,0,2,0)))));
}
#endif
#ifndef KRANC_DIFF_FUNCTIONS
-# define PDstandardfdOrder433(u) (kmul(pm1o12dz2,kadd(KRANC_GFOFFSET3D(u,0,0,-2),kadd(KRANC_GFOFFSET3D(u,0,0,2),kmadd(kadd(KRANC_GFOFFSET3D(u,0,0,-1),KRANC_GFOFFSET3D(u,0,0,1)),ToReal(-16),kmul(KRANC_GFOFFSET3D(u,0,0,0),ToReal(30)))))))
+# define PDstandardfdOrder433(u) (kmul(pm1o12dz2,kmadd(ToReal(30),KRANC_GFOFFSET3D(u,0,0,0),kmadd(ToReal(-16),kadd(KRANC_GFOFFSET3D(u,0,0,-1),KRANC_GFOFFSET3D(u,0,0,1)),kadd(KRANC_GFOFFSET3D(u,0,0,-2),KRANC_GFOFFSET3D(u,0,0,2))))))
#else
# define PDstandardfdOrder433(u) (PDstandardfdOrder433_impl(u,pm1o12dz2,cdj,cdk))
static CCTK_REAL_VEC PDstandardfdOrder433_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC pm1o12dz2, const ptrdiff_t cdj, const ptrdiff_t cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
@@ -506,31 +506,31 @@ static CCTK_REAL_VEC PDstandardfdOrder433_impl(const CCTK_REAL* restrict const u
#endif
#ifndef KRANC_DIFF_FUNCTIONS
-# define PDstandardfdOrder611(u) (kmul(p1o180dx2,kmadd(KRANC_GFOFFSET3D(u,0,0,0),ToReal(-490),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,0,0),KRANC_GFOFFSET3D(u,2,0,0)),ToReal(-27),kmadd(kadd(KRANC_GFOFFSET3D(u,-3,0,0),KRANC_GFOFFSET3D(u,3,0,0)),ToReal(2),kmul(kadd(KRANC_GFOFFSET3D(u,-1,0,0),KRANC_GFOFFSET3D(u,1,0,0)),ToReal(270)))))))
+# define PDstandardfdOrder611(u) (kmul(p1o180dx2,kmadd(ToReal(-490),KRANC_GFOFFSET3D(u,0,0,0),kmadd(ToReal(270),kadd(KRANC_GFOFFSET3D(u,-1,0,0),KRANC_GFOFFSET3D(u,1,0,0)),kmadd(ToReal(-27),kadd(KRANC_GFOFFSET3D(u,-2,0,0),KRANC_GFOFFSET3D(u,2,0,0)),kmul(ToReal(2),kadd(KRANC_GFOFFSET3D(u,-3,0,0),KRANC_GFOFFSET3D(u,3,0,0))))))))
#else
# define PDstandardfdOrder611(u) (PDstandardfdOrder611_impl(u,p1o180dx2,cdj,cdk))
static CCTK_REAL_VEC PDstandardfdOrder611_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o180dx2, const ptrdiff_t cdj, const ptrdiff_t cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
static CCTK_REAL_VEC PDstandardfdOrder611_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o180dx2, const ptrdiff_t cdj, const ptrdiff_t cdk)
{
const ptrdiff_t cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL);
- return kmul(p1o180dx2,kmadd(KRANC_GFOFFSET3D(u,0,0,0),ToReal(-490),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,0,0),KRANC_GFOFFSET3D(u,2,0,0)),ToReal(-27),kmadd(kadd(KRANC_GFOFFSET3D(u,-3,0,0),KRANC_GFOFFSET3D(u,3,0,0)),ToReal(2),kmul(kadd(KRANC_GFOFFSET3D(u,-1,0,0),KRANC_GFOFFSET3D(u,1,0,0)),ToReal(270))))));
+ return kmul(p1o180dx2,kmadd(ToReal(-490),KRANC_GFOFFSET3D(u,0,0,0),kmadd(ToReal(270),kadd(KRANC_GFOFFSET3D(u,-1,0,0),KRANC_GFOFFSET3D(u,1,0,0)),kmadd(ToReal(-27),kadd(KRANC_GFOFFSET3D(u,-2,0,0),KRANC_GFOFFSET3D(u,2,0,0)),kmul(ToReal(2),kadd(KRANC_GFOFFSET3D(u,-3,0,0),KRANC_GFOFFSET3D(u,3,0,0)))))));
}
#endif
#ifndef KRANC_DIFF_FUNCTIONS
-# define PDstandardfdOrder622(u) (kmul(p1o180dy2,kmadd(KRANC_GFOFFSET3D(u,0,0,0),ToReal(-490),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-2,0),KRANC_GFOFFSET3D(u,0,2,0)),ToReal(-27),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-3,0),KRANC_GFOFFSET3D(u,0,3,0)),ToReal(2),kmul(kadd(KRANC_GFOFFSET3D(u,0,-1,0),KRANC_GFOFFSET3D(u,0,1,0)),ToReal(270)))))))
+# define PDstandardfdOrder622(u) (kmul(p1o180dy2,kmadd(ToReal(-490),KRANC_GFOFFSET3D(u,0,0,0),kmadd(ToReal(270),kadd(KRANC_GFOFFSET3D(u,0,-1,0),KRANC_GFOFFSET3D(u,0,1,0)),kmadd(ToReal(-27),kadd(KRANC_GFOFFSET3D(u,0,-2,0),KRANC_GFOFFSET3D(u,0,2,0)),kmul(ToReal(2),kadd(KRANC_GFOFFSET3D(u,0,-3,0),KRANC_GFOFFSET3D(u,0,3,0))))))))
#else
# define PDstandardfdOrder622(u) (PDstandardfdOrder622_impl(u,p1o180dy2,cdj,cdk))
static CCTK_REAL_VEC PDstandardfdOrder622_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o180dy2, const ptrdiff_t cdj, const ptrdiff_t cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
static CCTK_REAL_VEC PDstandardfdOrder622_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o180dy2, const ptrdiff_t cdj, const ptrdiff_t cdk)
{
const ptrdiff_t cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL);
- return kmul(p1o180dy2,kmadd(KRANC_GFOFFSET3D(u,0,0,0),ToReal(-490),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-2,0),KRANC_GFOFFSET3D(u,0,2,0)),ToReal(-27),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-3,0),KRANC_GFOFFSET3D(u,0,3,0)),ToReal(2),kmul(kadd(KRANC_GFOFFSET3D(u,0,-1,0),KRANC_GFOFFSET3D(u,0,1,0)),ToReal(270))))));
+ return kmul(p1o180dy2,kmadd(ToReal(-490),KRANC_GFOFFSET3D(u,0,0,0),kmadd(ToReal(270),kadd(KRANC_GFOFFSET3D(u,0,-1,0),KRANC_GFOFFSET3D(u,0,1,0)),kmadd(ToReal(-27),kadd(KRANC_GFOFFSET3D(u,0,-2,0),KRANC_GFOFFSET3D(u,0,2,0)),kmul(ToReal(2),kadd(KRANC_GFOFFSET3D(u,0,-3,0),KRANC_GFOFFSET3D(u,0,3,0)))))));
}
#endif
#ifndef KRANC_DIFF_FUNCTIONS
-# define PDstandardfdOrder633(u) (kmul(p1o180dz2,kmadd(KRANC_GFOFFSET3D(u,0,0,0),ToReal(-490),kmadd(kadd(KRANC_GFOFFSET3D(u,0,0,-2),KRANC_GFOFFSET3D(u,0,0,2)),ToReal(-27),kmadd(kadd(KRANC_GFOFFSET3D(u,0,0,-3),KRANC_GFOFFSET3D(u,0,0,3)),ToReal(2),kmul(kadd(KRANC_GFOFFSET3D(u,0,0,-1),KRANC_GFOFFSET3D(u,0,0,1)),ToReal(270)))))))
+# define PDstandardfdOrder633(u) (kmul(p1o180dz2,kmadd(ToReal(-490),KRANC_GFOFFSET3D(u,0,0,0),kmadd(ToReal(270),kadd(KRANC_GFOFFSET3D(u,0,0,-1),KRANC_GFOFFSET3D(u,0,0,1)),kmadd(ToReal(-27),kadd(KRANC_GFOFFSET3D(u,0,0,-2),KRANC_GFOFFSET3D(u,0,0,2)),kmul(ToReal(2),kadd(KRANC_GFOFFSET3D(u,0,0,-3),KRANC_GFOFFSET3D(u,0,0,3))))))))
#else
# define PDstandardfdOrder633(u) (PDstandardfdOrder633_impl(u,p1o180dz2,cdj,cdk))
static CCTK_REAL_VEC PDstandardfdOrder633_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o180dz2, const ptrdiff_t cdj, const ptrdiff_t cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
@@ -542,31 +542,31 @@ static CCTK_REAL_VEC PDstandardfdOrder633_impl(const CCTK_REAL* restrict const u
#endif
#ifndef KRANC_DIFF_FUNCTIONS
-# define PDstandardfdOrder811(u) (kmul(p1o5040dx2,kmadd(KRANC_GFOFFSET3D(u,0,0,0),ToReal(-14350),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,0,0),KRANC_GFOFFSET3D(u,2,0,0)),ToReal(-1008),kmadd(kadd(KRANC_GFOFFSET3D(u,-4,0,0),KRANC_GFOFFSET3D(u,4,0,0)),ToReal(-9),kmadd(kadd(KRANC_GFOFFSET3D(u,-3,0,0),KRANC_GFOFFSET3D(u,3,0,0)),ToReal(128),kmul(kadd(KRANC_GFOFFSET3D(u,-1,0,0),KRANC_GFOFFSET3D(u,1,0,0)),ToReal(8064))))))))
+# define PDstandardfdOrder811(u) (kmul(p1o5040dx2,kmadd(ToReal(-14350),KRANC_GFOFFSET3D(u,0,0,0),kmadd(ToReal(8064),kadd(KRANC_GFOFFSET3D(u,-1,0,0),KRANC_GFOFFSET3D(u,1,0,0)),kmadd(ToReal(-1008),kadd(KRANC_GFOFFSET3D(u,-2,0,0),KRANC_GFOFFSET3D(u,2,0,0)),kmadd(ToReal(128),kadd(KRANC_GFOFFSET3D(u,-3,0,0),KRANC_GFOFFSET3D(u,3,0,0)),kmul(ToReal(-9),kadd(KRANC_GFOFFSET3D(u,-4,0,0),KRANC_GFOFFSET3D(u,4,0,0)))))))))
#else
# define PDstandardfdOrder811(u) (PDstandardfdOrder811_impl(u,p1o5040dx2,cdj,cdk))
static CCTK_REAL_VEC PDstandardfdOrder811_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o5040dx2, const ptrdiff_t cdj, const ptrdiff_t cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
static CCTK_REAL_VEC PDstandardfdOrder811_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o5040dx2, const ptrdiff_t cdj, const ptrdiff_t cdk)
{
const ptrdiff_t cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL);
- return kmul(p1o5040dx2,kmadd(KRANC_GFOFFSET3D(u,0,0,0),ToReal(-14350),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,0,0),KRANC_GFOFFSET3D(u,2,0,0)),ToReal(-1008),kmadd(kadd(KRANC_GFOFFSET3D(u,-4,0,0),KRANC_GFOFFSET3D(u,4,0,0)),ToReal(-9),kmadd(kadd(KRANC_GFOFFSET3D(u,-3,0,0),KRANC_GFOFFSET3D(u,3,0,0)),ToReal(128),kmul(kadd(KRANC_GFOFFSET3D(u,-1,0,0),KRANC_GFOFFSET3D(u,1,0,0)),ToReal(8064)))))));
+ return kmul(p1o5040dx2,kmadd(ToReal(-14350),KRANC_GFOFFSET3D(u,0,0,0),kmadd(ToReal(8064),kadd(KRANC_GFOFFSET3D(u,-1,0,0),KRANC_GFOFFSET3D(u,1,0,0)),kmadd(ToReal(-1008),kadd(KRANC_GFOFFSET3D(u,-2,0,0),KRANC_GFOFFSET3D(u,2,0,0)),kmadd(ToReal(128),kadd(KRANC_GFOFFSET3D(u,-3,0,0),KRANC_GFOFFSET3D(u,3,0,0)),kmul(ToReal(-9),kadd(KRANC_GFOFFSET3D(u,-4,0,0),KRANC_GFOFFSET3D(u,4,0,0))))))));
}
#endif
#ifndef KRANC_DIFF_FUNCTIONS
-# define PDstandardfdOrder822(u) (kmul(p1o5040dy2,kmadd(KRANC_GFOFFSET3D(u,0,0,0),ToReal(-14350),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-2,0),KRANC_GFOFFSET3D(u,0,2,0)),ToReal(-1008),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-4,0),KRANC_GFOFFSET3D(u,0,4,0)),ToReal(-9),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-3,0),KRANC_GFOFFSET3D(u,0,3,0)),ToReal(128),kmul(kadd(KRANC_GFOFFSET3D(u,0,-1,0),KRANC_GFOFFSET3D(u,0,1,0)),ToReal(8064))))))))
+# define PDstandardfdOrder822(u) (kmul(p1o5040dy2,kmadd(ToReal(-14350),KRANC_GFOFFSET3D(u,0,0,0),kmadd(ToReal(8064),kadd(KRANC_GFOFFSET3D(u,0,-1,0),KRANC_GFOFFSET3D(u,0,1,0)),kmadd(ToReal(-1008),kadd(KRANC_GFOFFSET3D(u,0,-2,0),KRANC_GFOFFSET3D(u,0,2,0)),kmadd(ToReal(128),kadd(KRANC_GFOFFSET3D(u,0,-3,0),KRANC_GFOFFSET3D(u,0,3,0)),kmul(ToReal(-9),kadd(KRANC_GFOFFSET3D(u,0,-4,0),KRANC_GFOFFSET3D(u,0,4,0)))))))))
#else
# define PDstandardfdOrder822(u) (PDstandardfdOrder822_impl(u,p1o5040dy2,cdj,cdk))
static CCTK_REAL_VEC PDstandardfdOrder822_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o5040dy2, const ptrdiff_t cdj, const ptrdiff_t cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
static CCTK_REAL_VEC PDstandardfdOrder822_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o5040dy2, const ptrdiff_t cdj, const ptrdiff_t cdk)
{
const ptrdiff_t cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL);
- return kmul(p1o5040dy2,kmadd(KRANC_GFOFFSET3D(u,0,0,0),ToReal(-14350),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-2,0),KRANC_GFOFFSET3D(u,0,2,0)),ToReal(-1008),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-4,0),KRANC_GFOFFSET3D(u,0,4,0)),ToReal(-9),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-3,0),KRANC_GFOFFSET3D(u,0,3,0)),ToReal(128),kmul(kadd(KRANC_GFOFFSET3D(u,0,-1,0),KRANC_GFOFFSET3D(u,0,1,0)),ToReal(8064)))))));
+ return kmul(p1o5040dy2,kmadd(ToReal(-14350),KRANC_GFOFFSET3D(u,0,0,0),kmadd(ToReal(8064),kadd(KRANC_GFOFFSET3D(u,0,-1,0),KRANC_GFOFFSET3D(u,0,1,0)),kmadd(ToReal(-1008),kadd(KRANC_GFOFFSET3D(u,0,-2,0),KRANC_GFOFFSET3D(u,0,2,0)),kmadd(ToReal(128),kadd(KRANC_GFOFFSET3D(u,0,-3,0),KRANC_GFOFFSET3D(u,0,3,0)),kmul(ToReal(-9),kadd(KRANC_GFOFFSET3D(u,0,-4,0),KRANC_GFOFFSET3D(u,0,4,0))))))));
}
#endif
#ifndef KRANC_DIFF_FUNCTIONS
-# define PDstandardfdOrder833(u) (kmul(p1o5040dz2,kmadd(KRANC_GFOFFSET3D(u,0,0,0),ToReal(-14350),kmadd(kadd(KRANC_GFOFFSET3D(u,0,0,-2),KRANC_GFOFFSET3D(u,0,0,2)),ToReal(-1008),kmadd(kadd(KRANC_GFOFFSET3D(u,0,0,-4),KRANC_GFOFFSET3D(u,0,0,4)),ToReal(-9),kmadd(kadd(KRANC_GFOFFSET3D(u,0,0,-3),KRANC_GFOFFSET3D(u,0,0,3)),ToReal(128),kmul(kadd(KRANC_GFOFFSET3D(u,0,0,-1),KRANC_GFOFFSET3D(u,0,0,1)),ToReal(8064))))))))
+# define PDstandardfdOrder833(u) (kmul(p1o5040dz2,kmadd(ToReal(-14350),KRANC_GFOFFSET3D(u,0,0,0),kmadd(ToReal(8064),kadd(KRANC_GFOFFSET3D(u,0,0,-1),KRANC_GFOFFSET3D(u,0,0,1)),kmadd(ToReal(-1008),kadd(KRANC_GFOFFSET3D(u,0,0,-2),KRANC_GFOFFSET3D(u,0,0,2)),kmadd(ToReal(128),kadd(KRANC_GFOFFSET3D(u,0,0,-3),KRANC_GFOFFSET3D(u,0,0,3)),kmul(ToReal(-9),kadd(KRANC_GFOFFSET3D(u,0,0,-4),KRANC_GFOFFSET3D(u,0,0,4)))))))))
#else
# define PDstandardfdOrder833(u) (PDstandardfdOrder833_impl(u,p1o5040dz2,cdj,cdk))
static CCTK_REAL_VEC PDstandardfdOrder833_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o5040dz2, const ptrdiff_t cdj, const ptrdiff_t cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
@@ -578,19 +578,19 @@ static CCTK_REAL_VEC PDstandardfdOrder833_impl(const CCTK_REAL* restrict const u
#endif
#ifndef KRANC_DIFF_FUNCTIONS
-# define PDstandardfdOrder212(u) (kmul(p1o4dxdy,kadd(KRANC_GFOFFSET3D(u,-1,-1,0),ksub(KRANC_GFOFFSET3D(u,1,1,0),kadd(KRANC_GFOFFSET3D(u,1,-1,0),KRANC_GFOFFSET3D(u,-1,1,0))))))
+# define PDstandardfdOrder212(u) (kmul(p1o4dxdy,kadd(KRANC_GFOFFSET3D(u,-1,-1,0),ksub(ksub(KRANC_GFOFFSET3D(u,1,1,0),KRANC_GFOFFSET3D(u,1,-1,0)),KRANC_GFOFFSET3D(u,-1,1,0)))))
#else
# define PDstandardfdOrder212(u) (PDstandardfdOrder212_impl(u,p1o4dxdy,cdj,cdk))
static CCTK_REAL_VEC PDstandardfdOrder212_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o4dxdy, const ptrdiff_t cdj, const ptrdiff_t cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
static CCTK_REAL_VEC PDstandardfdOrder212_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o4dxdy, const ptrdiff_t cdj, const ptrdiff_t cdk)
{
const ptrdiff_t cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL);
- return kmul(p1o4dxdy,kadd(KRANC_GFOFFSET3D(u,-1,-1,0),ksub(KRANC_GFOFFSET3D(u,1,1,0),kadd(KRANC_GFOFFSET3D(u,1,-1,0),KRANC_GFOFFSET3D(u,-1,1,0)))));
+ return kmul(p1o4dxdy,kadd(KRANC_GFOFFSET3D(u,-1,-1,0),ksub(ksub(KRANC_GFOFFSET3D(u,1,1,0),KRANC_GFOFFSET3D(u,1,-1,0)),KRANC_GFOFFSET3D(u,-1,1,0))));
}
#endif
#ifndef KRANC_DIFF_FUNCTIONS
-# define PDstandardfdOrder213(u) (kmul(p1o4dxdz,kadd(KRANC_GFOFFSET3D(u,-1,0,-1),ksub(KRANC_GFOFFSET3D(u,1,0,1),kadd(KRANC_GFOFFSET3D(u,1,0,-1),KRANC_GFOFFSET3D(u,-1,0,1))))))
+# define PDstandardfdOrder213(u) (kmul(p1o4dxdz,kadd(KRANC_GFOFFSET3D(u,-1,0,-1),ksub(ksub(KRANC_GFOFFSET3D(u,1,0,1),KRANC_GFOFFSET3D(u,1,0,-1)),KRANC_GFOFFSET3D(u,-1,0,1)))))
#else
# define PDstandardfdOrder213(u) (PDstandardfdOrder213_impl(u,p1o4dxdz,cdj,cdk))
static CCTK_REAL_VEC PDstandardfdOrder213_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o4dxdz, const ptrdiff_t cdj, const ptrdiff_t cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
@@ -602,7 +602,7 @@ static CCTK_REAL_VEC PDstandardfdOrder213_impl(const CCTK_REAL* restrict const u
#endif
#ifndef KRANC_DIFF_FUNCTIONS
-# define PDstandardfdOrder221(u) (kmul(p1o4dxdy,kadd(KRANC_GFOFFSET3D(u,-1,-1,0),ksub(KRANC_GFOFFSET3D(u,1,1,0),kadd(KRANC_GFOFFSET3D(u,1,-1,0),KRANC_GFOFFSET3D(u,-1,1,0))))))
+# define PDstandardfdOrder221(u) (kmul(p1o4dxdy,kadd(KRANC_GFOFFSET3D(u,-1,-1,0),ksub(ksub(KRANC_GFOFFSET3D(u,1,1,0),KRANC_GFOFFSET3D(u,1,-1,0)),KRANC_GFOFFSET3D(u,-1,1,0)))))
#else
# define PDstandardfdOrder221(u) (PDstandardfdOrder221_impl(u,p1o4dxdy,cdj,cdk))
static CCTK_REAL_VEC PDstandardfdOrder221_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o4dxdy, const ptrdiff_t cdj, const ptrdiff_t cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
@@ -614,19 +614,19 @@ static CCTK_REAL_VEC PDstandardfdOrder221_impl(const CCTK_REAL* restrict const u
#endif
#ifndef KRANC_DIFF_FUNCTIONS
-# define PDstandardfdOrder223(u) (kmul(p1o4dydz,kadd(KRANC_GFOFFSET3D(u,0,-1,-1),ksub(KRANC_GFOFFSET3D(u,0,1,1),kadd(KRANC_GFOFFSET3D(u,0,1,-1),KRANC_GFOFFSET3D(u,0,-1,1))))))
+# define PDstandardfdOrder223(u) (kmul(p1o4dydz,kadd(KRANC_GFOFFSET3D(u,0,-1,-1),ksub(ksub(KRANC_GFOFFSET3D(u,0,1,1),KRANC_GFOFFSET3D(u,0,1,-1)),KRANC_GFOFFSET3D(u,0,-1,1)))))
#else
# define PDstandardfdOrder223(u) (PDstandardfdOrder223_impl(u,p1o4dydz,cdj,cdk))
static CCTK_REAL_VEC PDstandardfdOrder223_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o4dydz, const ptrdiff_t cdj, const ptrdiff_t cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
static CCTK_REAL_VEC PDstandardfdOrder223_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o4dydz, const ptrdiff_t cdj, const ptrdiff_t cdk)
{
const ptrdiff_t cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL);
- return kmul(p1o4dydz,kadd(KRANC_GFOFFSET3D(u,0,-1,-1),ksub(KRANC_GFOFFSET3D(u,0,1,1),kadd(KRANC_GFOFFSET3D(u,0,1,-1),KRANC_GFOFFSET3D(u,0,-1,1)))));
+ return kmul(p1o4dydz,kadd(KRANC_GFOFFSET3D(u,0,-1,-1),ksub(ksub(KRANC_GFOFFSET3D(u,0,1,1),KRANC_GFOFFSET3D(u,0,1,-1)),KRANC_GFOFFSET3D(u,0,-1,1))));
}
#endif
#ifndef KRANC_DIFF_FUNCTIONS
-# define PDstandardfdOrder231(u) (kmul(p1o4dxdz,kadd(KRANC_GFOFFSET3D(u,-1,0,-1),ksub(KRANC_GFOFFSET3D(u,1,0,1),kadd(KRANC_GFOFFSET3D(u,1,0,-1),KRANC_GFOFFSET3D(u,-1,0,1))))))
+# define PDstandardfdOrder231(u) (kmul(p1o4dxdz,kadd(KRANC_GFOFFSET3D(u,-1,0,-1),ksub(ksub(KRANC_GFOFFSET3D(u,1,0,1),KRANC_GFOFFSET3D(u,1,0,-1)),KRANC_GFOFFSET3D(u,-1,0,1)))))
#else
# define PDstandardfdOrder231(u) (PDstandardfdOrder231_impl(u,p1o4dxdz,cdj,cdk))
static CCTK_REAL_VEC PDstandardfdOrder231_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o4dxdz, const ptrdiff_t cdj, const ptrdiff_t cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
@@ -638,7 +638,7 @@ static CCTK_REAL_VEC PDstandardfdOrder231_impl(const CCTK_REAL* restrict const u
#endif
#ifndef KRANC_DIFF_FUNCTIONS
-# define PDstandardfdOrder232(u) (kmul(p1o4dydz,kadd(KRANC_GFOFFSET3D(u,0,-1,-1),ksub(KRANC_GFOFFSET3D(u,0,1,1),kadd(KRANC_GFOFFSET3D(u,0,1,-1),KRANC_GFOFFSET3D(u,0,-1,1))))))
+# define PDstandardfdOrder232(u) (kmul(p1o4dydz,kadd(KRANC_GFOFFSET3D(u,0,-1,-1),ksub(ksub(KRANC_GFOFFSET3D(u,0,1,1),KRANC_GFOFFSET3D(u,0,1,-1)),KRANC_GFOFFSET3D(u,0,-1,1)))))
#else
# define PDstandardfdOrder232(u) (PDstandardfdOrder232_impl(u,p1o4dydz,cdj,cdk))
static CCTK_REAL_VEC PDstandardfdOrder232_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o4dydz, const ptrdiff_t cdj, const ptrdiff_t cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
@@ -650,19 +650,19 @@ static CCTK_REAL_VEC PDstandardfdOrder232_impl(const CCTK_REAL* restrict const u
#endif
#ifndef KRANC_DIFF_FUNCTIONS
-# define PDstandardfdOrder412(u) (kmul(p1o144dxdy,kadd(KRANC_GFOFFSET3D(u,-2,-2,0),kadd(KRANC_GFOFFSET3D(u,2,2,0),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,1,0),KRANC_GFOFFSET3D(u,1,-1,0)),ToReal(-64),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,-2,0),kadd(KRANC_GFOFFSET3D(u,1,2,0),kadd(KRANC_GFOFFSET3D(u,-2,-1,0),KRANC_GFOFFSET3D(u,2,1,0)))),ToReal(-8),ksub(ksub(kmadd(kadd(KRANC_GFOFFSET3D(u,-1,2,0),kadd(KRANC_GFOFFSET3D(u,1,-2,0),kadd(KRANC_GFOFFSET3D(u,-2,1,0),KRANC_GFOFFSET3D(u,2,-1,0)))),ToReal(8),kmul(kadd(KRANC_GFOFFSET3D(u,-1,-1,0),KRANC_GFOFFSET3D(u,1,1,0)),ToReal(64))),KRANC_GFOFFSET3D(u,2,-2,0)),KRANC_GFOFFSET3D(u,-2,2,0))))))))
+# define PDstandardfdOrder412(u) (kmul(p1o144dxdy,kmadd(ToReal(-64),kadd(KRANC_GFOFFSET3D(u,-1,1,0),KRANC_GFOFFSET3D(u,1,-1,0)),kmadd(ToReal(64),kadd(KRANC_GFOFFSET3D(u,-1,-1,0),KRANC_GFOFFSET3D(u,1,1,0)),kmadd(ToReal(8),kadd(KRANC_GFOFFSET3D(u,-1,2,0),kadd(KRANC_GFOFFSET3D(u,1,-2,0),kadd(KRANC_GFOFFSET3D(u,-2,1,0),KRANC_GFOFFSET3D(u,2,-1,0)))),kmadd(ToReal(-8),kadd(KRANC_GFOFFSET3D(u,-1,-2,0),kadd(KRANC_GFOFFSET3D(u,1,2,0),kadd(KRANC_GFOFFSET3D(u,-2,-1,0),KRANC_GFOFFSET3D(u,2,1,0)))),kadd(KRANC_GFOFFSET3D(u,-2,-2,0),ksub(ksub(KRANC_GFOFFSET3D(u,2,2,0),KRANC_GFOFFSET3D(u,2,-2,0)),KRANC_GFOFFSET3D(u,-2,2,0)))))))))
#else
# define PDstandardfdOrder412(u) (PDstandardfdOrder412_impl(u,p1o144dxdy,cdj,cdk))
static CCTK_REAL_VEC PDstandardfdOrder412_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o144dxdy, const ptrdiff_t cdj, const ptrdiff_t cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
static CCTK_REAL_VEC PDstandardfdOrder412_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o144dxdy, const ptrdiff_t cdj, const ptrdiff_t cdk)
{
const ptrdiff_t cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL);
- return kmul(p1o144dxdy,kadd(KRANC_GFOFFSET3D(u,-2,-2,0),kadd(KRANC_GFOFFSET3D(u,2,2,0),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,1,0),KRANC_GFOFFSET3D(u,1,-1,0)),ToReal(-64),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,-2,0),kadd(KRANC_GFOFFSET3D(u,1,2,0),kadd(KRANC_GFOFFSET3D(u,-2,-1,0),KRANC_GFOFFSET3D(u,2,1,0)))),ToReal(-8),ksub(ksub(kmadd(kadd(KRANC_GFOFFSET3D(u,-1,2,0),kadd(KRANC_GFOFFSET3D(u,1,-2,0),kadd(KRANC_GFOFFSET3D(u,-2,1,0),KRANC_GFOFFSET3D(u,2,-1,0)))),ToReal(8),kmul(kadd(KRANC_GFOFFSET3D(u,-1,-1,0),KRANC_GFOFFSET3D(u,1,1,0)),ToReal(64))),KRANC_GFOFFSET3D(u,2,-2,0)),KRANC_GFOFFSET3D(u,-2,2,0)))))));
+ return kmul(p1o144dxdy,kmadd(ToReal(-64),kadd(KRANC_GFOFFSET3D(u,-1,1,0),KRANC_GFOFFSET3D(u,1,-1,0)),kmadd(ToReal(64),kadd(KRANC_GFOFFSET3D(u,-1,-1,0),KRANC_GFOFFSET3D(u,1,1,0)),kmadd(ToReal(8),kadd(KRANC_GFOFFSET3D(u,-1,2,0),kadd(KRANC_GFOFFSET3D(u,1,-2,0),kadd(KRANC_GFOFFSET3D(u,-2,1,0),KRANC_GFOFFSET3D(u,2,-1,0)))),kmadd(ToReal(-8),kadd(KRANC_GFOFFSET3D(u,-1,-2,0),kadd(KRANC_GFOFFSET3D(u,1,2,0),kadd(KRANC_GFOFFSET3D(u,-2,-1,0),KRANC_GFOFFSET3D(u,2,1,0)))),kadd(KRANC_GFOFFSET3D(u,-2,-2,0),ksub(ksub(KRANC_GFOFFSET3D(u,2,2,0),KRANC_GFOFFSET3D(u,2,-2,0)),KRANC_GFOFFSET3D(u,-2,2,0))))))));
}
#endif
#ifndef KRANC_DIFF_FUNCTIONS
-# define PDstandardfdOrder413(u) (kmul(p1o144dxdz,kadd(KRANC_GFOFFSET3D(u,-2,0,-2),kadd(KRANC_GFOFFSET3D(u,2,0,2),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,0,1),KRANC_GFOFFSET3D(u,1,0,-1)),ToReal(-64),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,0,-2),kadd(KRANC_GFOFFSET3D(u,1,0,2),kadd(KRANC_GFOFFSET3D(u,-2,0,-1),KRANC_GFOFFSET3D(u,2,0,1)))),ToReal(-8),ksub(ksub(kmadd(kadd(KRANC_GFOFFSET3D(u,-1,0,2),kadd(KRANC_GFOFFSET3D(u,1,0,-2),kadd(KRANC_GFOFFSET3D(u,-2,0,1),KRANC_GFOFFSET3D(u,2,0,-1)))),ToReal(8),kmul(kadd(KRANC_GFOFFSET3D(u,-1,0,-1),KRANC_GFOFFSET3D(u,1,0,1)),ToReal(64))),KRANC_GFOFFSET3D(u,2,0,-2)),KRANC_GFOFFSET3D(u,-2,0,2))))))))
+# define PDstandardfdOrder413(u) (kmul(p1o144dxdz,kmadd(ToReal(-64),kadd(KRANC_GFOFFSET3D(u,-1,0,1),KRANC_GFOFFSET3D(u,1,0,-1)),kmadd(ToReal(64),kadd(KRANC_GFOFFSET3D(u,-1,0,-1),KRANC_GFOFFSET3D(u,1,0,1)),kmadd(ToReal(8),kadd(KRANC_GFOFFSET3D(u,-1,0,2),kadd(KRANC_GFOFFSET3D(u,1,0,-2),kadd(KRANC_GFOFFSET3D(u,-2,0,1),KRANC_GFOFFSET3D(u,2,0,-1)))),kmadd(ToReal(-8),kadd(KRANC_GFOFFSET3D(u,-1,0,-2),kadd(KRANC_GFOFFSET3D(u,1,0,2),kadd(KRANC_GFOFFSET3D(u,-2,0,-1),KRANC_GFOFFSET3D(u,2,0,1)))),kadd(KRANC_GFOFFSET3D(u,-2,0,-2),ksub(ksub(KRANC_GFOFFSET3D(u,2,0,2),KRANC_GFOFFSET3D(u,2,0,-2)),KRANC_GFOFFSET3D(u,-2,0,2)))))))))
#else
# define PDstandardfdOrder413(u) (PDstandardfdOrder413_impl(u,p1o144dxdz,cdj,cdk))
static CCTK_REAL_VEC PDstandardfdOrder413_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o144dxdz, const ptrdiff_t cdj, const ptrdiff_t cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
@@ -674,7 +674,7 @@ static CCTK_REAL_VEC PDstandardfdOrder413_impl(const CCTK_REAL* restrict const u
#endif
#ifndef KRANC_DIFF_FUNCTIONS
-# define PDstandardfdOrder421(u) (kmul(p1o144dxdy,kadd(KRANC_GFOFFSET3D(u,-2,-2,0),kadd(KRANC_GFOFFSET3D(u,2,2,0),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,1,0),KRANC_GFOFFSET3D(u,1,-1,0)),ToReal(-64),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,-2,0),kadd(KRANC_GFOFFSET3D(u,1,2,0),kadd(KRANC_GFOFFSET3D(u,-2,-1,0),KRANC_GFOFFSET3D(u,2,1,0)))),ToReal(-8),ksub(ksub(kmadd(kadd(KRANC_GFOFFSET3D(u,-1,2,0),kadd(KRANC_GFOFFSET3D(u,1,-2,0),kadd(KRANC_GFOFFSET3D(u,-2,1,0),KRANC_GFOFFSET3D(u,2,-1,0)))),ToReal(8),kmul(kadd(KRANC_GFOFFSET3D(u,-1,-1,0),KRANC_GFOFFSET3D(u,1,1,0)),ToReal(64))),KRANC_GFOFFSET3D(u,2,-2,0)),KRANC_GFOFFSET3D(u,-2,2,0))))))))
+# define PDstandardfdOrder421(u) (kmul(p1o144dxdy,kmadd(ToReal(-64),kadd(KRANC_GFOFFSET3D(u,-1,1,0),KRANC_GFOFFSET3D(u,1,-1,0)),kmadd(ToReal(64),kadd(KRANC_GFOFFSET3D(u,-1,-1,0),KRANC_GFOFFSET3D(u,1,1,0)),kmadd(ToReal(8),kadd(KRANC_GFOFFSET3D(u,-1,2,0),kadd(KRANC_GFOFFSET3D(u,1,-2,0),kadd(KRANC_GFOFFSET3D(u,-2,1,0),KRANC_GFOFFSET3D(u,2,-1,0)))),kmadd(ToReal(-8),kadd(KRANC_GFOFFSET3D(u,-1,-2,0),kadd(KRANC_GFOFFSET3D(u,1,2,0),kadd(KRANC_GFOFFSET3D(u,-2,-1,0),KRANC_GFOFFSET3D(u,2,1,0)))),kadd(KRANC_GFOFFSET3D(u,-2,-2,0),ksub(ksub(KRANC_GFOFFSET3D(u,2,2,0),KRANC_GFOFFSET3D(u,2,-2,0)),KRANC_GFOFFSET3D(u,-2,2,0)))))))))
#else
# define PDstandardfdOrder421(u) (PDstandardfdOrder421_impl(u,p1o144dxdy,cdj,cdk))
static CCTK_REAL_VEC PDstandardfdOrder421_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o144dxdy, const ptrdiff_t cdj, const ptrdiff_t cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
@@ -686,19 +686,19 @@ static CCTK_REAL_VEC PDstandardfdOrder421_impl(const CCTK_REAL* restrict const u
#endif
#ifndef KRANC_DIFF_FUNCTIONS
-# define PDstandardfdOrder423(u) (kmul(p1o144dydz,kadd(KRANC_GFOFFSET3D(u,0,-2,-2),kadd(KRANC_GFOFFSET3D(u,0,2,2),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-1,1),KRANC_GFOFFSET3D(u,0,1,-1)),ToReal(-64),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-1,-2),kadd(KRANC_GFOFFSET3D(u,0,1,2),kadd(KRANC_GFOFFSET3D(u,0,-2,-1),KRANC_GFOFFSET3D(u,0,2,1)))),ToReal(-8),ksub(ksub(kmadd(kadd(KRANC_GFOFFSET3D(u,0,-1,2),kadd(KRANC_GFOFFSET3D(u,0,1,-2),kadd(KRANC_GFOFFSET3D(u,0,-2,1),KRANC_GFOFFSET3D(u,0,2,-1)))),ToReal(8),kmul(kadd(KRANC_GFOFFSET3D(u,0,-1,-1),KRANC_GFOFFSET3D(u,0,1,1)),ToReal(64))),KRANC_GFOFFSET3D(u,0,2,-2)),KRANC_GFOFFSET3D(u,0,-2,2))))))))
+# define PDstandardfdOrder423(u) (kmul(p1o144dydz,kmadd(ToReal(-64),kadd(KRANC_GFOFFSET3D(u,0,-1,1),KRANC_GFOFFSET3D(u,0,1,-1)),kmadd(ToReal(64),kadd(KRANC_GFOFFSET3D(u,0,-1,-1),KRANC_GFOFFSET3D(u,0,1,1)),kmadd(ToReal(8),kadd(KRANC_GFOFFSET3D(u,0,-1,2),kadd(KRANC_GFOFFSET3D(u,0,1,-2),kadd(KRANC_GFOFFSET3D(u,0,-2,1),KRANC_GFOFFSET3D(u,0,2,-1)))),kmadd(ToReal(-8),kadd(KRANC_GFOFFSET3D(u,0,-1,-2),kadd(KRANC_GFOFFSET3D(u,0,1,2),kadd(KRANC_GFOFFSET3D(u,0,-2,-1),KRANC_GFOFFSET3D(u,0,2,1)))),kadd(KRANC_GFOFFSET3D(u,0,-2,-2),ksub(ksub(KRANC_GFOFFSET3D(u,0,2,2),KRANC_GFOFFSET3D(u,0,2,-2)),KRANC_GFOFFSET3D(u,0,-2,2)))))))))
#else
# define PDstandardfdOrder423(u) (PDstandardfdOrder423_impl(u,p1o144dydz,cdj,cdk))
static CCTK_REAL_VEC PDstandardfdOrder423_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o144dydz, const ptrdiff_t cdj, const ptrdiff_t cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
static CCTK_REAL_VEC PDstandardfdOrder423_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o144dydz, const ptrdiff_t cdj, const ptrdiff_t cdk)
{
const ptrdiff_t cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL);
- return kmul(p1o144dydz,kadd(KRANC_GFOFFSET3D(u,0,-2,-2),kadd(KRANC_GFOFFSET3D(u,0,2,2),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-1,1),KRANC_GFOFFSET3D(u,0,1,-1)),ToReal(-64),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-1,-2),kadd(KRANC_GFOFFSET3D(u,0,1,2),kadd(KRANC_GFOFFSET3D(u,0,-2,-1),KRANC_GFOFFSET3D(u,0,2,1)))),ToReal(-8),ksub(ksub(kmadd(kadd(KRANC_GFOFFSET3D(u,0,-1,2),kadd(KRANC_GFOFFSET3D(u,0,1,-2),kadd(KRANC_GFOFFSET3D(u,0,-2,1),KRANC_GFOFFSET3D(u,0,2,-1)))),ToReal(8),kmul(kadd(KRANC_GFOFFSET3D(u,0,-1,-1),KRANC_GFOFFSET3D(u,0,1,1)),ToReal(64))),KRANC_GFOFFSET3D(u,0,2,-2)),KRANC_GFOFFSET3D(u,0,-2,2)))))));
+ return kmul(p1o144dydz,kmadd(ToReal(-64),kadd(KRANC_GFOFFSET3D(u,0,-1,1),KRANC_GFOFFSET3D(u,0,1,-1)),kmadd(ToReal(64),kadd(KRANC_GFOFFSET3D(u,0,-1,-1),KRANC_GFOFFSET3D(u,0,1,1)),kmadd(ToReal(8),kadd(KRANC_GFOFFSET3D(u,0,-1,2),kadd(KRANC_GFOFFSET3D(u,0,1,-2),kadd(KRANC_GFOFFSET3D(u,0,-2,1),KRANC_GFOFFSET3D(u,0,2,-1)))),kmadd(ToReal(-8),kadd(KRANC_GFOFFSET3D(u,0,-1,-2),kadd(KRANC_GFOFFSET3D(u,0,1,2),kadd(KRANC_GFOFFSET3D(u,0,-2,-1),KRANC_GFOFFSET3D(u,0,2,1)))),kadd(KRANC_GFOFFSET3D(u,0,-2,-2),ksub(ksub(KRANC_GFOFFSET3D(u,0,2,2),KRANC_GFOFFSET3D(u,0,2,-2)),KRANC_GFOFFSET3D(u,0,-2,2))))))));
}
#endif
#ifndef KRANC_DIFF_FUNCTIONS
-# define PDstandardfdOrder431(u) (kmul(p1o144dxdz,kadd(KRANC_GFOFFSET3D(u,-2,0,-2),kadd(KRANC_GFOFFSET3D(u,2,0,2),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,0,1),KRANC_GFOFFSET3D(u,1,0,-1)),ToReal(-64),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,0,-2),kadd(KRANC_GFOFFSET3D(u,1,0,2),kadd(KRANC_GFOFFSET3D(u,-2,0,-1),KRANC_GFOFFSET3D(u,2,0,1)))),ToReal(-8),ksub(ksub(kmadd(kadd(KRANC_GFOFFSET3D(u,-1,0,2),kadd(KRANC_GFOFFSET3D(u,1,0,-2),kadd(KRANC_GFOFFSET3D(u,-2,0,1),KRANC_GFOFFSET3D(u,2,0,-1)))),ToReal(8),kmul(kadd(KRANC_GFOFFSET3D(u,-1,0,-1),KRANC_GFOFFSET3D(u,1,0,1)),ToReal(64))),KRANC_GFOFFSET3D(u,2,0,-2)),KRANC_GFOFFSET3D(u,-2,0,2))))))))
+# define PDstandardfdOrder431(u) (kmul(p1o144dxdz,kmadd(ToReal(-64),kadd(KRANC_GFOFFSET3D(u,-1,0,1),KRANC_GFOFFSET3D(u,1,0,-1)),kmadd(ToReal(64),kadd(KRANC_GFOFFSET3D(u,-1,0,-1),KRANC_GFOFFSET3D(u,1,0,1)),kmadd(ToReal(8),kadd(KRANC_GFOFFSET3D(u,-1,0,2),kadd(KRANC_GFOFFSET3D(u,1,0,-2),kadd(KRANC_GFOFFSET3D(u,-2,0,1),KRANC_GFOFFSET3D(u,2,0,-1)))),kmadd(ToReal(-8),kadd(KRANC_GFOFFSET3D(u,-1,0,-2),kadd(KRANC_GFOFFSET3D(u,1,0,2),kadd(KRANC_GFOFFSET3D(u,-2,0,-1),KRANC_GFOFFSET3D(u,2,0,1)))),kadd(KRANC_GFOFFSET3D(u,-2,0,-2),ksub(ksub(KRANC_GFOFFSET3D(u,2,0,2),KRANC_GFOFFSET3D(u,2,0,-2)),KRANC_GFOFFSET3D(u,-2,0,2)))))))))
#else
# define PDstandardfdOrder431(u) (PDstandardfdOrder431_impl(u,p1o144dxdz,cdj,cdk))
static CCTK_REAL_VEC PDstandardfdOrder431_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o144dxdz, const ptrdiff_t cdj, const ptrdiff_t cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
@@ -710,7 +710,7 @@ static CCTK_REAL_VEC PDstandardfdOrder431_impl(const CCTK_REAL* restrict const u
#endif
#ifndef KRANC_DIFF_FUNCTIONS
-# define PDstandardfdOrder432(u) (kmul(p1o144dydz,kadd(KRANC_GFOFFSET3D(u,0,-2,-2),kadd(KRANC_GFOFFSET3D(u,0,2,2),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-1,1),KRANC_GFOFFSET3D(u,0,1,-1)),ToReal(-64),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-1,-2),kadd(KRANC_GFOFFSET3D(u,0,1,2),kadd(KRANC_GFOFFSET3D(u,0,-2,-1),KRANC_GFOFFSET3D(u,0,2,1)))),ToReal(-8),ksub(ksub(kmadd(kadd(KRANC_GFOFFSET3D(u,0,-1,2),kadd(KRANC_GFOFFSET3D(u,0,1,-2),kadd(KRANC_GFOFFSET3D(u,0,-2,1),KRANC_GFOFFSET3D(u,0,2,-1)))),ToReal(8),kmul(kadd(KRANC_GFOFFSET3D(u,0,-1,-1),KRANC_GFOFFSET3D(u,0,1,1)),ToReal(64))),KRANC_GFOFFSET3D(u,0,2,-2)),KRANC_GFOFFSET3D(u,0,-2,2))))))))
+# define PDstandardfdOrder432(u) (kmul(p1o144dydz,kmadd(ToReal(-64),kadd(KRANC_GFOFFSET3D(u,0,-1,1),KRANC_GFOFFSET3D(u,0,1,-1)),kmadd(ToReal(64),kadd(KRANC_GFOFFSET3D(u,0,-1,-1),KRANC_GFOFFSET3D(u,0,1,1)),kmadd(ToReal(8),kadd(KRANC_GFOFFSET3D(u,0,-1,2),kadd(KRANC_GFOFFSET3D(u,0,1,-2),kadd(KRANC_GFOFFSET3D(u,0,-2,1),KRANC_GFOFFSET3D(u,0,2,-1)))),kmadd(ToReal(-8),kadd(KRANC_GFOFFSET3D(u,0,-1,-2),kadd(KRANC_GFOFFSET3D(u,0,1,2),kadd(KRANC_GFOFFSET3D(u,0,-2,-1),KRANC_GFOFFSET3D(u,0,2,1)))),kadd(KRANC_GFOFFSET3D(u,0,-2,-2),ksub(ksub(KRANC_GFOFFSET3D(u,0,2,2),KRANC_GFOFFSET3D(u,0,2,-2)),KRANC_GFOFFSET3D(u,0,-2,2)))))))))
#else
# define PDstandardfdOrder432(u) (PDstandardfdOrder432_impl(u,p1o144dydz,cdj,cdk))
static CCTK_REAL_VEC PDstandardfdOrder432_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o144dydz, const ptrdiff_t cdj, const ptrdiff_t cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
@@ -722,19 +722,19 @@ static CCTK_REAL_VEC PDstandardfdOrder432_impl(const CCTK_REAL* restrict const u
#endif
#ifndef KRANC_DIFF_FUNCTIONS
-# define PDstandardfdOrder612(u) (kmul(p1o3600dxdy,kadd(KRANC_GFOFFSET3D(u,-3,-3,0),kadd(KRANC_GFOFFSET3D(u,3,3,0),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,1,0),KRANC_GFOFFSET3D(u,1,-1,0)),ToReal(-2025),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,-2,0),kadd(KRANC_GFOFFSET3D(u,1,2,0),kadd(KRANC_GFOFFSET3D(u,-2,-1,0),KRANC_GFOFFSET3D(u,2,1,0)))),ToReal(-405),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,2,0),KRANC_GFOFFSET3D(u,2,-2,0)),ToReal(-81),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,3,0),kadd(KRANC_GFOFFSET3D(u,1,-3,0),kadd(KRANC_GFOFFSET3D(u,-3,1,0),KRANC_GFOFFSET3D(u,3,-1,0)))),ToReal(-45),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,-3,0),kadd(KRANC_GFOFFSET3D(u,2,3,0),kadd(KRANC_GFOFFSET3D(u,-3,-2,0),KRANC_GFOFFSET3D(u,3,2,0)))),ToReal(-9),ksub(ksub(kmadd(kadd(KRANC_GFOFFSET3D(u,-2,3,0),kadd(KRANC_GFOFFSET3D(u,2,-3,0),kadd(KRANC_GFOFFSET3D(u,-3,2,0),KRANC_GFOFFSET3D(u,3,-2,0)))),ToReal(9),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,-3,0),kadd(KRANC_GFOFFSET3D(u,1,3,0),kadd(KRANC_GFOFFSET3D(u,-3,-1,0),KRANC_GFOFFSET3D(u,3,1,0)))),ToReal(45),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,-2,0),KRANC_GFOFFSET3D(u,2,2,0)),ToReal(81),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,2,0),kadd(KRANC_GFOFFSET3D(u,1,-2,0),kadd(KRANC_GFOFFSET3D(u,-2,1,0),KRANC_GFOFFSET3D(u,2,-1,0)))),ToReal(405),kmul(kadd(KRANC_GFOFFSET3D(u,-1,-1,0),KRANC_GFOFFSET3D(u,1,1,0)),ToReal(2025)))))),KRANC_GFOFFSET3D(u,3,-3,0)),KRANC_GFOFFSET3D(u,-3,3,0)))))))))))
+# define PDstandardfdOrder612(u) (kmul(p1o3600dxdy,kmadd(ToReal(-2025),kadd(KRANC_GFOFFSET3D(u,-1,1,0),KRANC_GFOFFSET3D(u,1,-1,0)),kmadd(ToReal(2025),kadd(KRANC_GFOFFSET3D(u,-1,-1,0),KRANC_GFOFFSET3D(u,1,1,0)),kmadd(ToReal(405),kadd(KRANC_GFOFFSET3D(u,-1,2,0),kadd(KRANC_GFOFFSET3D(u,1,-2,0),kadd(KRANC_GFOFFSET3D(u,-2,1,0),KRANC_GFOFFSET3D(u,2,-1,0)))),kmadd(ToReal(-405),kadd(KRANC_GFOFFSET3D(u,-1,-2,0),kadd(KRANC_GFOFFSET3D(u,1,2,0),kadd(KRANC_GFOFFSET3D(u,-2,-1,0),KRANC_GFOFFSET3D(u,2,1,0)))),kmadd(ToReal(-81),kadd(KRANC_GFOFFSET3D(u,-2,2,0),KRANC_GFOFFSET3D(u,2,-2,0)),kmadd(ToReal(81),kadd(KRANC_GFOFFSET3D(u,-2,-2,0),KRANC_GFOFFSET3D(u,2,2,0)),kmadd(ToReal(-45),kadd(KRANC_GFOFFSET3D(u,-1,3,0),kadd(KRANC_GFOFFSET3D(u,1,-3,0),kadd(KRANC_GFOFFSET3D(u,-3,1,0),KRANC_GFOFFSET3D(u,3,-1,0)))),kmadd(ToReal(45),kadd(KRANC_GFOFFSET3D(u,-1,-3,0),kadd(KRANC_GFOFFSET3D(u,1,3,0),kadd(KRANC_GFOFFSET3D(u,-3,-1,0),KRANC_GFOFFSET3D(u,3,1,0)))),kmadd(ToReal(9),kadd(KRANC_GFOFFSET3D(u,-2,3,0),kadd(KRANC_GFOFFSET3D(u,2,-3,0),kadd(KRANC_GFOFFSET3D(u,-3,2,0),KRANC_GFOFFSET3D(u,3,-2,0)))),kmadd(ToReal(-9),kadd(KRANC_GFOFFSET3D(u,-2,-3,0),kadd(KRANC_GFOFFSET3D(u,2,3,0),kadd(KRANC_GFOFFSET3D(u,-3,-2,0),KRANC_GFOFFSET3D(u,3,2,0)))),kadd(KRANC_GFOFFSET3D(u,-3,-3,0),ksub(ksub(KRANC_GFOFFSET3D(u,3,3,0),KRANC_GFOFFSET3D(u,3,-3,0)),KRANC_GFOFFSET3D(u,-3,3,0)))))))))))))))
#else
# define PDstandardfdOrder612(u) (PDstandardfdOrder612_impl(u,p1o3600dxdy,cdj,cdk))
static CCTK_REAL_VEC PDstandardfdOrder612_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o3600dxdy, const ptrdiff_t cdj, const ptrdiff_t cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
static CCTK_REAL_VEC PDstandardfdOrder612_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o3600dxdy, const ptrdiff_t cdj, const ptrdiff_t cdk)
{
const ptrdiff_t cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL);
- return kmul(p1o3600dxdy,kadd(KRANC_GFOFFSET3D(u,-3,-3,0),kadd(KRANC_GFOFFSET3D(u,3,3,0),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,1,0),KRANC_GFOFFSET3D(u,1,-1,0)),ToReal(-2025),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,-2,0),kadd(KRANC_GFOFFSET3D(u,1,2,0),kadd(KRANC_GFOFFSET3D(u,-2,-1,0),KRANC_GFOFFSET3D(u,2,1,0)))),ToReal(-405),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,2,0),KRANC_GFOFFSET3D(u,2,-2,0)),ToReal(-81),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,3,0),kadd(KRANC_GFOFFSET3D(u,1,-3,0),kadd(KRANC_GFOFFSET3D(u,-3,1,0),KRANC_GFOFFSET3D(u,3,-1,0)))),ToReal(-45),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,-3,0),kadd(KRANC_GFOFFSET3D(u,2,3,0),kadd(KRANC_GFOFFSET3D(u,-3,-2,0),KRANC_GFOFFSET3D(u,3,2,0)))),ToReal(-9),ksub(ksub(kmadd(kadd(KRANC_GFOFFSET3D(u,-2,3,0),kadd(KRANC_GFOFFSET3D(u,2,-3,0),kadd(KRANC_GFOFFSET3D(u,-3,2,0),KRANC_GFOFFSET3D(u,3,-2,0)))),ToReal(9),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,-3,0),kadd(KRANC_GFOFFSET3D(u,1,3,0),kadd(KRANC_GFOFFSET3D(u,-3,-1,0),KRANC_GFOFFSET3D(u,3,1,0)))),ToReal(45),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,-2,0),KRANC_GFOFFSET3D(u,2,2,0)),ToReal(81),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,2,0),kadd(KRANC_GFOFFSET3D(u,1,-2,0),kadd(KRANC_GFOFFSET3D(u,-2,1,0),KRANC_GFOFFSET3D(u,2,-1,0)))),ToReal(405),kmul(kadd(KRANC_GFOFFSET3D(u,-1,-1,0),KRANC_GFOFFSET3D(u,1,1,0)),ToReal(2025)))))),KRANC_GFOFFSET3D(u,3,-3,0)),KRANC_GFOFFSET3D(u,-3,3,0))))))))));
+ return kmul(p1o3600dxdy,kmadd(ToReal(-2025),kadd(KRANC_GFOFFSET3D(u,-1,1,0),KRANC_GFOFFSET3D(u,1,-1,0)),kmadd(ToReal(2025),kadd(KRANC_GFOFFSET3D(u,-1,-1,0),KRANC_GFOFFSET3D(u,1,1,0)),kmadd(ToReal(405),kadd(KRANC_GFOFFSET3D(u,-1,2,0),kadd(KRANC_GFOFFSET3D(u,1,-2,0),kadd(KRANC_GFOFFSET3D(u,-2,1,0),KRANC_GFOFFSET3D(u,2,-1,0)))),kmadd(ToReal(-405),kadd(KRANC_GFOFFSET3D(u,-1,-2,0),kadd(KRANC_GFOFFSET3D(u,1,2,0),kadd(KRANC_GFOFFSET3D(u,-2,-1,0),KRANC_GFOFFSET3D(u,2,1,0)))),kmadd(ToReal(-81),kadd(KRANC_GFOFFSET3D(u,-2,2,0),KRANC_GFOFFSET3D(u,2,-2,0)),kmadd(ToReal(81),kadd(KRANC_GFOFFSET3D(u,-2,-2,0),KRANC_GFOFFSET3D(u,2,2,0)),kmadd(ToReal(-45),kadd(KRANC_GFOFFSET3D(u,-1,3,0),kadd(KRANC_GFOFFSET3D(u,1,-3,0),kadd(KRANC_GFOFFSET3D(u,-3,1,0),KRANC_GFOFFSET3D(u,3,-1,0)))),kmadd(ToReal(45),kadd(KRANC_GFOFFSET3D(u,-1,-3,0),kadd(KRANC_GFOFFSET3D(u,1,3,0),kadd(KRANC_GFOFFSET3D(u,-3,-1,0),KRANC_GFOFFSET3D(u,3,1,0)))),kmadd(ToReal(9),kadd(KRANC_GFOFFSET3D(u,-2,3,0),kadd(KRANC_GFOFFSET3D(u,2,-3,0),kadd(KRANC_GFOFFSET3D(u,-3,2,0),KRANC_GFOFFSET3D(u,3,-2,0)))),kmadd(ToReal(-9),kadd(KRANC_GFOFFSET3D(u,-2,-3,0),kadd(KRANC_GFOFFSET3D(u,2,3,0),kadd(KRANC_GFOFFSET3D(u,-3,-2,0),KRANC_GFOFFSET3D(u,3,2,0)))),kadd(KRANC_GFOFFSET3D(u,-3,-3,0),ksub(ksub(KRANC_GFOFFSET3D(u,3,3,0),KRANC_GFOFFSET3D(u,3,-3,0)),KRANC_GFOFFSET3D(u,-3,3,0))))))))))))));
}
#endif
#ifndef KRANC_DIFF_FUNCTIONS
-# define PDstandardfdOrder613(u) (kmul(p1o3600dxdz,kadd(KRANC_GFOFFSET3D(u,-3,0,-3),kadd(KRANC_GFOFFSET3D(u,3,0,3),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,0,1),KRANC_GFOFFSET3D(u,1,0,-1)),ToReal(-2025),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,0,-2),kadd(KRANC_GFOFFSET3D(u,1,0,2),kadd(KRANC_GFOFFSET3D(u,-2,0,-1),KRANC_GFOFFSET3D(u,2,0,1)))),ToReal(-405),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,0,2),KRANC_GFOFFSET3D(u,2,0,-2)),ToReal(-81),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,0,3),kadd(KRANC_GFOFFSET3D(u,1,0,-3),kadd(KRANC_GFOFFSET3D(u,-3,0,1),KRANC_GFOFFSET3D(u,3,0,-1)))),ToReal(-45),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,0,-3),kadd(KRANC_GFOFFSET3D(u,2,0,3),kadd(KRANC_GFOFFSET3D(u,-3,0,-2),KRANC_GFOFFSET3D(u,3,0,2)))),ToReal(-9),ksub(ksub(kmadd(kadd(KRANC_GFOFFSET3D(u,-2,0,3),kadd(KRANC_GFOFFSET3D(u,2,0,-3),kadd(KRANC_GFOFFSET3D(u,-3,0,2),KRANC_GFOFFSET3D(u,3,0,-2)))),ToReal(9),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,0,-3),kadd(KRANC_GFOFFSET3D(u,1,0,3),kadd(KRANC_GFOFFSET3D(u,-3,0,-1),KRANC_GFOFFSET3D(u,3,0,1)))),ToReal(45),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,0,-2),KRANC_GFOFFSET3D(u,2,0,2)),ToReal(81),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,0,2),kadd(KRANC_GFOFFSET3D(u,1,0,-2),kadd(KRANC_GFOFFSET3D(u,-2,0,1),KRANC_GFOFFSET3D(u,2,0,-1)))),ToReal(405),kmul(kadd(KRANC_GFOFFSET3D(u,-1,0,-1),KRANC_GFOFFSET3D(u,1,0,1)),ToReal(2025)))))),KRANC_GFOFFSET3D(u,3,0,-3)),KRANC_GFOFFSET3D(u,-3,0,3)))))))))))
+# define PDstandardfdOrder613(u) (kmul(p1o3600dxdz,kmadd(ToReal(-2025),kadd(KRANC_GFOFFSET3D(u,-1,0,1),KRANC_GFOFFSET3D(u,1,0,-1)),kmadd(ToReal(2025),kadd(KRANC_GFOFFSET3D(u,-1,0,-1),KRANC_GFOFFSET3D(u,1,0,1)),kmadd(ToReal(405),kadd(KRANC_GFOFFSET3D(u,-1,0,2),kadd(KRANC_GFOFFSET3D(u,1,0,-2),kadd(KRANC_GFOFFSET3D(u,-2,0,1),KRANC_GFOFFSET3D(u,2,0,-1)))),kmadd(ToReal(-405),kadd(KRANC_GFOFFSET3D(u,-1,0,-2),kadd(KRANC_GFOFFSET3D(u,1,0,2),kadd(KRANC_GFOFFSET3D(u,-2,0,-1),KRANC_GFOFFSET3D(u,2,0,1)))),kmadd(ToReal(-81),kadd(KRANC_GFOFFSET3D(u,-2,0,2),KRANC_GFOFFSET3D(u,2,0,-2)),kmadd(ToReal(81),kadd(KRANC_GFOFFSET3D(u,-2,0,-2),KRANC_GFOFFSET3D(u,2,0,2)),kmadd(ToReal(-45),kadd(KRANC_GFOFFSET3D(u,-1,0,3),kadd(KRANC_GFOFFSET3D(u,1,0,-3),kadd(KRANC_GFOFFSET3D(u,-3,0,1),KRANC_GFOFFSET3D(u,3,0,-1)))),kmadd(ToReal(45),kadd(KRANC_GFOFFSET3D(u,-1,0,-3),kadd(KRANC_GFOFFSET3D(u,1,0,3),kadd(KRANC_GFOFFSET3D(u,-3,0,-1),KRANC_GFOFFSET3D(u,3,0,1)))),kmadd(ToReal(9),kadd(KRANC_GFOFFSET3D(u,-2,0,3),kadd(KRANC_GFOFFSET3D(u,2,0,-3),kadd(KRANC_GFOFFSET3D(u,-3,0,2),KRANC_GFOFFSET3D(u,3,0,-2)))),kmadd(ToReal(-9),kadd(KRANC_GFOFFSET3D(u,-2,0,-3),kadd(KRANC_GFOFFSET3D(u,2,0,3),kadd(KRANC_GFOFFSET3D(u,-3,0,-2),KRANC_GFOFFSET3D(u,3,0,2)))),kadd(KRANC_GFOFFSET3D(u,-3,0,-3),ksub(ksub(KRANC_GFOFFSET3D(u,3,0,3),KRANC_GFOFFSET3D(u,3,0,-3)),KRANC_GFOFFSET3D(u,-3,0,3)))))))))))))))
#else
# define PDstandardfdOrder613(u) (PDstandardfdOrder613_impl(u,p1o3600dxdz,cdj,cdk))
static CCTK_REAL_VEC PDstandardfdOrder613_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o3600dxdz, const ptrdiff_t cdj, const ptrdiff_t cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
@@ -746,7 +746,7 @@ static CCTK_REAL_VEC PDstandardfdOrder613_impl(const CCTK_REAL* restrict const u
#endif
#ifndef KRANC_DIFF_FUNCTIONS
-# define PDstandardfdOrder621(u) (kmul(p1o3600dxdy,kadd(KRANC_GFOFFSET3D(u,-3,-3,0),kadd(KRANC_GFOFFSET3D(u,3,3,0),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,1,0),KRANC_GFOFFSET3D(u,1,-1,0)),ToReal(-2025),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,-2,0),kadd(KRANC_GFOFFSET3D(u,1,2,0),kadd(KRANC_GFOFFSET3D(u,-2,-1,0),KRANC_GFOFFSET3D(u,2,1,0)))),ToReal(-405),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,2,0),KRANC_GFOFFSET3D(u,2,-2,0)),ToReal(-81),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,3,0),kadd(KRANC_GFOFFSET3D(u,1,-3,0),kadd(KRANC_GFOFFSET3D(u,-3,1,0),KRANC_GFOFFSET3D(u,3,-1,0)))),ToReal(-45),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,-3,0),kadd(KRANC_GFOFFSET3D(u,2,3,0),kadd(KRANC_GFOFFSET3D(u,-3,-2,0),KRANC_GFOFFSET3D(u,3,2,0)))),ToReal(-9),ksub(ksub(kmadd(kadd(KRANC_GFOFFSET3D(u,-2,3,0),kadd(KRANC_GFOFFSET3D(u,2,-3,0),kadd(KRANC_GFOFFSET3D(u,-3,2,0),KRANC_GFOFFSET3D(u,3,-2,0)))),ToReal(9),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,-3,0),kadd(KRANC_GFOFFSET3D(u,1,3,0),kadd(KRANC_GFOFFSET3D(u,-3,-1,0),KRANC_GFOFFSET3D(u,3,1,0)))),ToReal(45),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,-2,0),KRANC_GFOFFSET3D(u,2,2,0)),ToReal(81),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,2,0),kadd(KRANC_GFOFFSET3D(u,1,-2,0),kadd(KRANC_GFOFFSET3D(u,-2,1,0),KRANC_GFOFFSET3D(u,2,-1,0)))),ToReal(405),kmul(kadd(KRANC_GFOFFSET3D(u,-1,-1,0),KRANC_GFOFFSET3D(u,1,1,0)),ToReal(2025)))))),KRANC_GFOFFSET3D(u,3,-3,0)),KRANC_GFOFFSET3D(u,-3,3,0)))))))))))
+# define PDstandardfdOrder621(u) (kmul(p1o3600dxdy,kmadd(ToReal(-2025),kadd(KRANC_GFOFFSET3D(u,-1,1,0),KRANC_GFOFFSET3D(u,1,-1,0)),kmadd(ToReal(2025),kadd(KRANC_GFOFFSET3D(u,-1,-1,0),KRANC_GFOFFSET3D(u,1,1,0)),kmadd(ToReal(405),kadd(KRANC_GFOFFSET3D(u,-1,2,0),kadd(KRANC_GFOFFSET3D(u,1,-2,0),kadd(KRANC_GFOFFSET3D(u,-2,1,0),KRANC_GFOFFSET3D(u,2,-1,0)))),kmadd(ToReal(-405),kadd(KRANC_GFOFFSET3D(u,-1,-2,0),kadd(KRANC_GFOFFSET3D(u,1,2,0),kadd(KRANC_GFOFFSET3D(u,-2,-1,0),KRANC_GFOFFSET3D(u,2,1,0)))),kmadd(ToReal(-81),kadd(KRANC_GFOFFSET3D(u,-2,2,0),KRANC_GFOFFSET3D(u,2,-2,0)),kmadd(ToReal(81),kadd(KRANC_GFOFFSET3D(u,-2,-2,0),KRANC_GFOFFSET3D(u,2,2,0)),kmadd(ToReal(-45),kadd(KRANC_GFOFFSET3D(u,-1,3,0),kadd(KRANC_GFOFFSET3D(u,1,-3,0),kadd(KRANC_GFOFFSET3D(u,-3,1,0),KRANC_GFOFFSET3D(u,3,-1,0)))),kmadd(ToReal(45),kadd(KRANC_GFOFFSET3D(u,-1,-3,0),kadd(KRANC_GFOFFSET3D(u,1,3,0),kadd(KRANC_GFOFFSET3D(u,-3,-1,0),KRANC_GFOFFSET3D(u,3,1,0)))),kmadd(ToReal(9),kadd(KRANC_GFOFFSET3D(u,-2,3,0),kadd(KRANC_GFOFFSET3D(u,2,-3,0),kadd(KRANC_GFOFFSET3D(u,-3,2,0),KRANC_GFOFFSET3D(u,3,-2,0)))),kmadd(ToReal(-9),kadd(KRANC_GFOFFSET3D(u,-2,-3,0),kadd(KRANC_GFOFFSET3D(u,2,3,0),kadd(KRANC_GFOFFSET3D(u,-3,-2,0),KRANC_GFOFFSET3D(u,3,2,0)))),kadd(KRANC_GFOFFSET3D(u,-3,-3,0),ksub(ksub(KRANC_GFOFFSET3D(u,3,3,0),KRANC_GFOFFSET3D(u,3,-3,0)),KRANC_GFOFFSET3D(u,-3,3,0)))))))))))))))
#else
# define PDstandardfdOrder621(u) (PDstandardfdOrder621_impl(u,p1o3600dxdy,cdj,cdk))
static CCTK_REAL_VEC PDstandardfdOrder621_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o3600dxdy, const ptrdiff_t cdj, const ptrdiff_t cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
@@ -758,19 +758,19 @@ static CCTK_REAL_VEC PDstandardfdOrder621_impl(const CCTK_REAL* restrict const u
#endif
#ifndef KRANC_DIFF_FUNCTIONS
-# define PDstandardfdOrder623(u) (kmul(p1o3600dydz,kadd(KRANC_GFOFFSET3D(u,0,-3,-3),kadd(KRANC_GFOFFSET3D(u,0,3,3),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-1,1),KRANC_GFOFFSET3D(u,0,1,-1)),ToReal(-2025),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-1,-2),kadd(KRANC_GFOFFSET3D(u,0,1,2),kadd(KRANC_GFOFFSET3D(u,0,-2,-1),KRANC_GFOFFSET3D(u,0,2,1)))),ToReal(-405),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-2,2),KRANC_GFOFFSET3D(u,0,2,-2)),ToReal(-81),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-1,3),kadd(KRANC_GFOFFSET3D(u,0,1,-3),kadd(KRANC_GFOFFSET3D(u,0,-3,1),KRANC_GFOFFSET3D(u,0,3,-1)))),ToReal(-45),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-2,-3),kadd(KRANC_GFOFFSET3D(u,0,2,3),kadd(KRANC_GFOFFSET3D(u,0,-3,-2),KRANC_GFOFFSET3D(u,0,3,2)))),ToReal(-9),ksub(ksub(kmadd(kadd(KRANC_GFOFFSET3D(u,0,-2,3),kadd(KRANC_GFOFFSET3D(u,0,2,-3),kadd(KRANC_GFOFFSET3D(u,0,-3,2),KRANC_GFOFFSET3D(u,0,3,-2)))),ToReal(9),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-1,-3),kadd(KRANC_GFOFFSET3D(u,0,1,3),kadd(KRANC_GFOFFSET3D(u,0,-3,-1),KRANC_GFOFFSET3D(u,0,3,1)))),ToReal(45),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-2,-2),KRANC_GFOFFSET3D(u,0,2,2)),ToReal(81),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-1,2),kadd(KRANC_GFOFFSET3D(u,0,1,-2),kadd(KRANC_GFOFFSET3D(u,0,-2,1),KRANC_GFOFFSET3D(u,0,2,-1)))),ToReal(405),kmul(kadd(KRANC_GFOFFSET3D(u,0,-1,-1),KRANC_GFOFFSET3D(u,0,1,1)),ToReal(2025)))))),KRANC_GFOFFSET3D(u,0,3,-3)),KRANC_GFOFFSET3D(u,0,-3,3)))))))))))
+# define PDstandardfdOrder623(u) (kmul(p1o3600dydz,kmadd(ToReal(-2025),kadd(KRANC_GFOFFSET3D(u,0,-1,1),KRANC_GFOFFSET3D(u,0,1,-1)),kmadd(ToReal(2025),kadd(KRANC_GFOFFSET3D(u,0,-1,-1),KRANC_GFOFFSET3D(u,0,1,1)),kmadd(ToReal(405),kadd(KRANC_GFOFFSET3D(u,0,-1,2),kadd(KRANC_GFOFFSET3D(u,0,1,-2),kadd(KRANC_GFOFFSET3D(u,0,-2,1),KRANC_GFOFFSET3D(u,0,2,-1)))),kmadd(ToReal(-405),kadd(KRANC_GFOFFSET3D(u,0,-1,-2),kadd(KRANC_GFOFFSET3D(u,0,1,2),kadd(KRANC_GFOFFSET3D(u,0,-2,-1),KRANC_GFOFFSET3D(u,0,2,1)))),kmadd(ToReal(-81),kadd(KRANC_GFOFFSET3D(u,0,-2,2),KRANC_GFOFFSET3D(u,0,2,-2)),kmadd(ToReal(81),kadd(KRANC_GFOFFSET3D(u,0,-2,-2),KRANC_GFOFFSET3D(u,0,2,2)),kmadd(ToReal(-45),kadd(KRANC_GFOFFSET3D(u,0,-1,3),kadd(KRANC_GFOFFSET3D(u,0,1,-3),kadd(KRANC_GFOFFSET3D(u,0,-3,1),KRANC_GFOFFSET3D(u,0,3,-1)))),kmadd(ToReal(45),kadd(KRANC_GFOFFSET3D(u,0,-1,-3),kadd(KRANC_GFOFFSET3D(u,0,1,3),kadd(KRANC_GFOFFSET3D(u,0,-3,-1),KRANC_GFOFFSET3D(u,0,3,1)))),kmadd(ToReal(9),kadd(KRANC_GFOFFSET3D(u,0,-2,3),kadd(KRANC_GFOFFSET3D(u,0,2,-3),kadd(KRANC_GFOFFSET3D(u,0,-3,2),KRANC_GFOFFSET3D(u,0,3,-2)))),kmadd(ToReal(-9),kadd(KRANC_GFOFFSET3D(u,0,-2,-3),kadd(KRANC_GFOFFSET3D(u,0,2,3),kadd(KRANC_GFOFFSET3D(u,0,-3,-2),KRANC_GFOFFSET3D(u,0,3,2)))),kadd(KRANC_GFOFFSET3D(u,0,-3,-3),ksub(ksub(KRANC_GFOFFSET3D(u,0,3,3),KRANC_GFOFFSET3D(u,0,3,-3)),KRANC_GFOFFSET3D(u,0,-3,3)))))))))))))))
#else
# define PDstandardfdOrder623(u) (PDstandardfdOrder623_impl(u,p1o3600dydz,cdj,cdk))
static CCTK_REAL_VEC PDstandardfdOrder623_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o3600dydz, const ptrdiff_t cdj, const ptrdiff_t cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
static CCTK_REAL_VEC PDstandardfdOrder623_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o3600dydz, const ptrdiff_t cdj, const ptrdiff_t cdk)
{
const ptrdiff_t cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL);
- return kmul(p1o3600dydz,kadd(KRANC_GFOFFSET3D(u,0,-3,-3),kadd(KRANC_GFOFFSET3D(u,0,3,3),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-1,1),KRANC_GFOFFSET3D(u,0,1,-1)),ToReal(-2025),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-1,-2),kadd(KRANC_GFOFFSET3D(u,0,1,2),kadd(KRANC_GFOFFSET3D(u,0,-2,-1),KRANC_GFOFFSET3D(u,0,2,1)))),ToReal(-405),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-2,2),KRANC_GFOFFSET3D(u,0,2,-2)),ToReal(-81),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-1,3),kadd(KRANC_GFOFFSET3D(u,0,1,-3),kadd(KRANC_GFOFFSET3D(u,0,-3,1),KRANC_GFOFFSET3D(u,0,3,-1)))),ToReal(-45),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-2,-3),kadd(KRANC_GFOFFSET3D(u,0,2,3),kadd(KRANC_GFOFFSET3D(u,0,-3,-2),KRANC_GFOFFSET3D(u,0,3,2)))),ToReal(-9),ksub(ksub(kmadd(kadd(KRANC_GFOFFSET3D(u,0,-2,3),kadd(KRANC_GFOFFSET3D(u,0,2,-3),kadd(KRANC_GFOFFSET3D(u,0,-3,2),KRANC_GFOFFSET3D(u,0,3,-2)))),ToReal(9),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-1,-3),kadd(KRANC_GFOFFSET3D(u,0,1,3),kadd(KRANC_GFOFFSET3D(u,0,-3,-1),KRANC_GFOFFSET3D(u,0,3,1)))),ToReal(45),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-2,-2),KRANC_GFOFFSET3D(u,0,2,2)),ToReal(81),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-1,2),kadd(KRANC_GFOFFSET3D(u,0,1,-2),kadd(KRANC_GFOFFSET3D(u,0,-2,1),KRANC_GFOFFSET3D(u,0,2,-1)))),ToReal(405),kmul(kadd(KRANC_GFOFFSET3D(u,0,-1,-1),KRANC_GFOFFSET3D(u,0,1,1)),ToReal(2025)))))),KRANC_GFOFFSET3D(u,0,3,-3)),KRANC_GFOFFSET3D(u,0,-3,3))))))))));
+ return kmul(p1o3600dydz,kmadd(ToReal(-2025),kadd(KRANC_GFOFFSET3D(u,0,-1,1),KRANC_GFOFFSET3D(u,0,1,-1)),kmadd(ToReal(2025),kadd(KRANC_GFOFFSET3D(u,0,-1,-1),KRANC_GFOFFSET3D(u,0,1,1)),kmadd(ToReal(405),kadd(KRANC_GFOFFSET3D(u,0,-1,2),kadd(KRANC_GFOFFSET3D(u,0,1,-2),kadd(KRANC_GFOFFSET3D(u,0,-2,1),KRANC_GFOFFSET3D(u,0,2,-1)))),kmadd(ToReal(-405),kadd(KRANC_GFOFFSET3D(u,0,-1,-2),kadd(KRANC_GFOFFSET3D(u,0,1,2),kadd(KRANC_GFOFFSET3D(u,0,-2,-1),KRANC_GFOFFSET3D(u,0,2,1)))),kmadd(ToReal(-81),kadd(KRANC_GFOFFSET3D(u,0,-2,2),KRANC_GFOFFSET3D(u,0,2,-2)),kmadd(ToReal(81),kadd(KRANC_GFOFFSET3D(u,0,-2,-2),KRANC_GFOFFSET3D(u,0,2,2)),kmadd(ToReal(-45),kadd(KRANC_GFOFFSET3D(u,0,-1,3),kadd(KRANC_GFOFFSET3D(u,0,1,-3),kadd(KRANC_GFOFFSET3D(u,0,-3,1),KRANC_GFOFFSET3D(u,0,3,-1)))),kmadd(ToReal(45),kadd(KRANC_GFOFFSET3D(u,0,-1,-3),kadd(KRANC_GFOFFSET3D(u,0,1,3),kadd(KRANC_GFOFFSET3D(u,0,-3,-1),KRANC_GFOFFSET3D(u,0,3,1)))),kmadd(ToReal(9),kadd(KRANC_GFOFFSET3D(u,0,-2,3),kadd(KRANC_GFOFFSET3D(u,0,2,-3),kadd(KRANC_GFOFFSET3D(u,0,-3,2),KRANC_GFOFFSET3D(u,0,3,-2)))),kmadd(ToReal(-9),kadd(KRANC_GFOFFSET3D(u,0,-2,-3),kadd(KRANC_GFOFFSET3D(u,0,2,3),kadd(KRANC_GFOFFSET3D(u,0,-3,-2),KRANC_GFOFFSET3D(u,0,3,2)))),kadd(KRANC_GFOFFSET3D(u,0,-3,-3),ksub(ksub(KRANC_GFOFFSET3D(u,0,3,3),KRANC_GFOFFSET3D(u,0,3,-3)),KRANC_GFOFFSET3D(u,0,-3,3))))))))))))));
}
#endif
#ifndef KRANC_DIFF_FUNCTIONS
-# define PDstandardfdOrder631(u) (kmul(p1o3600dxdz,kadd(KRANC_GFOFFSET3D(u,-3,0,-3),kadd(KRANC_GFOFFSET3D(u,3,0,3),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,0,1),KRANC_GFOFFSET3D(u,1,0,-1)),ToReal(-2025),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,0,-2),kadd(KRANC_GFOFFSET3D(u,1,0,2),kadd(KRANC_GFOFFSET3D(u,-2,0,-1),KRANC_GFOFFSET3D(u,2,0,1)))),ToReal(-405),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,0,2),KRANC_GFOFFSET3D(u,2,0,-2)),ToReal(-81),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,0,3),kadd(KRANC_GFOFFSET3D(u,1,0,-3),kadd(KRANC_GFOFFSET3D(u,-3,0,1),KRANC_GFOFFSET3D(u,3,0,-1)))),ToReal(-45),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,0,-3),kadd(KRANC_GFOFFSET3D(u,2,0,3),kadd(KRANC_GFOFFSET3D(u,-3,0,-2),KRANC_GFOFFSET3D(u,3,0,2)))),ToReal(-9),ksub(ksub(kmadd(kadd(KRANC_GFOFFSET3D(u,-2,0,3),kadd(KRANC_GFOFFSET3D(u,2,0,-3),kadd(KRANC_GFOFFSET3D(u,-3,0,2),KRANC_GFOFFSET3D(u,3,0,-2)))),ToReal(9),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,0,-3),kadd(KRANC_GFOFFSET3D(u,1,0,3),kadd(KRANC_GFOFFSET3D(u,-3,0,-1),KRANC_GFOFFSET3D(u,3,0,1)))),ToReal(45),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,0,-2),KRANC_GFOFFSET3D(u,2,0,2)),ToReal(81),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,0,2),kadd(KRANC_GFOFFSET3D(u,1,0,-2),kadd(KRANC_GFOFFSET3D(u,-2,0,1),KRANC_GFOFFSET3D(u,2,0,-1)))),ToReal(405),kmul(kadd(KRANC_GFOFFSET3D(u,-1,0,-1),KRANC_GFOFFSET3D(u,1,0,1)),ToReal(2025)))))),KRANC_GFOFFSET3D(u,3,0,-3)),KRANC_GFOFFSET3D(u,-3,0,3)))))))))))
+# define PDstandardfdOrder631(u) (kmul(p1o3600dxdz,kmadd(ToReal(-2025),kadd(KRANC_GFOFFSET3D(u,-1,0,1),KRANC_GFOFFSET3D(u,1,0,-1)),kmadd(ToReal(2025),kadd(KRANC_GFOFFSET3D(u,-1,0,-1),KRANC_GFOFFSET3D(u,1,0,1)),kmadd(ToReal(405),kadd(KRANC_GFOFFSET3D(u,-1,0,2),kadd(KRANC_GFOFFSET3D(u,1,0,-2),kadd(KRANC_GFOFFSET3D(u,-2,0,1),KRANC_GFOFFSET3D(u,2,0,-1)))),kmadd(ToReal(-405),kadd(KRANC_GFOFFSET3D(u,-1,0,-2),kadd(KRANC_GFOFFSET3D(u,1,0,2),kadd(KRANC_GFOFFSET3D(u,-2,0,-1),KRANC_GFOFFSET3D(u,2,0,1)))),kmadd(ToReal(-81),kadd(KRANC_GFOFFSET3D(u,-2,0,2),KRANC_GFOFFSET3D(u,2,0,-2)),kmadd(ToReal(81),kadd(KRANC_GFOFFSET3D(u,-2,0,-2),KRANC_GFOFFSET3D(u,2,0,2)),kmadd(ToReal(-45),kadd(KRANC_GFOFFSET3D(u,-1,0,3),kadd(KRANC_GFOFFSET3D(u,1,0,-3),kadd(KRANC_GFOFFSET3D(u,-3,0,1),KRANC_GFOFFSET3D(u,3,0,-1)))),kmadd(ToReal(45),kadd(KRANC_GFOFFSET3D(u,-1,0,-3),kadd(KRANC_GFOFFSET3D(u,1,0,3),kadd(KRANC_GFOFFSET3D(u,-3,0,-1),KRANC_GFOFFSET3D(u,3,0,1)))),kmadd(ToReal(9),kadd(KRANC_GFOFFSET3D(u,-2,0,3),kadd(KRANC_GFOFFSET3D(u,2,0,-3),kadd(KRANC_GFOFFSET3D(u,-3,0,2),KRANC_GFOFFSET3D(u,3,0,-2)))),kmadd(ToReal(-9),kadd(KRANC_GFOFFSET3D(u,-2,0,-3),kadd(KRANC_GFOFFSET3D(u,2,0,3),kadd(KRANC_GFOFFSET3D(u,-3,0,-2),KRANC_GFOFFSET3D(u,3,0,2)))),kadd(KRANC_GFOFFSET3D(u,-3,0,-3),ksub(ksub(KRANC_GFOFFSET3D(u,3,0,3),KRANC_GFOFFSET3D(u,3,0,-3)),KRANC_GFOFFSET3D(u,-3,0,3)))))))))))))))
#else
# define PDstandardfdOrder631(u) (PDstandardfdOrder631_impl(u,p1o3600dxdz,cdj,cdk))
static CCTK_REAL_VEC PDstandardfdOrder631_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o3600dxdz, const ptrdiff_t cdj, const ptrdiff_t cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
@@ -782,7 +782,7 @@ static CCTK_REAL_VEC PDstandardfdOrder631_impl(const CCTK_REAL* restrict const u
#endif
#ifndef KRANC_DIFF_FUNCTIONS
-# define PDstandardfdOrder632(u) (kmul(p1o3600dydz,kadd(KRANC_GFOFFSET3D(u,0,-3,-3),kadd(KRANC_GFOFFSET3D(u,0,3,3),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-1,1),KRANC_GFOFFSET3D(u,0,1,-1)),ToReal(-2025),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-1,-2),kadd(KRANC_GFOFFSET3D(u,0,1,2),kadd(KRANC_GFOFFSET3D(u,0,-2,-1),KRANC_GFOFFSET3D(u,0,2,1)))),ToReal(-405),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-2,2),KRANC_GFOFFSET3D(u,0,2,-2)),ToReal(-81),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-1,3),kadd(KRANC_GFOFFSET3D(u,0,1,-3),kadd(KRANC_GFOFFSET3D(u,0,-3,1),KRANC_GFOFFSET3D(u,0,3,-1)))),ToReal(-45),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-2,-3),kadd(KRANC_GFOFFSET3D(u,0,2,3),kadd(KRANC_GFOFFSET3D(u,0,-3,-2),KRANC_GFOFFSET3D(u,0,3,2)))),ToReal(-9),ksub(ksub(kmadd(kadd(KRANC_GFOFFSET3D(u,0,-2,3),kadd(KRANC_GFOFFSET3D(u,0,2,-3),kadd(KRANC_GFOFFSET3D(u,0,-3,2),KRANC_GFOFFSET3D(u,0,3,-2)))),ToReal(9),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-1,-3),kadd(KRANC_GFOFFSET3D(u,0,1,3),kadd(KRANC_GFOFFSET3D(u,0,-3,-1),KRANC_GFOFFSET3D(u,0,3,1)))),ToReal(45),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-2,-2),KRANC_GFOFFSET3D(u,0,2,2)),ToReal(81),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-1,2),kadd(KRANC_GFOFFSET3D(u,0,1,-2),kadd(KRANC_GFOFFSET3D(u,0,-2,1),KRANC_GFOFFSET3D(u,0,2,-1)))),ToReal(405),kmul(kadd(KRANC_GFOFFSET3D(u,0,-1,-1),KRANC_GFOFFSET3D(u,0,1,1)),ToReal(2025)))))),KRANC_GFOFFSET3D(u,0,3,-3)),KRANC_GFOFFSET3D(u,0,-3,3)))))))))))
+# define PDstandardfdOrder632(u) (kmul(p1o3600dydz,kmadd(ToReal(-2025),kadd(KRANC_GFOFFSET3D(u,0,-1,1),KRANC_GFOFFSET3D(u,0,1,-1)),kmadd(ToReal(2025),kadd(KRANC_GFOFFSET3D(u,0,-1,-1),KRANC_GFOFFSET3D(u,0,1,1)),kmadd(ToReal(405),kadd(KRANC_GFOFFSET3D(u,0,-1,2),kadd(KRANC_GFOFFSET3D(u,0,1,-2),kadd(KRANC_GFOFFSET3D(u,0,-2,1),KRANC_GFOFFSET3D(u,0,2,-1)))),kmadd(ToReal(-405),kadd(KRANC_GFOFFSET3D(u,0,-1,-2),kadd(KRANC_GFOFFSET3D(u,0,1,2),kadd(KRANC_GFOFFSET3D(u,0,-2,-1),KRANC_GFOFFSET3D(u,0,2,1)))),kmadd(ToReal(-81),kadd(KRANC_GFOFFSET3D(u,0,-2,2),KRANC_GFOFFSET3D(u,0,2,-2)),kmadd(ToReal(81),kadd(KRANC_GFOFFSET3D(u,0,-2,-2),KRANC_GFOFFSET3D(u,0,2,2)),kmadd(ToReal(-45),kadd(KRANC_GFOFFSET3D(u,0,-1,3),kadd(KRANC_GFOFFSET3D(u,0,1,-3),kadd(KRANC_GFOFFSET3D(u,0,-3,1),KRANC_GFOFFSET3D(u,0,3,-1)))),kmadd(ToReal(45),kadd(KRANC_GFOFFSET3D(u,0,-1,-3),kadd(KRANC_GFOFFSET3D(u,0,1,3),kadd(KRANC_GFOFFSET3D(u,0,-3,-1),KRANC_GFOFFSET3D(u,0,3,1)))),kmadd(ToReal(9),kadd(KRANC_GFOFFSET3D(u,0,-2,3),kadd(KRANC_GFOFFSET3D(u,0,2,-3),kadd(KRANC_GFOFFSET3D(u,0,-3,2),KRANC_GFOFFSET3D(u,0,3,-2)))),kmadd(ToReal(-9),kadd(KRANC_GFOFFSET3D(u,0,-2,-3),kadd(KRANC_GFOFFSET3D(u,0,2,3),kadd(KRANC_GFOFFSET3D(u,0,-3,-2),KRANC_GFOFFSET3D(u,0,3,2)))),kadd(KRANC_GFOFFSET3D(u,0,-3,-3),ksub(ksub(KRANC_GFOFFSET3D(u,0,3,3),KRANC_GFOFFSET3D(u,0,3,-3)),KRANC_GFOFFSET3D(u,0,-3,3)))))))))))))))
#else
# define PDstandardfdOrder632(u) (PDstandardfdOrder632_impl(u,p1o3600dydz,cdj,cdk))
static CCTK_REAL_VEC PDstandardfdOrder632_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o3600dydz, const ptrdiff_t cdj, const ptrdiff_t cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
@@ -794,19 +794,19 @@ static CCTK_REAL_VEC PDstandardfdOrder632_impl(const CCTK_REAL* restrict const u
#endif
#ifndef KRANC_DIFF_FUNCTIONS
-# define PDstandardfdOrder812(u) (kmul(p1o705600dxdy,kmadd(kadd(KRANC_GFOFFSET3D(u,-1,1,0),KRANC_GFOFFSET3D(u,1,-1,0)),ToReal(-451584),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,-2,0),kadd(KRANC_GFOFFSET3D(u,1,2,0),kadd(KRANC_GFOFFSET3D(u,-2,-1,0),KRANC_GFOFFSET3D(u,2,1,0)))),ToReal(-112896),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,2,0),KRANC_GFOFFSET3D(u,2,-2,0)),ToReal(-28224),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,3,0),kadd(KRANC_GFOFFSET3D(u,1,-3,0),kadd(KRANC_GFOFFSET3D(u,-3,1,0),KRANC_GFOFFSET3D(u,3,-1,0)))),ToReal(-21504),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,-3,0),kadd(KRANC_GFOFFSET3D(u,2,3,0),kadd(KRANC_GFOFFSET3D(u,-3,-2,0),KRANC_GFOFFSET3D(u,3,2,0)))),ToReal(-5376),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,-4,0),kadd(KRANC_GFOFFSET3D(u,1,4,0),kadd(KRANC_GFOFFSET3D(u,-4,-1,0),KRANC_GFOFFSET3D(u,4,1,0)))),ToReal(-2016),kmadd(kadd(KRANC_GFOFFSET3D(u,-3,3,0),KRANC_GFOFFSET3D(u,3,-3,0)),ToReal(-1024),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,4,0),kadd(KRANC_GFOFFSET3D(u,2,-4,0),kadd(KRANC_GFOFFSET3D(u,-4,2,0),KRANC_GFOFFSET3D(u,4,-2,0)))),ToReal(-504),kmadd(kadd(KRANC_GFOFFSET3D(u,-3,-4,0),kadd(KRANC_GFOFFSET3D(u,3,4,0),kadd(KRANC_GFOFFSET3D(u,-4,-3,0),KRANC_GFOFFSET3D(u,4,3,0)))),ToReal(-96),kmadd(kadd(KRANC_GFOFFSET3D(u,-4,4,0),KRANC_GFOFFSET3D(u,4,-4,0)),ToReal(-9),kmadd(kadd(KRANC_GFOFFSET3D(u,-4,-4,0),KRANC_GFOFFSET3D(u,4,4,0)),ToReal(9),kmadd(kadd(KRANC_GFOFFSET3D(u,-3,4,0),kadd(KRANC_GFOFFSET3D(u,3,-4,0),kadd(KRANC_GFOFFSET3D(u,-4,3,0),KRANC_GFOFFSET3D(u,4,-3,0)))),ToReal(96),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,-4,0),kadd(KRANC_GFOFFSET3D(u,2,4,0),kadd(KRANC_GFOFFSET3D(u,-4,-2,0),KRANC_GFOFFSET3D(u,4,2,0)))),ToReal(504),kmadd(kadd(KRANC_GFOFFSET3D(u,-3,-3,0),KRANC_GFOFFSET3D(u,3,3,0)),ToReal(1024),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,4,0),kadd(KRANC_GFOFFSET3D(u,1,-4,0),kadd(KRANC_GFOFFSET3D(u,-4,1,0),KRANC_GFOFFSET3D(u,4,-1,0)))),ToReal(2016),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,3,0),kadd(KRANC_GFOFFSET3D(u,2,-3,0),kadd(KRANC_GFOFFSET3D(u,-3,2,0),KRANC_GFOFFSET3D(u,3,-2,0)))),ToReal(5376),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,-3,0),kadd(KRANC_GFOFFSET3D(u,1,3,0),kadd(KRANC_GFOFFSET3D(u,-3,-1,0),KRANC_GFOFFSET3D(u,3,1,0)))),ToReal(21504),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,-2,0),KRANC_GFOFFSET3D(u,2,2,0)),ToReal(28224),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,2,0),kadd(KRANC_GFOFFSET3D(u,1,-2,0),kadd(KRANC_GFOFFSET3D(u,-2,1,0),KRANC_GFOFFSET3D(u,2,-1,0)))),ToReal(112896),kmul(kadd(KRANC_GFOFFSET3D(u,-1,-1,0),KRANC_GFOFFSET3D(u,1,1,0)),ToReal(451584)))))))))))))))))))))))
+# define PDstandardfdOrder812(u) (kmul(p1o705600dxdy,kmadd(ToReal(-451584),kadd(KRANC_GFOFFSET3D(u,-1,1,0),KRANC_GFOFFSET3D(u,1,-1,0)),kmadd(ToReal(451584),kadd(KRANC_GFOFFSET3D(u,-1,-1,0),KRANC_GFOFFSET3D(u,1,1,0)),kmadd(ToReal(112896),kadd(KRANC_GFOFFSET3D(u,-1,2,0),kadd(KRANC_GFOFFSET3D(u,1,-2,0),kadd(KRANC_GFOFFSET3D(u,-2,1,0),KRANC_GFOFFSET3D(u,2,-1,0)))),kmadd(ToReal(-112896),kadd(KRANC_GFOFFSET3D(u,-1,-2,0),kadd(KRANC_GFOFFSET3D(u,1,2,0),kadd(KRANC_GFOFFSET3D(u,-2,-1,0),KRANC_GFOFFSET3D(u,2,1,0)))),kmadd(ToReal(-28224),kadd(KRANC_GFOFFSET3D(u,-2,2,0),KRANC_GFOFFSET3D(u,2,-2,0)),kmadd(ToReal(28224),kadd(KRANC_GFOFFSET3D(u,-2,-2,0),KRANC_GFOFFSET3D(u,2,2,0)),kmadd(ToReal(-21504),kadd(KRANC_GFOFFSET3D(u,-1,3,0),kadd(KRANC_GFOFFSET3D(u,1,-3,0),kadd(KRANC_GFOFFSET3D(u,-3,1,0),KRANC_GFOFFSET3D(u,3,-1,0)))),kmadd(ToReal(21504),kadd(KRANC_GFOFFSET3D(u,-1,-3,0),kadd(KRANC_GFOFFSET3D(u,1,3,0),kadd(KRANC_GFOFFSET3D(u,-3,-1,0),KRANC_GFOFFSET3D(u,3,1,0)))),kmadd(ToReal(5376),kadd(KRANC_GFOFFSET3D(u,-2,3,0),kadd(KRANC_GFOFFSET3D(u,2,-3,0),kadd(KRANC_GFOFFSET3D(u,-3,2,0),KRANC_GFOFFSET3D(u,3,-2,0)))),kmadd(ToReal(-5376),kadd(KRANC_GFOFFSET3D(u,-2,-3,0),kadd(KRANC_GFOFFSET3D(u,2,3,0),kadd(KRANC_GFOFFSET3D(u,-3,-2,0),KRANC_GFOFFSET3D(u,3,2,0)))),kmadd(ToReal(-1024),kadd(KRANC_GFOFFSET3D(u,-3,3,0),KRANC_GFOFFSET3D(u,3,-3,0)),kmadd(ToReal(1024),kadd(KRANC_GFOFFSET3D(u,-3,-3,0),KRANC_GFOFFSET3D(u,3,3,0)),kmadd(ToReal(2016),kadd(KRANC_GFOFFSET3D(u,-1,4,0),kadd(KRANC_GFOFFSET3D(u,1,-4,0),kadd(KRANC_GFOFFSET3D(u,-4,1,0),KRANC_GFOFFSET3D(u,4,-1,0)))),kmadd(ToReal(-2016),kadd(KRANC_GFOFFSET3D(u,-1,-4,0),kadd(KRANC_GFOFFSET3D(u,1,4,0),kadd(KRANC_GFOFFSET3D(u,-4,-1,0),KRANC_GFOFFSET3D(u,4,1,0)))),kmadd(ToReal(-504),kadd(KRANC_GFOFFSET3D(u,-2,4,0),kadd(KRANC_GFOFFSET3D(u,2,-4,0),kadd(KRANC_GFOFFSET3D(u,-4,2,0),KRANC_GFOFFSET3D(u,4,-2,0)))),kmadd(ToReal(504),kadd(KRANC_GFOFFSET3D(u,-2,-4,0),kadd(KRANC_GFOFFSET3D(u,2,4,0),kadd(KRANC_GFOFFSET3D(u,-4,-2,0),KRANC_GFOFFSET3D(u,4,2,0)))),kmadd(ToReal(96),kadd(KRANC_GFOFFSET3D(u,-3,4,0),kadd(KRANC_GFOFFSET3D(u,3,-4,0),kadd(KRANC_GFOFFSET3D(u,-4,3,0),KRANC_GFOFFSET3D(u,4,-3,0)))),kmadd(ToReal(-96),kadd(KRANC_GFOFFSET3D(u,-3,-4,0),kadd(KRANC_GFOFFSET3D(u,3,4,0),kadd(KRANC_GFOFFSET3D(u,-4,-3,0),KRANC_GFOFFSET3D(u,4,3,0)))),kmadd(ToReal(-9),kadd(KRANC_GFOFFSET3D(u,-4,4,0),KRANC_GFOFFSET3D(u,4,-4,0)),kmul(ToReal(9),kadd(KRANC_GFOFFSET3D(u,-4,-4,0),KRANC_GFOFFSET3D(u,4,4,0))))))))))))))))))))))))
#else
# define PDstandardfdOrder812(u) (PDstandardfdOrder812_impl(u,p1o705600dxdy,cdj,cdk))
static CCTK_REAL_VEC PDstandardfdOrder812_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o705600dxdy, const ptrdiff_t cdj, const ptrdiff_t cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
static CCTK_REAL_VEC PDstandardfdOrder812_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o705600dxdy, const ptrdiff_t cdj, const ptrdiff_t cdk)
{
const ptrdiff_t cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL);
- return kmul(p1o705600dxdy,kmadd(kadd(KRANC_GFOFFSET3D(u,-1,1,0),KRANC_GFOFFSET3D(u,1,-1,0)),ToReal(-451584),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,-2,0),kadd(KRANC_GFOFFSET3D(u,1,2,0),kadd(KRANC_GFOFFSET3D(u,-2,-1,0),KRANC_GFOFFSET3D(u,2,1,0)))),ToReal(-112896),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,2,0),KRANC_GFOFFSET3D(u,2,-2,0)),ToReal(-28224),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,3,0),kadd(KRANC_GFOFFSET3D(u,1,-3,0),kadd(KRANC_GFOFFSET3D(u,-3,1,0),KRANC_GFOFFSET3D(u,3,-1,0)))),ToReal(-21504),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,-3,0),kadd(KRANC_GFOFFSET3D(u,2,3,0),kadd(KRANC_GFOFFSET3D(u,-3,-2,0),KRANC_GFOFFSET3D(u,3,2,0)))),ToReal(-5376),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,-4,0),kadd(KRANC_GFOFFSET3D(u,1,4,0),kadd(KRANC_GFOFFSET3D(u,-4,-1,0),KRANC_GFOFFSET3D(u,4,1,0)))),ToReal(-2016),kmadd(kadd(KRANC_GFOFFSET3D(u,-3,3,0),KRANC_GFOFFSET3D(u,3,-3,0)),ToReal(-1024),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,4,0),kadd(KRANC_GFOFFSET3D(u,2,-4,0),kadd(KRANC_GFOFFSET3D(u,-4,2,0),KRANC_GFOFFSET3D(u,4,-2,0)))),ToReal(-504),kmadd(kadd(KRANC_GFOFFSET3D(u,-3,-4,0),kadd(KRANC_GFOFFSET3D(u,3,4,0),kadd(KRANC_GFOFFSET3D(u,-4,-3,0),KRANC_GFOFFSET3D(u,4,3,0)))),ToReal(-96),kmadd(kadd(KRANC_GFOFFSET3D(u,-4,4,0),KRANC_GFOFFSET3D(u,4,-4,0)),ToReal(-9),kmadd(kadd(KRANC_GFOFFSET3D(u,-4,-4,0),KRANC_GFOFFSET3D(u,4,4,0)),ToReal(9),kmadd(kadd(KRANC_GFOFFSET3D(u,-3,4,0),kadd(KRANC_GFOFFSET3D(u,3,-4,0),kadd(KRANC_GFOFFSET3D(u,-4,3,0),KRANC_GFOFFSET3D(u,4,-3,0)))),ToReal(96),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,-4,0),kadd(KRANC_GFOFFSET3D(u,2,4,0),kadd(KRANC_GFOFFSET3D(u,-4,-2,0),KRANC_GFOFFSET3D(u,4,2,0)))),ToReal(504),kmadd(kadd(KRANC_GFOFFSET3D(u,-3,-3,0),KRANC_GFOFFSET3D(u,3,3,0)),ToReal(1024),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,4,0),kadd(KRANC_GFOFFSET3D(u,1,-4,0),kadd(KRANC_GFOFFSET3D(u,-4,1,0),KRANC_GFOFFSET3D(u,4,-1,0)))),ToReal(2016),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,3,0),kadd(KRANC_GFOFFSET3D(u,2,-3,0),kadd(KRANC_GFOFFSET3D(u,-3,2,0),KRANC_GFOFFSET3D(u,3,-2,0)))),ToReal(5376),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,-3,0),kadd(KRANC_GFOFFSET3D(u,1,3,0),kadd(KRANC_GFOFFSET3D(u,-3,-1,0),KRANC_GFOFFSET3D(u,3,1,0)))),ToReal(21504),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,-2,0),KRANC_GFOFFSET3D(u,2,2,0)),ToReal(28224),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,2,0),kadd(KRANC_GFOFFSET3D(u,1,-2,0),kadd(KRANC_GFOFFSET3D(u,-2,1,0),KRANC_GFOFFSET3D(u,2,-1,0)))),ToReal(112896),kmul(kadd(KRANC_GFOFFSET3D(u,-1,-1,0),KRANC_GFOFFSET3D(u,1,1,0)),ToReal(451584))))))))))))))))))))));
+ return kmul(p1o705600dxdy,kmadd(ToReal(-451584),kadd(KRANC_GFOFFSET3D(u,-1,1,0),KRANC_GFOFFSET3D(u,1,-1,0)),kmadd(ToReal(451584),kadd(KRANC_GFOFFSET3D(u,-1,-1,0),KRANC_GFOFFSET3D(u,1,1,0)),kmadd(ToReal(112896),kadd(KRANC_GFOFFSET3D(u,-1,2,0),kadd(KRANC_GFOFFSET3D(u,1,-2,0),kadd(KRANC_GFOFFSET3D(u,-2,1,0),KRANC_GFOFFSET3D(u,2,-1,0)))),kmadd(ToReal(-112896),kadd(KRANC_GFOFFSET3D(u,-1,-2,0),kadd(KRANC_GFOFFSET3D(u,1,2,0),kadd(KRANC_GFOFFSET3D(u,-2,-1,0),KRANC_GFOFFSET3D(u,2,1,0)))),kmadd(ToReal(-28224),kadd(KRANC_GFOFFSET3D(u,-2,2,0),KRANC_GFOFFSET3D(u,2,-2,0)),kmadd(ToReal(28224),kadd(KRANC_GFOFFSET3D(u,-2,-2,0),KRANC_GFOFFSET3D(u,2,2,0)),kmadd(ToReal(-21504),kadd(KRANC_GFOFFSET3D(u,-1,3,0),kadd(KRANC_GFOFFSET3D(u,1,-3,0),kadd(KRANC_GFOFFSET3D(u,-3,1,0),KRANC_GFOFFSET3D(u,3,-1,0)))),kmadd(ToReal(21504),kadd(KRANC_GFOFFSET3D(u,-1,-3,0),kadd(KRANC_GFOFFSET3D(u,1,3,0),kadd(KRANC_GFOFFSET3D(u,-3,-1,0),KRANC_GFOFFSET3D(u,3,1,0)))),kmadd(ToReal(5376),kadd(KRANC_GFOFFSET3D(u,-2,3,0),kadd(KRANC_GFOFFSET3D(u,2,-3,0),kadd(KRANC_GFOFFSET3D(u,-3,2,0),KRANC_GFOFFSET3D(u,3,-2,0)))),kmadd(ToReal(-5376),kadd(KRANC_GFOFFSET3D(u,-2,-3,0),kadd(KRANC_GFOFFSET3D(u,2,3,0),kadd(KRANC_GFOFFSET3D(u,-3,-2,0),KRANC_GFOFFSET3D(u,3,2,0)))),kmadd(ToReal(-1024),kadd(KRANC_GFOFFSET3D(u,-3,3,0),KRANC_GFOFFSET3D(u,3,-3,0)),kmadd(ToReal(1024),kadd(KRANC_GFOFFSET3D(u,-3,-3,0),KRANC_GFOFFSET3D(u,3,3,0)),kmadd(ToReal(2016),kadd(KRANC_GFOFFSET3D(u,-1,4,0),kadd(KRANC_GFOFFSET3D(u,1,-4,0),kadd(KRANC_GFOFFSET3D(u,-4,1,0),KRANC_GFOFFSET3D(u,4,-1,0)))),kmadd(ToReal(-2016),kadd(KRANC_GFOFFSET3D(u,-1,-4,0),kadd(KRANC_GFOFFSET3D(u,1,4,0),kadd(KRANC_GFOFFSET3D(u,-4,-1,0),KRANC_GFOFFSET3D(u,4,1,0)))),kmadd(ToReal(-504),kadd(KRANC_GFOFFSET3D(u,-2,4,0),kadd(KRANC_GFOFFSET3D(u,2,-4,0),kadd(KRANC_GFOFFSET3D(u,-4,2,0),KRANC_GFOFFSET3D(u,4,-2,0)))),kmadd(ToReal(504),kadd(KRANC_GFOFFSET3D(u,-2,-4,0),kadd(KRANC_GFOFFSET3D(u,2,4,0),kadd(KRANC_GFOFFSET3D(u,-4,-2,0),KRANC_GFOFFSET3D(u,4,2,0)))),kmadd(ToReal(96),kadd(KRANC_GFOFFSET3D(u,-3,4,0),kadd(KRANC_GFOFFSET3D(u,3,-4,0),kadd(KRANC_GFOFFSET3D(u,-4,3,0),KRANC_GFOFFSET3D(u,4,-3,0)))),kmadd(ToReal(-96),kadd(KRANC_GFOFFSET3D(u,-3,-4,0),kadd(KRANC_GFOFFSET3D(u,3,4,0),kadd(KRANC_GFOFFSET3D(u,-4,-3,0),KRANC_GFOFFSET3D(u,4,3,0)))),kmadd(ToReal(-9),kadd(KRANC_GFOFFSET3D(u,-4,4,0),KRANC_GFOFFSET3D(u,4,-4,0)),kmul(ToReal(9),kadd(KRANC_GFOFFSET3D(u,-4,-4,0),KRANC_GFOFFSET3D(u,4,4,0)))))))))))))))))))))));
}
#endif
#ifndef KRANC_DIFF_FUNCTIONS
-# define PDstandardfdOrder813(u) (kmul(p1o705600dxdz,kmadd(kadd(KRANC_GFOFFSET3D(u,-1,0,1),KRANC_GFOFFSET3D(u,1,0,-1)),ToReal(-451584),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,0,-2),kadd(KRANC_GFOFFSET3D(u,1,0,2),kadd(KRANC_GFOFFSET3D(u,-2,0,-1),KRANC_GFOFFSET3D(u,2,0,1)))),ToReal(-112896),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,0,2),KRANC_GFOFFSET3D(u,2,0,-2)),ToReal(-28224),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,0,3),kadd(KRANC_GFOFFSET3D(u,1,0,-3),kadd(KRANC_GFOFFSET3D(u,-3,0,1),KRANC_GFOFFSET3D(u,3,0,-1)))),ToReal(-21504),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,0,-3),kadd(KRANC_GFOFFSET3D(u,2,0,3),kadd(KRANC_GFOFFSET3D(u,-3,0,-2),KRANC_GFOFFSET3D(u,3,0,2)))),ToReal(-5376),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,0,-4),kadd(KRANC_GFOFFSET3D(u,1,0,4),kadd(KRANC_GFOFFSET3D(u,-4,0,-1),KRANC_GFOFFSET3D(u,4,0,1)))),ToReal(-2016),kmadd(kadd(KRANC_GFOFFSET3D(u,-3,0,3),KRANC_GFOFFSET3D(u,3,0,-3)),ToReal(-1024),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,0,4),kadd(KRANC_GFOFFSET3D(u,2,0,-4),kadd(KRANC_GFOFFSET3D(u,-4,0,2),KRANC_GFOFFSET3D(u,4,0,-2)))),ToReal(-504),kmadd(kadd(KRANC_GFOFFSET3D(u,-3,0,-4),kadd(KRANC_GFOFFSET3D(u,3,0,4),kadd(KRANC_GFOFFSET3D(u,-4,0,-3),KRANC_GFOFFSET3D(u,4,0,3)))),ToReal(-96),kmadd(kadd(KRANC_GFOFFSET3D(u,-4,0,4),KRANC_GFOFFSET3D(u,4,0,-4)),ToReal(-9),kmadd(kadd(KRANC_GFOFFSET3D(u,-4,0,-4),KRANC_GFOFFSET3D(u,4,0,4)),ToReal(9),kmadd(kadd(KRANC_GFOFFSET3D(u,-3,0,4),kadd(KRANC_GFOFFSET3D(u,3,0,-4),kadd(KRANC_GFOFFSET3D(u,-4,0,3),KRANC_GFOFFSET3D(u,4,0,-3)))),ToReal(96),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,0,-4),kadd(KRANC_GFOFFSET3D(u,2,0,4),kadd(KRANC_GFOFFSET3D(u,-4,0,-2),KRANC_GFOFFSET3D(u,4,0,2)))),ToReal(504),kmadd(kadd(KRANC_GFOFFSET3D(u,-3,0,-3),KRANC_GFOFFSET3D(u,3,0,3)),ToReal(1024),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,0,4),kadd(KRANC_GFOFFSET3D(u,1,0,-4),kadd(KRANC_GFOFFSET3D(u,-4,0,1),KRANC_GFOFFSET3D(u,4,0,-1)))),ToReal(2016),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,0,3),kadd(KRANC_GFOFFSET3D(u,2,0,-3),kadd(KRANC_GFOFFSET3D(u,-3,0,2),KRANC_GFOFFSET3D(u,3,0,-2)))),ToReal(5376),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,0,-3),kadd(KRANC_GFOFFSET3D(u,1,0,3),kadd(KRANC_GFOFFSET3D(u,-3,0,-1),KRANC_GFOFFSET3D(u,3,0,1)))),ToReal(21504),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,0,-2),KRANC_GFOFFSET3D(u,2,0,2)),ToReal(28224),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,0,2),kadd(KRANC_GFOFFSET3D(u,1,0,-2),kadd(KRANC_GFOFFSET3D(u,-2,0,1),KRANC_GFOFFSET3D(u,2,0,-1)))),ToReal(112896),kmul(kadd(KRANC_GFOFFSET3D(u,-1,0,-1),KRANC_GFOFFSET3D(u,1,0,1)),ToReal(451584)))))))))))))))))))))))
+# define PDstandardfdOrder813(u) (kmul(p1o705600dxdz,kmadd(ToReal(-451584),kadd(KRANC_GFOFFSET3D(u,-1,0,1),KRANC_GFOFFSET3D(u,1,0,-1)),kmadd(ToReal(451584),kadd(KRANC_GFOFFSET3D(u,-1,0,-1),KRANC_GFOFFSET3D(u,1,0,1)),kmadd(ToReal(112896),kadd(KRANC_GFOFFSET3D(u,-1,0,2),kadd(KRANC_GFOFFSET3D(u,1,0,-2),kadd(KRANC_GFOFFSET3D(u,-2,0,1),KRANC_GFOFFSET3D(u,2,0,-1)))),kmadd(ToReal(-112896),kadd(KRANC_GFOFFSET3D(u,-1,0,-2),kadd(KRANC_GFOFFSET3D(u,1,0,2),kadd(KRANC_GFOFFSET3D(u,-2,0,-1),KRANC_GFOFFSET3D(u,2,0,1)))),kmadd(ToReal(-28224),kadd(KRANC_GFOFFSET3D(u,-2,0,2),KRANC_GFOFFSET3D(u,2,0,-2)),kmadd(ToReal(28224),kadd(KRANC_GFOFFSET3D(u,-2,0,-2),KRANC_GFOFFSET3D(u,2,0,2)),kmadd(ToReal(-21504),kadd(KRANC_GFOFFSET3D(u,-1,0,3),kadd(KRANC_GFOFFSET3D(u,1,0,-3),kadd(KRANC_GFOFFSET3D(u,-3,0,1),KRANC_GFOFFSET3D(u,3,0,-1)))),kmadd(ToReal(21504),kadd(KRANC_GFOFFSET3D(u,-1,0,-3),kadd(KRANC_GFOFFSET3D(u,1,0,3),kadd(KRANC_GFOFFSET3D(u,-3,0,-1),KRANC_GFOFFSET3D(u,3,0,1)))),kmadd(ToReal(5376),kadd(KRANC_GFOFFSET3D(u,-2,0,3),kadd(KRANC_GFOFFSET3D(u,2,0,-3),kadd(KRANC_GFOFFSET3D(u,-3,0,2),KRANC_GFOFFSET3D(u,3,0,-2)))),kmadd(ToReal(-5376),kadd(KRANC_GFOFFSET3D(u,-2,0,-3),kadd(KRANC_GFOFFSET3D(u,2,0,3),kadd(KRANC_GFOFFSET3D(u,-3,0,-2),KRANC_GFOFFSET3D(u,3,0,2)))),kmadd(ToReal(-1024),kadd(KRANC_GFOFFSET3D(u,-3,0,3),KRANC_GFOFFSET3D(u,3,0,-3)),kmadd(ToReal(1024),kadd(KRANC_GFOFFSET3D(u,-3,0,-3),KRANC_GFOFFSET3D(u,3,0,3)),kmadd(ToReal(2016),kadd(KRANC_GFOFFSET3D(u,-1,0,4),kadd(KRANC_GFOFFSET3D(u,1,0,-4),kadd(KRANC_GFOFFSET3D(u,-4,0,1),KRANC_GFOFFSET3D(u,4,0,-1)))),kmadd(ToReal(-2016),kadd(KRANC_GFOFFSET3D(u,-1,0,-4),kadd(KRANC_GFOFFSET3D(u,1,0,4),kadd(KRANC_GFOFFSET3D(u,-4,0,-1),KRANC_GFOFFSET3D(u,4,0,1)))),kmadd(ToReal(-504),kadd(KRANC_GFOFFSET3D(u,-2,0,4),kadd(KRANC_GFOFFSET3D(u,2,0,-4),kadd(KRANC_GFOFFSET3D(u,-4,0,2),KRANC_GFOFFSET3D(u,4,0,-2)))),kmadd(ToReal(504),kadd(KRANC_GFOFFSET3D(u,-2,0,-4),kadd(KRANC_GFOFFSET3D(u,2,0,4),kadd(KRANC_GFOFFSET3D(u,-4,0,-2),KRANC_GFOFFSET3D(u,4,0,2)))),kmadd(ToReal(96),kadd(KRANC_GFOFFSET3D(u,-3,0,4),kadd(KRANC_GFOFFSET3D(u,3,0,-4),kadd(KRANC_GFOFFSET3D(u,-4,0,3),KRANC_GFOFFSET3D(u,4,0,-3)))),kmadd(ToReal(-96),kadd(KRANC_GFOFFSET3D(u,-3,0,-4),kadd(KRANC_GFOFFSET3D(u,3,0,4),kadd(KRANC_GFOFFSET3D(u,-4,0,-3),KRANC_GFOFFSET3D(u,4,0,3)))),kmadd(ToReal(-9),kadd(KRANC_GFOFFSET3D(u,-4,0,4),KRANC_GFOFFSET3D(u,4,0,-4)),kmul(ToReal(9),kadd(KRANC_GFOFFSET3D(u,-4,0,-4),KRANC_GFOFFSET3D(u,4,0,4))))))))))))))))))))))))
#else
# define PDstandardfdOrder813(u) (PDstandardfdOrder813_impl(u,p1o705600dxdz,cdj,cdk))
static CCTK_REAL_VEC PDstandardfdOrder813_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o705600dxdz, const ptrdiff_t cdj, const ptrdiff_t cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
@@ -818,7 +818,7 @@ static CCTK_REAL_VEC PDstandardfdOrder813_impl(const CCTK_REAL* restrict const u
#endif
#ifndef KRANC_DIFF_FUNCTIONS
-# define PDstandardfdOrder821(u) (kmul(p1o705600dxdy,kmadd(kadd(KRANC_GFOFFSET3D(u,-1,1,0),KRANC_GFOFFSET3D(u,1,-1,0)),ToReal(-451584),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,-2,0),kadd(KRANC_GFOFFSET3D(u,1,2,0),kadd(KRANC_GFOFFSET3D(u,-2,-1,0),KRANC_GFOFFSET3D(u,2,1,0)))),ToReal(-112896),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,2,0),KRANC_GFOFFSET3D(u,2,-2,0)),ToReal(-28224),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,3,0),kadd(KRANC_GFOFFSET3D(u,1,-3,0),kadd(KRANC_GFOFFSET3D(u,-3,1,0),KRANC_GFOFFSET3D(u,3,-1,0)))),ToReal(-21504),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,-3,0),kadd(KRANC_GFOFFSET3D(u,2,3,0),kadd(KRANC_GFOFFSET3D(u,-3,-2,0),KRANC_GFOFFSET3D(u,3,2,0)))),ToReal(-5376),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,-4,0),kadd(KRANC_GFOFFSET3D(u,1,4,0),kadd(KRANC_GFOFFSET3D(u,-4,-1,0),KRANC_GFOFFSET3D(u,4,1,0)))),ToReal(-2016),kmadd(kadd(KRANC_GFOFFSET3D(u,-3,3,0),KRANC_GFOFFSET3D(u,3,-3,0)),ToReal(-1024),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,4,0),kadd(KRANC_GFOFFSET3D(u,2,-4,0),kadd(KRANC_GFOFFSET3D(u,-4,2,0),KRANC_GFOFFSET3D(u,4,-2,0)))),ToReal(-504),kmadd(kadd(KRANC_GFOFFSET3D(u,-3,-4,0),kadd(KRANC_GFOFFSET3D(u,3,4,0),kadd(KRANC_GFOFFSET3D(u,-4,-3,0),KRANC_GFOFFSET3D(u,4,3,0)))),ToReal(-96),kmadd(kadd(KRANC_GFOFFSET3D(u,-4,4,0),KRANC_GFOFFSET3D(u,4,-4,0)),ToReal(-9),kmadd(kadd(KRANC_GFOFFSET3D(u,-4,-4,0),KRANC_GFOFFSET3D(u,4,4,0)),ToReal(9),kmadd(kadd(KRANC_GFOFFSET3D(u,-3,4,0),kadd(KRANC_GFOFFSET3D(u,3,-4,0),kadd(KRANC_GFOFFSET3D(u,-4,3,0),KRANC_GFOFFSET3D(u,4,-3,0)))),ToReal(96),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,-4,0),kadd(KRANC_GFOFFSET3D(u,2,4,0),kadd(KRANC_GFOFFSET3D(u,-4,-2,0),KRANC_GFOFFSET3D(u,4,2,0)))),ToReal(504),kmadd(kadd(KRANC_GFOFFSET3D(u,-3,-3,0),KRANC_GFOFFSET3D(u,3,3,0)),ToReal(1024),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,4,0),kadd(KRANC_GFOFFSET3D(u,1,-4,0),kadd(KRANC_GFOFFSET3D(u,-4,1,0),KRANC_GFOFFSET3D(u,4,-1,0)))),ToReal(2016),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,3,0),kadd(KRANC_GFOFFSET3D(u,2,-3,0),kadd(KRANC_GFOFFSET3D(u,-3,2,0),KRANC_GFOFFSET3D(u,3,-2,0)))),ToReal(5376),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,-3,0),kadd(KRANC_GFOFFSET3D(u,1,3,0),kadd(KRANC_GFOFFSET3D(u,-3,-1,0),KRANC_GFOFFSET3D(u,3,1,0)))),ToReal(21504),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,-2,0),KRANC_GFOFFSET3D(u,2,2,0)),ToReal(28224),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,2,0),kadd(KRANC_GFOFFSET3D(u,1,-2,0),kadd(KRANC_GFOFFSET3D(u,-2,1,0),KRANC_GFOFFSET3D(u,2,-1,0)))),ToReal(112896),kmul(kadd(KRANC_GFOFFSET3D(u,-1,-1,0),KRANC_GFOFFSET3D(u,1,1,0)),ToReal(451584)))))))))))))))))))))))
+# define PDstandardfdOrder821(u) (kmul(p1o705600dxdy,kmadd(ToReal(-451584),kadd(KRANC_GFOFFSET3D(u,-1,1,0),KRANC_GFOFFSET3D(u,1,-1,0)),kmadd(ToReal(451584),kadd(KRANC_GFOFFSET3D(u,-1,-1,0),KRANC_GFOFFSET3D(u,1,1,0)),kmadd(ToReal(112896),kadd(KRANC_GFOFFSET3D(u,-1,2,0),kadd(KRANC_GFOFFSET3D(u,1,-2,0),kadd(KRANC_GFOFFSET3D(u,-2,1,0),KRANC_GFOFFSET3D(u,2,-1,0)))),kmadd(ToReal(-112896),kadd(KRANC_GFOFFSET3D(u,-1,-2,0),kadd(KRANC_GFOFFSET3D(u,1,2,0),kadd(KRANC_GFOFFSET3D(u,-2,-1,0),KRANC_GFOFFSET3D(u,2,1,0)))),kmadd(ToReal(-28224),kadd(KRANC_GFOFFSET3D(u,-2,2,0),KRANC_GFOFFSET3D(u,2,-2,0)),kmadd(ToReal(28224),kadd(KRANC_GFOFFSET3D(u,-2,-2,0),KRANC_GFOFFSET3D(u,2,2,0)),kmadd(ToReal(-21504),kadd(KRANC_GFOFFSET3D(u,-1,3,0),kadd(KRANC_GFOFFSET3D(u,1,-3,0),kadd(KRANC_GFOFFSET3D(u,-3,1,0),KRANC_GFOFFSET3D(u,3,-1,0)))),kmadd(ToReal(21504),kadd(KRANC_GFOFFSET3D(u,-1,-3,0),kadd(KRANC_GFOFFSET3D(u,1,3,0),kadd(KRANC_GFOFFSET3D(u,-3,-1,0),KRANC_GFOFFSET3D(u,3,1,0)))),kmadd(ToReal(5376),kadd(KRANC_GFOFFSET3D(u,-2,3,0),kadd(KRANC_GFOFFSET3D(u,2,-3,0),kadd(KRANC_GFOFFSET3D(u,-3,2,0),KRANC_GFOFFSET3D(u,3,-2,0)))),kmadd(ToReal(-5376),kadd(KRANC_GFOFFSET3D(u,-2,-3,0),kadd(KRANC_GFOFFSET3D(u,2,3,0),kadd(KRANC_GFOFFSET3D(u,-3,-2,0),KRANC_GFOFFSET3D(u,3,2,0)))),kmadd(ToReal(-1024),kadd(KRANC_GFOFFSET3D(u,-3,3,0),KRANC_GFOFFSET3D(u,3,-3,0)),kmadd(ToReal(1024),kadd(KRANC_GFOFFSET3D(u,-3,-3,0),KRANC_GFOFFSET3D(u,3,3,0)),kmadd(ToReal(2016),kadd(KRANC_GFOFFSET3D(u,-1,4,0),kadd(KRANC_GFOFFSET3D(u,1,-4,0),kadd(KRANC_GFOFFSET3D(u,-4,1,0),KRANC_GFOFFSET3D(u,4,-1,0)))),kmadd(ToReal(-2016),kadd(KRANC_GFOFFSET3D(u,-1,-4,0),kadd(KRANC_GFOFFSET3D(u,1,4,0),kadd(KRANC_GFOFFSET3D(u,-4,-1,0),KRANC_GFOFFSET3D(u,4,1,0)))),kmadd(ToReal(-504),kadd(KRANC_GFOFFSET3D(u,-2,4,0),kadd(KRANC_GFOFFSET3D(u,2,-4,0),kadd(KRANC_GFOFFSET3D(u,-4,2,0),KRANC_GFOFFSET3D(u,4,-2,0)))),kmadd(ToReal(504),kadd(KRANC_GFOFFSET3D(u,-2,-4,0),kadd(KRANC_GFOFFSET3D(u,2,4,0),kadd(KRANC_GFOFFSET3D(u,-4,-2,0),KRANC_GFOFFSET3D(u,4,2,0)))),kmadd(ToReal(96),kadd(KRANC_GFOFFSET3D(u,-3,4,0),kadd(KRANC_GFOFFSET3D(u,3,-4,0),kadd(KRANC_GFOFFSET3D(u,-4,3,0),KRANC_GFOFFSET3D(u,4,-3,0)))),kmadd(ToReal(-96),kadd(KRANC_GFOFFSET3D(u,-3,-4,0),kadd(KRANC_GFOFFSET3D(u,3,4,0),kadd(KRANC_GFOFFSET3D(u,-4,-3,0),KRANC_GFOFFSET3D(u,4,3,0)))),kmadd(ToReal(-9),kadd(KRANC_GFOFFSET3D(u,-4,4,0),KRANC_GFOFFSET3D(u,4,-4,0)),kmul(ToReal(9),kadd(KRANC_GFOFFSET3D(u,-4,-4,0),KRANC_GFOFFSET3D(u,4,4,0))))))))))))))))))))))))
#else
# define PDstandardfdOrder821(u) (PDstandardfdOrder821_impl(u,p1o705600dxdy,cdj,cdk))
static CCTK_REAL_VEC PDstandardfdOrder821_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o705600dxdy, const ptrdiff_t cdj, const ptrdiff_t cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
@@ -830,19 +830,19 @@ static CCTK_REAL_VEC PDstandardfdOrder821_impl(const CCTK_REAL* restrict const u
#endif
#ifndef KRANC_DIFF_FUNCTIONS
-# define PDstandardfdOrder823(u) (kmul(p1o705600dydz,kmadd(kadd(KRANC_GFOFFSET3D(u,0,-1,1),KRANC_GFOFFSET3D(u,0,1,-1)),ToReal(-451584),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-1,-2),kadd(KRANC_GFOFFSET3D(u,0,1,2),kadd(KRANC_GFOFFSET3D(u,0,-2,-1),KRANC_GFOFFSET3D(u,0,2,1)))),ToReal(-112896),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-2,2),KRANC_GFOFFSET3D(u,0,2,-2)),ToReal(-28224),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-1,3),kadd(KRANC_GFOFFSET3D(u,0,1,-3),kadd(KRANC_GFOFFSET3D(u,0,-3,1),KRANC_GFOFFSET3D(u,0,3,-1)))),ToReal(-21504),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-2,-3),kadd(KRANC_GFOFFSET3D(u,0,2,3),kadd(KRANC_GFOFFSET3D(u,0,-3,-2),KRANC_GFOFFSET3D(u,0,3,2)))),ToReal(-5376),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-1,-4),kadd(KRANC_GFOFFSET3D(u,0,1,4),kadd(KRANC_GFOFFSET3D(u,0,-4,-1),KRANC_GFOFFSET3D(u,0,4,1)))),ToReal(-2016),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-3,3),KRANC_GFOFFSET3D(u,0,3,-3)),ToReal(-1024),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-2,4),kadd(KRANC_GFOFFSET3D(u,0,2,-4),kadd(KRANC_GFOFFSET3D(u,0,-4,2),KRANC_GFOFFSET3D(u,0,4,-2)))),ToReal(-504),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-3,-4),kadd(KRANC_GFOFFSET3D(u,0,3,4),kadd(KRANC_GFOFFSET3D(u,0,-4,-3),KRANC_GFOFFSET3D(u,0,4,3)))),ToReal(-96),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-4,4),KRANC_GFOFFSET3D(u,0,4,-4)),ToReal(-9),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-4,-4),KRANC_GFOFFSET3D(u,0,4,4)),ToReal(9),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-3,4),kadd(KRANC_GFOFFSET3D(u,0,3,-4),kadd(KRANC_GFOFFSET3D(u,0,-4,3),KRANC_GFOFFSET3D(u,0,4,-3)))),ToReal(96),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-2,-4),kadd(KRANC_GFOFFSET3D(u,0,2,4),kadd(KRANC_GFOFFSET3D(u,0,-4,-2),KRANC_GFOFFSET3D(u,0,4,2)))),ToReal(504),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-3,-3),KRANC_GFOFFSET3D(u,0,3,3)),ToReal(1024),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-1,4),kadd(KRANC_GFOFFSET3D(u,0,1,-4),kadd(KRANC_GFOFFSET3D(u,0,-4,1),KRANC_GFOFFSET3D(u,0,4,-1)))),ToReal(2016),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-2,3),kadd(KRANC_GFOFFSET3D(u,0,2,-3),kadd(KRANC_GFOFFSET3D(u,0,-3,2),KRANC_GFOFFSET3D(u,0,3,-2)))),ToReal(5376),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-1,-3),kadd(KRANC_GFOFFSET3D(u,0,1,3),kadd(KRANC_GFOFFSET3D(u,0,-3,-1),KRANC_GFOFFSET3D(u,0,3,1)))),ToReal(21504),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-2,-2),KRANC_GFOFFSET3D(u,0,2,2)),ToReal(28224),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-1,2),kadd(KRANC_GFOFFSET3D(u,0,1,-2),kadd(KRANC_GFOFFSET3D(u,0,-2,1),KRANC_GFOFFSET3D(u,0,2,-1)))),ToReal(112896),kmul(kadd(KRANC_GFOFFSET3D(u,0,-1,-1),KRANC_GFOFFSET3D(u,0,1,1)),ToReal(451584)))))))))))))))))))))))
+# define PDstandardfdOrder823(u) (kmul(p1o705600dydz,kmadd(ToReal(-451584),kadd(KRANC_GFOFFSET3D(u,0,-1,1),KRANC_GFOFFSET3D(u,0,1,-1)),kmadd(ToReal(451584),kadd(KRANC_GFOFFSET3D(u,0,-1,-1),KRANC_GFOFFSET3D(u,0,1,1)),kmadd(ToReal(112896),kadd(KRANC_GFOFFSET3D(u,0,-1,2),kadd(KRANC_GFOFFSET3D(u,0,1,-2),kadd(KRANC_GFOFFSET3D(u,0,-2,1),KRANC_GFOFFSET3D(u,0,2,-1)))),kmadd(ToReal(-112896),kadd(KRANC_GFOFFSET3D(u,0,-1,-2),kadd(KRANC_GFOFFSET3D(u,0,1,2),kadd(KRANC_GFOFFSET3D(u,0,-2,-1),KRANC_GFOFFSET3D(u,0,2,1)))),kmadd(ToReal(-28224),kadd(KRANC_GFOFFSET3D(u,0,-2,2),KRANC_GFOFFSET3D(u,0,2,-2)),kmadd(ToReal(28224),kadd(KRANC_GFOFFSET3D(u,0,-2,-2),KRANC_GFOFFSET3D(u,0,2,2)),kmadd(ToReal(-21504),kadd(KRANC_GFOFFSET3D(u,0,-1,3),kadd(KRANC_GFOFFSET3D(u,0,1,-3),kadd(KRANC_GFOFFSET3D(u,0,-3,1),KRANC_GFOFFSET3D(u,0,3,-1)))),kmadd(ToReal(21504),kadd(KRANC_GFOFFSET3D(u,0,-1,-3),kadd(KRANC_GFOFFSET3D(u,0,1,3),kadd(KRANC_GFOFFSET3D(u,0,-3,-1),KRANC_GFOFFSET3D(u,0,3,1)))),kmadd(ToReal(5376),kadd(KRANC_GFOFFSET3D(u,0,-2,3),kadd(KRANC_GFOFFSET3D(u,0,2,-3),kadd(KRANC_GFOFFSET3D(u,0,-3,2),KRANC_GFOFFSET3D(u,0,3,-2)))),kmadd(ToReal(-5376),kadd(KRANC_GFOFFSET3D(u,0,-2,-3),kadd(KRANC_GFOFFSET3D(u,0,2,3),kadd(KRANC_GFOFFSET3D(u,0,-3,-2),KRANC_GFOFFSET3D(u,0,3,2)))),kmadd(ToReal(-1024),kadd(KRANC_GFOFFSET3D(u,0,-3,3),KRANC_GFOFFSET3D(u,0,3,-3)),kmadd(ToReal(1024),kadd(KRANC_GFOFFSET3D(u,0,-3,-3),KRANC_GFOFFSET3D(u,0,3,3)),kmadd(ToReal(2016),kadd(KRANC_GFOFFSET3D(u,0,-1,4),kadd(KRANC_GFOFFSET3D(u,0,1,-4),kadd(KRANC_GFOFFSET3D(u,0,-4,1),KRANC_GFOFFSET3D(u,0,4,-1)))),kmadd(ToReal(-2016),kadd(KRANC_GFOFFSET3D(u,0,-1,-4),kadd(KRANC_GFOFFSET3D(u,0,1,4),kadd(KRANC_GFOFFSET3D(u,0,-4,-1),KRANC_GFOFFSET3D(u,0,4,1)))),kmadd(ToReal(-504),kadd(KRANC_GFOFFSET3D(u,0,-2,4),kadd(KRANC_GFOFFSET3D(u,0,2,-4),kadd(KRANC_GFOFFSET3D(u,0,-4,2),KRANC_GFOFFSET3D(u,0,4,-2)))),kmadd(ToReal(504),kadd(KRANC_GFOFFSET3D(u,0,-2,-4),kadd(KRANC_GFOFFSET3D(u,0,2,4),kadd(KRANC_GFOFFSET3D(u,0,-4,-2),KRANC_GFOFFSET3D(u,0,4,2)))),kmadd(ToReal(96),kadd(KRANC_GFOFFSET3D(u,0,-3,4),kadd(KRANC_GFOFFSET3D(u,0,3,-4),kadd(KRANC_GFOFFSET3D(u,0,-4,3),KRANC_GFOFFSET3D(u,0,4,-3)))),kmadd(ToReal(-96),kadd(KRANC_GFOFFSET3D(u,0,-3,-4),kadd(KRANC_GFOFFSET3D(u,0,3,4),kadd(KRANC_GFOFFSET3D(u,0,-4,-3),KRANC_GFOFFSET3D(u,0,4,3)))),kmadd(ToReal(-9),kadd(KRANC_GFOFFSET3D(u,0,-4,4),KRANC_GFOFFSET3D(u,0,4,-4)),kmul(ToReal(9),kadd(KRANC_GFOFFSET3D(u,0,-4,-4),KRANC_GFOFFSET3D(u,0,4,4))))))))))))))))))))))))
#else
# define PDstandardfdOrder823(u) (PDstandardfdOrder823_impl(u,p1o705600dydz,cdj,cdk))
static CCTK_REAL_VEC PDstandardfdOrder823_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o705600dydz, const ptrdiff_t cdj, const ptrdiff_t cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
static CCTK_REAL_VEC PDstandardfdOrder823_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o705600dydz, const ptrdiff_t cdj, const ptrdiff_t cdk)
{
const ptrdiff_t cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL);
- return kmul(p1o705600dydz,kmadd(kadd(KRANC_GFOFFSET3D(u,0,-1,1),KRANC_GFOFFSET3D(u,0,1,-1)),ToReal(-451584),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-1,-2),kadd(KRANC_GFOFFSET3D(u,0,1,2),kadd(KRANC_GFOFFSET3D(u,0,-2,-1),KRANC_GFOFFSET3D(u,0,2,1)))),ToReal(-112896),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-2,2),KRANC_GFOFFSET3D(u,0,2,-2)),ToReal(-28224),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-1,3),kadd(KRANC_GFOFFSET3D(u,0,1,-3),kadd(KRANC_GFOFFSET3D(u,0,-3,1),KRANC_GFOFFSET3D(u,0,3,-1)))),ToReal(-21504),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-2,-3),kadd(KRANC_GFOFFSET3D(u,0,2,3),kadd(KRANC_GFOFFSET3D(u,0,-3,-2),KRANC_GFOFFSET3D(u,0,3,2)))),ToReal(-5376),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-1,-4),kadd(KRANC_GFOFFSET3D(u,0,1,4),kadd(KRANC_GFOFFSET3D(u,0,-4,-1),KRANC_GFOFFSET3D(u,0,4,1)))),ToReal(-2016),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-3,3),KRANC_GFOFFSET3D(u,0,3,-3)),ToReal(-1024),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-2,4),kadd(KRANC_GFOFFSET3D(u,0,2,-4),kadd(KRANC_GFOFFSET3D(u,0,-4,2),KRANC_GFOFFSET3D(u,0,4,-2)))),ToReal(-504),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-3,-4),kadd(KRANC_GFOFFSET3D(u,0,3,4),kadd(KRANC_GFOFFSET3D(u,0,-4,-3),KRANC_GFOFFSET3D(u,0,4,3)))),ToReal(-96),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-4,4),KRANC_GFOFFSET3D(u,0,4,-4)),ToReal(-9),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-4,-4),KRANC_GFOFFSET3D(u,0,4,4)),ToReal(9),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-3,4),kadd(KRANC_GFOFFSET3D(u,0,3,-4),kadd(KRANC_GFOFFSET3D(u,0,-4,3),KRANC_GFOFFSET3D(u,0,4,-3)))),ToReal(96),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-2,-4),kadd(KRANC_GFOFFSET3D(u,0,2,4),kadd(KRANC_GFOFFSET3D(u,0,-4,-2),KRANC_GFOFFSET3D(u,0,4,2)))),ToReal(504),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-3,-3),KRANC_GFOFFSET3D(u,0,3,3)),ToReal(1024),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-1,4),kadd(KRANC_GFOFFSET3D(u,0,1,-4),kadd(KRANC_GFOFFSET3D(u,0,-4,1),KRANC_GFOFFSET3D(u,0,4,-1)))),ToReal(2016),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-2,3),kadd(KRANC_GFOFFSET3D(u,0,2,-3),kadd(KRANC_GFOFFSET3D(u,0,-3,2),KRANC_GFOFFSET3D(u,0,3,-2)))),ToReal(5376),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-1,-3),kadd(KRANC_GFOFFSET3D(u,0,1,3),kadd(KRANC_GFOFFSET3D(u,0,-3,-1),KRANC_GFOFFSET3D(u,0,3,1)))),ToReal(21504),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-2,-2),KRANC_GFOFFSET3D(u,0,2,2)),ToReal(28224),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-1,2),kadd(KRANC_GFOFFSET3D(u,0,1,-2),kadd(KRANC_GFOFFSET3D(u,0,-2,1),KRANC_GFOFFSET3D(u,0,2,-1)))),ToReal(112896),kmul(kadd(KRANC_GFOFFSET3D(u,0,-1,-1),KRANC_GFOFFSET3D(u,0,1,1)),ToReal(451584))))))))))))))))))))));
+ return kmul(p1o705600dydz,kmadd(ToReal(-451584),kadd(KRANC_GFOFFSET3D(u,0,-1,1),KRANC_GFOFFSET3D(u,0,1,-1)),kmadd(ToReal(451584),kadd(KRANC_GFOFFSET3D(u,0,-1,-1),KRANC_GFOFFSET3D(u,0,1,1)),kmadd(ToReal(112896),kadd(KRANC_GFOFFSET3D(u,0,-1,2),kadd(KRANC_GFOFFSET3D(u,0,1,-2),kadd(KRANC_GFOFFSET3D(u,0,-2,1),KRANC_GFOFFSET3D(u,0,2,-1)))),kmadd(ToReal(-112896),kadd(KRANC_GFOFFSET3D(u,0,-1,-2),kadd(KRANC_GFOFFSET3D(u,0,1,2),kadd(KRANC_GFOFFSET3D(u,0,-2,-1),KRANC_GFOFFSET3D(u,0,2,1)))),kmadd(ToReal(-28224),kadd(KRANC_GFOFFSET3D(u,0,-2,2),KRANC_GFOFFSET3D(u,0,2,-2)),kmadd(ToReal(28224),kadd(KRANC_GFOFFSET3D(u,0,-2,-2),KRANC_GFOFFSET3D(u,0,2,2)),kmadd(ToReal(-21504),kadd(KRANC_GFOFFSET3D(u,0,-1,3),kadd(KRANC_GFOFFSET3D(u,0,1,-3),kadd(KRANC_GFOFFSET3D(u,0,-3,1),KRANC_GFOFFSET3D(u,0,3,-1)))),kmadd(ToReal(21504),kadd(KRANC_GFOFFSET3D(u,0,-1,-3),kadd(KRANC_GFOFFSET3D(u,0,1,3),kadd(KRANC_GFOFFSET3D(u,0,-3,-1),KRANC_GFOFFSET3D(u,0,3,1)))),kmadd(ToReal(5376),kadd(KRANC_GFOFFSET3D(u,0,-2,3),kadd(KRANC_GFOFFSET3D(u,0,2,-3),kadd(KRANC_GFOFFSET3D(u,0,-3,2),KRANC_GFOFFSET3D(u,0,3,-2)))),kmadd(ToReal(-5376),kadd(KRANC_GFOFFSET3D(u,0,-2,-3),kadd(KRANC_GFOFFSET3D(u,0,2,3),kadd(KRANC_GFOFFSET3D(u,0,-3,-2),KRANC_GFOFFSET3D(u,0,3,2)))),kmadd(ToReal(-1024),kadd(KRANC_GFOFFSET3D(u,0,-3,3),KRANC_GFOFFSET3D(u,0,3,-3)),kmadd(ToReal(1024),kadd(KRANC_GFOFFSET3D(u,0,-3,-3),KRANC_GFOFFSET3D(u,0,3,3)),kmadd(ToReal(2016),kadd(KRANC_GFOFFSET3D(u,0,-1,4),kadd(KRANC_GFOFFSET3D(u,0,1,-4),kadd(KRANC_GFOFFSET3D(u,0,-4,1),KRANC_GFOFFSET3D(u,0,4,-1)))),kmadd(ToReal(-2016),kadd(KRANC_GFOFFSET3D(u,0,-1,-4),kadd(KRANC_GFOFFSET3D(u,0,1,4),kadd(KRANC_GFOFFSET3D(u,0,-4,-1),KRANC_GFOFFSET3D(u,0,4,1)))),kmadd(ToReal(-504),kadd(KRANC_GFOFFSET3D(u,0,-2,4),kadd(KRANC_GFOFFSET3D(u,0,2,-4),kadd(KRANC_GFOFFSET3D(u,0,-4,2),KRANC_GFOFFSET3D(u,0,4,-2)))),kmadd(ToReal(504),kadd(KRANC_GFOFFSET3D(u,0,-2,-4),kadd(KRANC_GFOFFSET3D(u,0,2,4),kadd(KRANC_GFOFFSET3D(u,0,-4,-2),KRANC_GFOFFSET3D(u,0,4,2)))),kmadd(ToReal(96),kadd(KRANC_GFOFFSET3D(u,0,-3,4),kadd(KRANC_GFOFFSET3D(u,0,3,-4),kadd(KRANC_GFOFFSET3D(u,0,-4,3),KRANC_GFOFFSET3D(u,0,4,-3)))),kmadd(ToReal(-96),kadd(KRANC_GFOFFSET3D(u,0,-3,-4),kadd(KRANC_GFOFFSET3D(u,0,3,4),kadd(KRANC_GFOFFSET3D(u,0,-4,-3),KRANC_GFOFFSET3D(u,0,4,3)))),kmadd(ToReal(-9),kadd(KRANC_GFOFFSET3D(u,0,-4,4),KRANC_GFOFFSET3D(u,0,4,-4)),kmul(ToReal(9),kadd(KRANC_GFOFFSET3D(u,0,-4,-4),KRANC_GFOFFSET3D(u,0,4,4)))))))))))))))))))))));
}
#endif
#ifndef KRANC_DIFF_FUNCTIONS
-# define PDstandardfdOrder831(u) (kmul(p1o705600dxdz,kmadd(kadd(KRANC_GFOFFSET3D(u,-1,0,1),KRANC_GFOFFSET3D(u,1,0,-1)),ToReal(-451584),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,0,-2),kadd(KRANC_GFOFFSET3D(u,1,0,2),kadd(KRANC_GFOFFSET3D(u,-2,0,-1),KRANC_GFOFFSET3D(u,2,0,1)))),ToReal(-112896),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,0,2),KRANC_GFOFFSET3D(u,2,0,-2)),ToReal(-28224),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,0,3),kadd(KRANC_GFOFFSET3D(u,1,0,-3),kadd(KRANC_GFOFFSET3D(u,-3,0,1),KRANC_GFOFFSET3D(u,3,0,-1)))),ToReal(-21504),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,0,-3),kadd(KRANC_GFOFFSET3D(u,2,0,3),kadd(KRANC_GFOFFSET3D(u,-3,0,-2),KRANC_GFOFFSET3D(u,3,0,2)))),ToReal(-5376),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,0,-4),kadd(KRANC_GFOFFSET3D(u,1,0,4),kadd(KRANC_GFOFFSET3D(u,-4,0,-1),KRANC_GFOFFSET3D(u,4,0,1)))),ToReal(-2016),kmadd(kadd(KRANC_GFOFFSET3D(u,-3,0,3),KRANC_GFOFFSET3D(u,3,0,-3)),ToReal(-1024),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,0,4),kadd(KRANC_GFOFFSET3D(u,2,0,-4),kadd(KRANC_GFOFFSET3D(u,-4,0,2),KRANC_GFOFFSET3D(u,4,0,-2)))),ToReal(-504),kmadd(kadd(KRANC_GFOFFSET3D(u,-3,0,-4),kadd(KRANC_GFOFFSET3D(u,3,0,4),kadd(KRANC_GFOFFSET3D(u,-4,0,-3),KRANC_GFOFFSET3D(u,4,0,3)))),ToReal(-96),kmadd(kadd(KRANC_GFOFFSET3D(u,-4,0,4),KRANC_GFOFFSET3D(u,4,0,-4)),ToReal(-9),kmadd(kadd(KRANC_GFOFFSET3D(u,-4,0,-4),KRANC_GFOFFSET3D(u,4,0,4)),ToReal(9),kmadd(kadd(KRANC_GFOFFSET3D(u,-3,0,4),kadd(KRANC_GFOFFSET3D(u,3,0,-4),kadd(KRANC_GFOFFSET3D(u,-4,0,3),KRANC_GFOFFSET3D(u,4,0,-3)))),ToReal(96),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,0,-4),kadd(KRANC_GFOFFSET3D(u,2,0,4),kadd(KRANC_GFOFFSET3D(u,-4,0,-2),KRANC_GFOFFSET3D(u,4,0,2)))),ToReal(504),kmadd(kadd(KRANC_GFOFFSET3D(u,-3,0,-3),KRANC_GFOFFSET3D(u,3,0,3)),ToReal(1024),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,0,4),kadd(KRANC_GFOFFSET3D(u,1,0,-4),kadd(KRANC_GFOFFSET3D(u,-4,0,1),KRANC_GFOFFSET3D(u,4,0,-1)))),ToReal(2016),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,0,3),kadd(KRANC_GFOFFSET3D(u,2,0,-3),kadd(KRANC_GFOFFSET3D(u,-3,0,2),KRANC_GFOFFSET3D(u,3,0,-2)))),ToReal(5376),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,0,-3),kadd(KRANC_GFOFFSET3D(u,1,0,3),kadd(KRANC_GFOFFSET3D(u,-3,0,-1),KRANC_GFOFFSET3D(u,3,0,1)))),ToReal(21504),kmadd(kadd(KRANC_GFOFFSET3D(u,-2,0,-2),KRANC_GFOFFSET3D(u,2,0,2)),ToReal(28224),kmadd(kadd(KRANC_GFOFFSET3D(u,-1,0,2),kadd(KRANC_GFOFFSET3D(u,1,0,-2),kadd(KRANC_GFOFFSET3D(u,-2,0,1),KRANC_GFOFFSET3D(u,2,0,-1)))),ToReal(112896),kmul(kadd(KRANC_GFOFFSET3D(u,-1,0,-1),KRANC_GFOFFSET3D(u,1,0,1)),ToReal(451584)))))))))))))))))))))))
+# define PDstandardfdOrder831(u) (kmul(p1o705600dxdz,kmadd(ToReal(-451584),kadd(KRANC_GFOFFSET3D(u,-1,0,1),KRANC_GFOFFSET3D(u,1,0,-1)),kmadd(ToReal(451584),kadd(KRANC_GFOFFSET3D(u,-1,0,-1),KRANC_GFOFFSET3D(u,1,0,1)),kmadd(ToReal(112896),kadd(KRANC_GFOFFSET3D(u,-1,0,2),kadd(KRANC_GFOFFSET3D(u,1,0,-2),kadd(KRANC_GFOFFSET3D(u,-2,0,1),KRANC_GFOFFSET3D(u,2,0,-1)))),kmadd(ToReal(-112896),kadd(KRANC_GFOFFSET3D(u,-1,0,-2),kadd(KRANC_GFOFFSET3D(u,1,0,2),kadd(KRANC_GFOFFSET3D(u,-2,0,-1),KRANC_GFOFFSET3D(u,2,0,1)))),kmadd(ToReal(-28224),kadd(KRANC_GFOFFSET3D(u,-2,0,2),KRANC_GFOFFSET3D(u,2,0,-2)),kmadd(ToReal(28224),kadd(KRANC_GFOFFSET3D(u,-2,0,-2),KRANC_GFOFFSET3D(u,2,0,2)),kmadd(ToReal(-21504),kadd(KRANC_GFOFFSET3D(u,-1,0,3),kadd(KRANC_GFOFFSET3D(u,1,0,-3),kadd(KRANC_GFOFFSET3D(u,-3,0,1),KRANC_GFOFFSET3D(u,3,0,-1)))),kmadd(ToReal(21504),kadd(KRANC_GFOFFSET3D(u,-1,0,-3),kadd(KRANC_GFOFFSET3D(u,1,0,3),kadd(KRANC_GFOFFSET3D(u,-3,0,-1),KRANC_GFOFFSET3D(u,3,0,1)))),kmadd(ToReal(5376),kadd(KRANC_GFOFFSET3D(u,-2,0,3),kadd(KRANC_GFOFFSET3D(u,2,0,-3),kadd(KRANC_GFOFFSET3D(u,-3,0,2),KRANC_GFOFFSET3D(u,3,0,-2)))),kmadd(ToReal(-5376),kadd(KRANC_GFOFFSET3D(u,-2,0,-3),kadd(KRANC_GFOFFSET3D(u,2,0,3),kadd(KRANC_GFOFFSET3D(u,-3,0,-2),KRANC_GFOFFSET3D(u,3,0,2)))),kmadd(ToReal(-1024),kadd(KRANC_GFOFFSET3D(u,-3,0,3),KRANC_GFOFFSET3D(u,3,0,-3)),kmadd(ToReal(1024),kadd(KRANC_GFOFFSET3D(u,-3,0,-3),KRANC_GFOFFSET3D(u,3,0,3)),kmadd(ToReal(2016),kadd(KRANC_GFOFFSET3D(u,-1,0,4),kadd(KRANC_GFOFFSET3D(u,1,0,-4),kadd(KRANC_GFOFFSET3D(u,-4,0,1),KRANC_GFOFFSET3D(u,4,0,-1)))),kmadd(ToReal(-2016),kadd(KRANC_GFOFFSET3D(u,-1,0,-4),kadd(KRANC_GFOFFSET3D(u,1,0,4),kadd(KRANC_GFOFFSET3D(u,-4,0,-1),KRANC_GFOFFSET3D(u,4,0,1)))),kmadd(ToReal(-504),kadd(KRANC_GFOFFSET3D(u,-2,0,4),kadd(KRANC_GFOFFSET3D(u,2,0,-4),kadd(KRANC_GFOFFSET3D(u,-4,0,2),KRANC_GFOFFSET3D(u,4,0,-2)))),kmadd(ToReal(504),kadd(KRANC_GFOFFSET3D(u,-2,0,-4),kadd(KRANC_GFOFFSET3D(u,2,0,4),kadd(KRANC_GFOFFSET3D(u,-4,0,-2),KRANC_GFOFFSET3D(u,4,0,2)))),kmadd(ToReal(96),kadd(KRANC_GFOFFSET3D(u,-3,0,4),kadd(KRANC_GFOFFSET3D(u,3,0,-4),kadd(KRANC_GFOFFSET3D(u,-4,0,3),KRANC_GFOFFSET3D(u,4,0,-3)))),kmadd(ToReal(-96),kadd(KRANC_GFOFFSET3D(u,-3,0,-4),kadd(KRANC_GFOFFSET3D(u,3,0,4),kadd(KRANC_GFOFFSET3D(u,-4,0,-3),KRANC_GFOFFSET3D(u,4,0,3)))),kmadd(ToReal(-9),kadd(KRANC_GFOFFSET3D(u,-4,0,4),KRANC_GFOFFSET3D(u,4,0,-4)),kmul(ToReal(9),kadd(KRANC_GFOFFSET3D(u,-4,0,-4),KRANC_GFOFFSET3D(u,4,0,4))))))))))))))))))))))))
#else
# define PDstandardfdOrder831(u) (PDstandardfdOrder831_impl(u,p1o705600dxdz,cdj,cdk))
static CCTK_REAL_VEC PDstandardfdOrder831_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o705600dxdz, const ptrdiff_t cdj, const ptrdiff_t cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
@@ -854,7 +854,7 @@ static CCTK_REAL_VEC PDstandardfdOrder831_impl(const CCTK_REAL* restrict const u
#endif
#ifndef KRANC_DIFF_FUNCTIONS
-# define PDstandardfdOrder832(u) (kmul(p1o705600dydz,kmadd(kadd(KRANC_GFOFFSET3D(u,0,-1,1),KRANC_GFOFFSET3D(u,0,1,-1)),ToReal(-451584),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-1,-2),kadd(KRANC_GFOFFSET3D(u,0,1,2),kadd(KRANC_GFOFFSET3D(u,0,-2,-1),KRANC_GFOFFSET3D(u,0,2,1)))),ToReal(-112896),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-2,2),KRANC_GFOFFSET3D(u,0,2,-2)),ToReal(-28224),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-1,3),kadd(KRANC_GFOFFSET3D(u,0,1,-3),kadd(KRANC_GFOFFSET3D(u,0,-3,1),KRANC_GFOFFSET3D(u,0,3,-1)))),ToReal(-21504),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-2,-3),kadd(KRANC_GFOFFSET3D(u,0,2,3),kadd(KRANC_GFOFFSET3D(u,0,-3,-2),KRANC_GFOFFSET3D(u,0,3,2)))),ToReal(-5376),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-1,-4),kadd(KRANC_GFOFFSET3D(u,0,1,4),kadd(KRANC_GFOFFSET3D(u,0,-4,-1),KRANC_GFOFFSET3D(u,0,4,1)))),ToReal(-2016),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-3,3),KRANC_GFOFFSET3D(u,0,3,-3)),ToReal(-1024),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-2,4),kadd(KRANC_GFOFFSET3D(u,0,2,-4),kadd(KRANC_GFOFFSET3D(u,0,-4,2),KRANC_GFOFFSET3D(u,0,4,-2)))),ToReal(-504),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-3,-4),kadd(KRANC_GFOFFSET3D(u,0,3,4),kadd(KRANC_GFOFFSET3D(u,0,-4,-3),KRANC_GFOFFSET3D(u,0,4,3)))),ToReal(-96),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-4,4),KRANC_GFOFFSET3D(u,0,4,-4)),ToReal(-9),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-4,-4),KRANC_GFOFFSET3D(u,0,4,4)),ToReal(9),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-3,4),kadd(KRANC_GFOFFSET3D(u,0,3,-4),kadd(KRANC_GFOFFSET3D(u,0,-4,3),KRANC_GFOFFSET3D(u,0,4,-3)))),ToReal(96),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-2,-4),kadd(KRANC_GFOFFSET3D(u,0,2,4),kadd(KRANC_GFOFFSET3D(u,0,-4,-2),KRANC_GFOFFSET3D(u,0,4,2)))),ToReal(504),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-3,-3),KRANC_GFOFFSET3D(u,0,3,3)),ToReal(1024),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-1,4),kadd(KRANC_GFOFFSET3D(u,0,1,-4),kadd(KRANC_GFOFFSET3D(u,0,-4,1),KRANC_GFOFFSET3D(u,0,4,-1)))),ToReal(2016),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-2,3),kadd(KRANC_GFOFFSET3D(u,0,2,-3),kadd(KRANC_GFOFFSET3D(u,0,-3,2),KRANC_GFOFFSET3D(u,0,3,-2)))),ToReal(5376),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-1,-3),kadd(KRANC_GFOFFSET3D(u,0,1,3),kadd(KRANC_GFOFFSET3D(u,0,-3,-1),KRANC_GFOFFSET3D(u,0,3,1)))),ToReal(21504),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-2,-2),KRANC_GFOFFSET3D(u,0,2,2)),ToReal(28224),kmadd(kadd(KRANC_GFOFFSET3D(u,0,-1,2),kadd(KRANC_GFOFFSET3D(u,0,1,-2),kadd(KRANC_GFOFFSET3D(u,0,-2,1),KRANC_GFOFFSET3D(u,0,2,-1)))),ToReal(112896),kmul(kadd(KRANC_GFOFFSET3D(u,0,-1,-1),KRANC_GFOFFSET3D(u,0,1,1)),ToReal(451584)))))))))))))))))))))))
+# define PDstandardfdOrder832(u) (kmul(p1o705600dydz,kmadd(ToReal(-451584),kadd(KRANC_GFOFFSET3D(u,0,-1,1),KRANC_GFOFFSET3D(u,0,1,-1)),kmadd(ToReal(451584),kadd(KRANC_GFOFFSET3D(u,0,-1,-1),KRANC_GFOFFSET3D(u,0,1,1)),kmadd(ToReal(112896),kadd(KRANC_GFOFFSET3D(u,0,-1,2),kadd(KRANC_GFOFFSET3D(u,0,1,-2),kadd(KRANC_GFOFFSET3D(u,0,-2,1),KRANC_GFOFFSET3D(u,0,2,-1)))),kmadd(ToReal(-112896),kadd(KRANC_GFOFFSET3D(u,0,-1,-2),kadd(KRANC_GFOFFSET3D(u,0,1,2),kadd(KRANC_GFOFFSET3D(u,0,-2,-1),KRANC_GFOFFSET3D(u,0,2,1)))),kmadd(ToReal(-28224),kadd(KRANC_GFOFFSET3D(u,0,-2,2),KRANC_GFOFFSET3D(u,0,2,-2)),kmadd(ToReal(28224),kadd(KRANC_GFOFFSET3D(u,0,-2,-2),KRANC_GFOFFSET3D(u,0,2,2)),kmadd(ToReal(-21504),kadd(KRANC_GFOFFSET3D(u,0,-1,3),kadd(KRANC_GFOFFSET3D(u,0,1,-3),kadd(KRANC_GFOFFSET3D(u,0,-3,1),KRANC_GFOFFSET3D(u,0,3,-1)))),kmadd(ToReal(21504),kadd(KRANC_GFOFFSET3D(u,0,-1,-3),kadd(KRANC_GFOFFSET3D(u,0,1,3),kadd(KRANC_GFOFFSET3D(u,0,-3,-1),KRANC_GFOFFSET3D(u,0,3,1)))),kmadd(ToReal(5376),kadd(KRANC_GFOFFSET3D(u,0,-2,3),kadd(KRANC_GFOFFSET3D(u,0,2,-3),kadd(KRANC_GFOFFSET3D(u,0,-3,2),KRANC_GFOFFSET3D(u,0,3,-2)))),kmadd(ToReal(-5376),kadd(KRANC_GFOFFSET3D(u,0,-2,-3),kadd(KRANC_GFOFFSET3D(u,0,2,3),kadd(KRANC_GFOFFSET3D(u,0,-3,-2),KRANC_GFOFFSET3D(u,0,3,2)))),kmadd(ToReal(-1024),kadd(KRANC_GFOFFSET3D(u,0,-3,3),KRANC_GFOFFSET3D(u,0,3,-3)),kmadd(ToReal(1024),kadd(KRANC_GFOFFSET3D(u,0,-3,-3),KRANC_GFOFFSET3D(u,0,3,3)),kmadd(ToReal(2016),kadd(KRANC_GFOFFSET3D(u,0,-1,4),kadd(KRANC_GFOFFSET3D(u,0,1,-4),kadd(KRANC_GFOFFSET3D(u,0,-4,1),KRANC_GFOFFSET3D(u,0,4,-1)))),kmadd(ToReal(-2016),kadd(KRANC_GFOFFSET3D(u,0,-1,-4),kadd(KRANC_GFOFFSET3D(u,0,1,4),kadd(KRANC_GFOFFSET3D(u,0,-4,-1),KRANC_GFOFFSET3D(u,0,4,1)))),kmadd(ToReal(-504),kadd(KRANC_GFOFFSET3D(u,0,-2,4),kadd(KRANC_GFOFFSET3D(u,0,2,-4),kadd(KRANC_GFOFFSET3D(u,0,-4,2),KRANC_GFOFFSET3D(u,0,4,-2)))),kmadd(ToReal(504),kadd(KRANC_GFOFFSET3D(u,0,-2,-4),kadd(KRANC_GFOFFSET3D(u,0,2,4),kadd(KRANC_GFOFFSET3D(u,0,-4,-2),KRANC_GFOFFSET3D(u,0,4,2)))),kmadd(ToReal(96),kadd(KRANC_GFOFFSET3D(u,0,-3,4),kadd(KRANC_GFOFFSET3D(u,0,3,-4),kadd(KRANC_GFOFFSET3D(u,0,-4,3),KRANC_GFOFFSET3D(u,0,4,-3)))),kmadd(ToReal(-96),kadd(KRANC_GFOFFSET3D(u,0,-3,-4),kadd(KRANC_GFOFFSET3D(u,0,3,4),kadd(KRANC_GFOFFSET3D(u,0,-4,-3),KRANC_GFOFFSET3D(u,0,4,3)))),kmadd(ToReal(-9),kadd(KRANC_GFOFFSET3D(u,0,-4,4),KRANC_GFOFFSET3D(u,0,4,-4)),kmul(ToReal(9),kadd(KRANC_GFOFFSET3D(u,0,-4,-4),KRANC_GFOFFSET3D(u,0,4,4))))))))))))))))))))))))
#else
# define PDstandardfdOrder832(u) (PDstandardfdOrder832_impl(u,p1o705600dydz,cdj,cdk))
static CCTK_REAL_VEC PDstandardfdOrder832_impl(const CCTK_REAL* restrict const u, const CCTK_REAL_VEC p1o705600dydz, const ptrdiff_t cdj, const ptrdiff_t cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED;
diff --git a/src/Kranc.cc b/src/Kranc.cc
new file mode 100644
index 0000000..d299d82
--- /dev/null
+++ b/src/Kranc.cc
@@ -0,0 +1,732 @@
+
+/* Copyright 2014 Ian Hinder
+
+ This file is part of Kranc.
+
+ Kranc is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Kranc is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Kranc; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+*/
+
+#include <assert.h>
+#include <math.h>
+#include <stdio.h>
+#include <stdlib.h>
+
+#include "cctk.h"
+#include "cctk_Arguments.h"
+#include "cctk_Parameters.h"
+#include "util_Table.h"
+
+#include "Symmetry.h"
+
+#include "Kranc.hh"
+
+namespace WeylScal4 {
+
+/*********************************************************************
+ * GetBoundaryWidths
+ *********************************************************************/
+
+void GetBoundaryWidths(cGH const * restrict const cctkGH, int nboundaryzones[6])
+{
+ int is_internal[6];
+ int is_staggered[6];
+ int shiftout[6];
+ int ierr = -1;
+
+ if (CCTK_IsFunctionAliased ("MultiPatch_GetBoundarySpecification")) {
+ int const map = MultiPatch_GetMap (cctkGH);
+ /* This doesn't make sense in level mode */
+ if (map < 0)
+ {
+ static int have_warned = 0;
+ if (!have_warned)
+ {
+ CCTK_WARN(1, "GetBoundaryWidths: Could not determine current map (can be caused by calling in LEVEL mode)");
+ have_warned = 1;
+ }
+ for (int i = 0; i < 6; i++)
+ nboundaryzones[i] = 0;
+ return;
+ }
+ ierr = MultiPatch_GetBoundarySpecification
+ (map, 6, nboundaryzones, is_internal, is_staggered, shiftout);
+ if (ierr != 0)
+ CCTK_WARN(0, "Could not obtain boundary specification");
+ } else if (CCTK_IsFunctionAliased ("GetBoundarySpecification")) {
+ ierr = GetBoundarySpecification
+ (6, nboundaryzones, is_internal, is_staggered, shiftout);
+ if (ierr != 0)
+ CCTK_WARN(0, "Could not obtain boundary specification");
+ } else {
+ CCTK_WARN(0, "Could not obtain boundary specification");
+ }
+}
+
+/*********************************************************************
+ * GetBoundaryWidth
+ *********************************************************************/
+
+int GetBoundaryWidth(cGH const * restrict const cctkGH)
+{
+ int nboundaryzones[6];
+ GetBoundaryWidths(cctkGH, nboundaryzones);
+
+ int bw = nboundaryzones[0];
+
+ for (int i = 1; i < 6; i++)
+ if (nboundaryzones[i] != bw)
+ CCTK_WARN(0, "Number of boundary points is different on different faces");
+
+ return bw;
+}
+
+/*********************************************************************
+ * GetBoundaryInfo
+ *********************************************************************/
+
+/* Return the array indices in imin and imax for looping over the
+ interior of the grid. imin is the index of the first grid point.
+ imax is the index of the last grid point plus 1. So a loop over
+ the interior of the grid would be
+
+ for (i = imin; i < imax; i++)
+
+ The indexing is C-style. Also return whether the boundary is a
+ symmetry, physical or interprocessor boundary. Carpet refinement
+ boundaries are treated as interprocessor boundaries.
+*/
+void GetBoundaryInfo(cGH const * restrict const cctkGH,
+ int const * restrict const cctk_ash,
+ int const * restrict const cctk_lsh,
+ int const * restrict const cctk_bbox,
+ int const * restrict const cctk_nghostzones,
+ int * restrict const imin,
+ int * restrict const imax,
+ int * restrict const is_symbnd,
+ int * restrict const is_physbnd,
+ int * restrict const is_ipbnd)
+{
+ int bbox[6];
+ int nboundaryzones[6];
+ int is_internal[6];
+ int is_staggered[6];
+ int shiftout[6];
+ int symbnd[6];
+
+ int symtable = 0;
+ int dir = 0;
+ int face = 0;
+ int npoints = 0;
+ int iret = 0;
+ int ierr = 0;
+
+ if (CCTK_IsFunctionAliased ("MultiPatch_GetBbox")) {
+ ierr = MultiPatch_GetBbox (cctkGH, 6, bbox);
+ if (ierr != 0)
+ CCTK_WARN(0, "Could not obtain bbox specification");
+ } else {
+ for (dir = 0; dir < 6; dir++)
+ {
+ bbox[dir] = 0;
+ }
+ }
+
+ if (CCTK_IsFunctionAliased ("MultiPatch_GetBoundarySpecification")) {
+ int const map = MultiPatch_GetMap (cctkGH);
+ if (map < 0)
+ CCTK_WARN(0, "Could not obtain boundary specification");
+ ierr = MultiPatch_GetBoundarySpecification
+ (map, 6, nboundaryzones, is_internal, is_staggered, shiftout);
+ if (ierr != 0)
+ CCTK_WARN(0, "Could not obtain boundary specification");
+ } else if (CCTK_IsFunctionAliased ("GetBoundarySpecification")) {
+ ierr = GetBoundarySpecification
+ (6, nboundaryzones, is_internal, is_staggered, shiftout);
+ if (ierr != 0)
+ CCTK_WARN(0, "Could not obtain boundary specification");
+ } else {
+ CCTK_WARN(0, "Could not obtain boundary specification");
+ }
+
+ symtable = SymmetryTableHandleForGrid(cctkGH);
+ if (symtable < 0)
+ {
+ CCTK_WARN(0, "Could not obtain symmetry table");
+ }
+
+ iret = Util_TableGetIntArray(symtable, 6, symbnd, "symmetry_handle");
+ if (iret != 6) CCTK_WARN (0, "Could not obtain symmetry information");
+
+ for (dir = 0; dir < 6; dir++)
+ {
+ is_ipbnd[dir] = (!cctk_bbox[dir]);
+ is_symbnd[dir] = (!is_ipbnd[dir] && symbnd[dir] >= 0 && !bbox[dir]);
+ is_physbnd[dir] = (!is_ipbnd[dir] && !is_symbnd[dir]);
+ }
+
+ for (dir = 0; dir < 3; dir++)
+ {
+ for (face = 0; face < 2; face++)
+ {
+ int index = dir*2 + face;
+ if (is_ipbnd[index])
+ {
+ /* Inter-processor boundary */
+ npoints = cctk_nghostzones[dir];
+ }
+ else
+ {
+ /* Symmetry or physical boundary */
+ npoints = nboundaryzones[index];
+
+ if (is_symbnd[index])
+ {
+ /* Ensure that the number of symmetry zones is the same
+ as the number of ghost zones */
+ if (npoints != cctk_nghostzones[dir])
+ {
+ CCTK_WARN (1, "The number of symmetry points is different from the number of ghost points; this is probably an error");
+ }
+ }
+ }
+
+ switch(face)
+ {
+ case 0: /* Lower boundary */
+ imin[dir] = npoints;
+ break;
+ case 1: /* Upper boundary */
+ imax[dir] = cctk_lsh[dir] - npoints;
+ break;
+ default:
+ CCTK_WARN(0, "internal error");
+ }
+ }
+ }
+}
+
+/*********************************************************************
+ * LoopOverEverything
+ *********************************************************************/
+
+void LoopOverEverything(cGH const * restrict const cctkGH, Kranc_Calculation const calc)
+{
+ DECLARE_CCTK_ARGUMENTS
+
+ int dir = 0;
+ int face = 0;
+ CCTK_REAL normal[] = {0,0,0};
+ CCTK_REAL tangentA[] = {0,0,0};
+ CCTK_REAL tangentB[] = {0,0,0};
+ int bmin[] = {0,0,0};
+ int bmax[] = {cctk_lsh[0],cctk_lsh[1],cctk_lsh[2]};
+
+ calc(cctkGH, dir, face, normal, tangentA, tangentB, bmin, bmax, 0, NULL);
+ return;
+}
+
+/*********************************************************************
+ * LoopOverBoundary
+ *********************************************************************/
+
+void LoopOverBoundary(cGH const * restrict const cctkGH, Kranc_Calculation const calc)
+{
+ DECLARE_CCTK_ARGUMENTS
+
+ int dir1, dir2, dir3;
+ int dir[3];
+ CCTK_REAL normal[3];
+ CCTK_REAL tangentA[3];
+ CCTK_REAL tangentB[3];
+ int bmin[3];
+ int bmax[3];
+ int have_bnd;
+ int all_physbnd;
+ int d;
+
+ int is_symbnd[6], is_physbnd[6], is_ipbnd[6];
+ int imin[3], imax[3];
+ int old_dir = 0;
+ int old_face = 0;
+
+ GetBoundaryInfo(cctkGH, cctk_ash, cctk_lsh, cctk_bbox,
+ cctk_nghostzones,
+ imin, imax, is_symbnd, is_physbnd, is_ipbnd);
+
+ /* Loop over all faces */
+ for (dir3 = -1; dir3 <= +1; dir3++)
+ {
+ for (dir2 = -1; dir2 <= +1; dir2++)
+ {
+ for (dir1 = -1; dir1 <= +1; dir1++)
+ {
+ dir[0] = dir1;
+ dir[1] = dir2;
+ dir[2] = dir3;
+
+ have_bnd = 0; /* one of the faces is a boundary */
+ all_physbnd = 1; /* all boundary faces are physical
+ boundaries */
+
+ for (d = 0; d < 3; d++)
+ {
+ switch(dir[d])
+ {
+ case -1:
+ bmin[d] = 0;
+ bmax[d] = imin[d];
+ have_bnd = 1;
+ all_physbnd = all_physbnd && is_physbnd[2*d+0];
+ break;
+ case 0:
+ bmin[d] = imin[d];
+ bmax[d] = imax[d];
+ break;
+ case +1:
+ bmin[d] = imax[d];
+ bmax[d] = cctk_lsh[d];
+ have_bnd = 1;
+ all_physbnd = all_physbnd && is_physbnd[2*d+1];
+ break;
+ }
+
+ /* Choose a basis */
+ normal[d] = dir[d];
+ tangentA[d] = dir[(d+1)%3];
+ tangentB[d] = dir[(d+2)%3];
+ }
+
+ if (have_bnd && all_physbnd)
+ {
+#if 0
+ CCTK_REAL normal_norm = 0.0;
+ for (d = 0; d < 3; d++)
+ {
+ normal_norm += pow(normal[d], 2);
+ }
+ normal_norm = sqrt(normal_norm);
+ for (d = 0; d < 3; d++)
+ {
+ normal[d] /= normal_norm;
+ }
+#endif
+
+ calc(cctkGH, old_dir, old_face, normal, tangentA, tangentB, bmin, bmax, 0, NULL);
+ }
+
+ }
+ }
+ }
+
+ return;
+}
+
+/*********************************************************************
+ * LoopOverBoundaryWithGhosts
+ *********************************************************************/
+
+void LoopOverBoundaryWithGhosts(cGH const * restrict const cctkGH, Kranc_Calculation const calc)
+{
+ DECLARE_CCTK_ARGUMENTS
+
+ int dir1, dir2, dir3;
+ int dir[3];
+ CCTK_REAL normal[3];
+ CCTK_REAL tangentA[3];
+ CCTK_REAL tangentB[3];
+ int bmin[3];
+ int bmax[3];
+ int have_bnd;
+ int have_physbnd;
+ int d;
+
+ int is_symbnd[6], is_physbnd[6], is_ipbnd[6];
+ int imin[3], imax[3];
+ int old_dir = 0;
+ int old_face = 0;
+
+ GetBoundaryInfo(cctkGH, cctk_ash, cctk_lsh, cctk_bbox,
+ cctk_nghostzones,
+ imin, imax, is_symbnd, is_physbnd, is_ipbnd);
+
+ /* Loop over all faces */
+ for (dir3 = -1; dir3 <= +1; dir3++)
+ {
+ for (dir2 = -1; dir2 <= +1; dir2++)
+ {
+ for (dir1 = -1; dir1 <= +1; dir1++)
+ {
+ dir[0] = dir1;
+ dir[1] = dir2;
+ dir[2] = dir3;
+
+ have_bnd = 0; /* one of the faces is a boundary */
+ have_physbnd = 0; /* one of the boundary faces is a physical
+ boundary */
+
+ for (d = 0; d < 3; d++)
+ {
+ switch(dir[d])
+ {
+ case -1:
+ bmin[d] = 0;
+ bmax[d] = imin[d];
+ have_bnd = 1;
+ have_physbnd = have_physbnd || is_physbnd[2*d+0];
+ break;
+ case 0:
+ bmin[d] = imin[d];
+ bmax[d] = imax[d];
+ break;
+ case +1:
+ bmin[d] = imax[d];
+ bmax[d] = cctk_lsh[d];
+ have_bnd = 1;
+ have_physbnd = have_physbnd || is_physbnd[2*d+1];
+ break;
+ }
+
+ /* Choose a basis */
+ normal[d] = dir[d];
+ tangentA[d] = dir[(d+1)%3];
+ tangentB[d] = dir[(d+2)%3];
+ }
+
+ if (have_bnd && have_physbnd)
+ {
+#if 0
+ CCTK_REAL normal_norm = 0.0;
+ for (d = 0; d < 3; d++)
+ {
+ normal_norm += pow(normal[d], 2);
+ }
+ normal_norm = sqrt(normal_norm);
+ for (d = 0; d < 3; d++)
+ {
+ normal[d] /= normal_norm;
+ }
+#endif
+
+ calc(cctkGH, old_dir, old_face, normal, tangentA, tangentB, bmin, bmax, 0, NULL);
+ }
+
+ }
+ }
+ }
+
+ return;
+}
+
+/*********************************************************************
+ * LoopOverInterior
+ *********************************************************************/
+
+void LoopOverInterior(cGH const * restrict const cctkGH, Kranc_Calculation const calc)
+{
+ DECLARE_CCTK_ARGUMENTS
+
+ CCTK_REAL normal[] = {0,0,0};
+ CCTK_REAL tangentA[] = {0,0,0};
+ CCTK_REAL tangentB[] = {0,0,0};
+
+ int is_symbnd[6], is_physbnd[6], is_ipbnd[6];
+ int imin[3], imax[3];
+ int dir = 0;
+ int face = 0;
+
+ GetBoundaryInfo(cctkGH, cctk_ash, cctk_lsh, cctk_bbox,
+ cctk_nghostzones,
+ imin, imax, is_symbnd, is_physbnd, is_ipbnd);
+
+ calc(cctkGH, dir, face, normal, tangentA, tangentB, imin, imax, 0, NULL);
+
+ return;
+}
+
+/*********************************************************************
+ * AssertGroupStorage
+ *********************************************************************/
+
+void AssertGroupStorage(cGH const * restrict const cctkGH, const char *calc,
+ int ngroups, const char *const group_names[])
+{
+ for (int i = 0; i < ngroups; i++)
+ {
+ int result = CCTK_QueryGroupStorage(cctkGH, group_names[i]);
+ if (result == 0)
+ {
+ CCTK_VWarn(CCTK_WARN_ABORT, __LINE__, __FILE__, CCTK_THORNSTRING,
+ "Error in %s: Group \"%s\" does not have storage", calc, group_names[i]);
+ }
+ else if (result < 0)
+ {
+ CCTK_VWarn(CCTK_WARN_ABORT, __LINE__, __FILE__, CCTK_THORNSTRING,
+ "Error in %s: Invalid group name \"%s\"", calc, group_names[i]);
+ }
+ }
+}
+
+/*********************************************************************
+ * GroupDataPointers
+ *********************************************************************/
+
+/* Return a list of pointers to the members of a named group */
+void GroupDataPointers(cGH const * restrict const cctkGH, const char *group_name,
+ int nvars, CCTK_REAL const *restrict *ptrs)
+{
+ int group_index, status;
+ cGroup group_info;
+
+ group_index = CCTK_GroupIndex(group_name);
+ if (group_index < 0)
+ CCTK_VWarn(CCTK_WARN_ABORT, __LINE__, __FILE__, CCTK_THORNSTRING,
+ "Error return %d trying to get group index for group \'%s\'",
+ group_index,
+ group_name);
+
+ status = CCTK_GroupData(group_index, &group_info);
+ if (status < 0)
+ CCTK_VWarn(CCTK_WARN_ABORT, __LINE__, __FILE__, CCTK_THORNSTRING,
+ "Error return %d trying to get info for group \'%s\'",
+ status,
+ group_name);
+
+ if (group_info.numvars != nvars)
+ {
+ CCTK_VWarn(CCTK_WARN_ABORT, __LINE__, __FILE__, CCTK_THORNSTRING,
+ "Group \'%s\' has %d variables but %d were expected",
+ group_name, group_info.numvars, nvars);
+ }
+
+ int v1 = CCTK_FirstVarIndex(group_name);
+
+ for (int v = 0; v < nvars; v++)
+ {
+ ptrs[v] = (CCTK_REAL const *) CCTK_VarDataPtrI(cctkGH, 0 /* timelevel */, v1+v);
+ }
+}
+
+/*********************************************************************
+ * EnsureStencilFits
+ *********************************************************************/
+
+void EnsureStencilFits(cGH const * restrict const cctkGH, const char *calc, int ni, int nj, int nk)
+{
+ DECLARE_CCTK_ARGUMENTS
+
+ int bws[6];
+ GetBoundaryWidths(cctkGH, bws);
+
+ int ns[] = {ni, nj, nk};
+ const char *dirs[] = {"x", "y", "z"};
+ const char *faces[] = {"lower", "upper"};
+ int abort = 0;
+
+ for (int dir = 0; dir < 3; dir++)
+ {
+ for (int face = 0; face < 2; face++)
+ {
+ int bw = bws[2*dir+face];
+ if (bw < ns[dir])
+ {
+ CCTK_VInfo(CCTK_THORNSTRING,
+ "The stencil for %s requires %d points, but the %s %s boundary has only %d points.",
+ calc, ns[dir], faces[face], dirs[dir], bw);
+ abort = 1;
+ }
+ }
+ int gz = cctk_nghostzones[dir];
+ if (gz < ns[dir])
+ {
+ CCTK_VInfo(CCTK_THORNSTRING,
+ "The stencil for %s requires %d points, but there are only %d ghost zones in the %s direction.",
+ calc, ns[dir], gz, dirs[dir]);
+ abort = 1;
+ }
+ }
+
+ if (abort)
+ {
+ CCTK_VWarn(CCTK_WARN_ABORT, __LINE__, __FILE__, CCTK_THORNSTRING,
+ "Insufficient ghost or boundary points for %s", calc);
+ }
+}
+
+/*********************************************************************
+ * idiv
+ *********************************************************************/
+
+// Divide, rounding to minus infinity
+static int idiv(int x, int y)
+{
+ // round down manually if the result is negative
+ return (x^y) >= 0 ? x/y : (x-y+1)/y;
+}
+
+/*********************************************************************
+ * imod
+ *********************************************************************/
+
+// // Modulo, rounding to minus infinity
+// static int imod(int x, int y)
+// {
+// return (x^y) >= 0 ? x%y : (x-y+1)%y + y-1;
+// }
+
+/*********************************************************************
+ * ialign
+ *********************************************************************/
+
+// Align x to a multiple of y
+static int ialign(int x, int y)
+{
+ return idiv(x, y) * y;
+}
+
+/*********************************************************************
+ * TiledLoop
+ *********************************************************************/
+
+void TiledLoop(
+ cGH const * restrict const cctkGH,
+ const KrancData & restrict kd_coarse,
+ void (calc)(const cGH* restrict const cctkGH,
+ const KrancData & restrict kd))
+{
+ DECLARE_CCTK_ARGUMENTS;
+ DECLARE_CCTK_PARAMETERS;
+
+ // Interior region
+ int imin[3], imax[3];
+ // Boundary types
+ int is_symbnd[6], is_physbnd[6], is_ipbnd[6];
+
+ GetBoundaryInfo(cctkGH, cctk_ash, cctk_lsh, cctk_bbox,
+ cctk_nghostzones,
+ imin, imax, is_symbnd, is_physbnd, is_ipbnd);
+
+ // Tile size
+ int tile_size_l[3];
+ // Loop bounds covered by tiles (may be larger)
+ int tiled_imin[3];
+ int tiled_imax[3];
+
+ if (tile_size == -1)
+ {
+ for (int d = 0; d < 3; d++)
+ {
+ // Loop in a single tile
+ tiled_imin[d] = kd_coarse.imin[d];
+ tiled_imax[d] = kd_coarse.imax[d];
+ tile_size_l[d] = tiled_imax[d] - tiled_imin[d];
+ }
+ }
+ else
+ {
+ for (int d = 0; d < 3; d++)
+ {
+ tile_size_l[d] = tile_size;
+ // Align with beginning of interior of domain
+ tiled_imin[d] =
+ imin[d] + ialign(kd_coarse.imin[d] - imin[d], tile_size_l[d]);
+ tiled_imax[d] = kd_coarse.imax[d];
+ }
+ }
+
+ const int dti = tile_size_l[0];
+ const int dtj = tile_size_l[1];
+ const int dtk = tile_size_l[2];
+#pragma omp parallel for collapse(3)
+ for (int tk = tiled_imin[2]; tk < tiled_imax[2]; tk += dtk)
+ {
+ for (int tj = tiled_imin[1]; tj < tiled_imax[1]; tj += dtj)
+ {
+ for (int ti = tiled_imin[0]; ti < tiled_imax[0]; ti += dti)
+ {
+ KrancData kd = kd_coarse;
+
+ kd.dir = 0;
+ kd.face = 0;
+ // TODO: initialise the rest, or use a constructor
+
+ kd.tile_imin[0] = ti;
+ kd.tile_imax[0] = ti + dti;
+ kd.tile_imin[1] = tj;
+ kd.tile_imax[1] = tj + dtj;
+ kd.tile_imin[2] = tk;
+ kd.tile_imax[2] = tk + dtk;
+
+ calc(cctkGH, kd);
+ }
+ }
+ }
+}
+
+/*********************************************************************
+ * TiledLoopOverEverything
+ *********************************************************************/
+
+void TiledLoopOverEverything(
+ cGH const * restrict const cctkGH,
+ void (calc)(const cGH* restrict const cctkGH,
+ const KrancData & restrict kd))
+{
+ DECLARE_CCTK_ARGUMENTS;
+ DECLARE_CCTK_PARAMETERS;
+
+ KrancData kd_coarse;
+
+ for (int d = 0; d < 3; d++)
+ {
+ kd_coarse.imin[d] = 0;
+ kd_coarse.imax[d] = cctk_lsh[d];
+ }
+
+ TiledLoop(cctkGH, kd_coarse, calc);
+}
+
+/*********************************************************************
+ * TiledLoopOverInterior
+ *********************************************************************/
+
+void TiledLoopOverInterior(
+ cGH const * restrict const cctkGH,
+ void (calc)(const cGH* restrict const cctkGH,
+ const KrancData & restrict kd))
+{
+ DECLARE_CCTK_ARGUMENTS;
+ DECLARE_CCTK_PARAMETERS;
+
+ // Interior region
+ int imin[3], imax[3];
+ // Boundary types
+ int is_symbnd[6], is_physbnd[6], is_ipbnd[6];
+
+ GetBoundaryInfo(cctkGH, cctk_ash, cctk_lsh, cctk_bbox,
+ cctk_nghostzones,
+ imin, imax, is_symbnd, is_physbnd, is_ipbnd);
+
+ KrancData kd_coarse;
+
+ for (int d = 0; d < 3; d++)
+ {
+ kd_coarse.imin[d] = imin[d];
+ kd_coarse.imax[d] = imax[d];
+ }
+
+ TiledLoop(cctkGH, kd_coarse, calc);
+}
+
+} // namespace WeylScal4 \ No newline at end of file
diff --git a/src/Kranc.hh b/src/Kranc.hh
new file mode 100644
index 0000000..b0fa277
--- /dev/null
+++ b/src/Kranc.hh
@@ -0,0 +1,176 @@
+#ifndef KRANC_HH
+#define KRANC_HH
+
+#include <cmath>
+#include <math.h>
+#include <sys/time.h>
+
+#include <cctk.h>
+
+namespace WeylScal4 {
+
+/*********************************************************************
+ * Types
+ *********************************************************************/
+
+struct KrancData
+{
+ // Actual loop bounds
+ int imin[3];
+ int imax[3];
+ // Region covered by this tile
+ int tile_imin[3];
+ int tile_imax[3];
+ // Boundary information
+ int dir;
+ int face;
+ CCTK_REAL normal[3];
+ CCTK_REAL tangentA[3];
+ CCTK_REAL tangentB[3];
+};
+
+typedef void(*Kranc_Calculation)(cGH const * restrict cctkGH,
+ int eir,
+ int face,
+ CCTK_REAL const normal[3],
+ CCTK_REAL const tangentA[3],
+ CCTK_REAL const tangentB[3],
+ int const min[3],
+ int const max[3],
+ int n_subblock_gfs,
+ CCTK_REAL * restrict const subblock_gfs[]);
+
+/*********************************************************************
+ * Function declarations
+ *********************************************************************/
+
+// Boundary information
+
+int GetBoundaryWidth(cGH const * restrict const cctkGH);
+
+void GetBoundaryInfo(cGH const * restrict cctkGH,
+ int const * restrict cctk_ash,
+ int const * restrict cctk_lsh,
+ int const * restrict cctk_bbox,
+ int const * restrict cctk_nghostzones,
+ int * restrict imin,
+ int * restrict imax,
+ int * restrict is_symbnd,
+ int * restrict is_physbnd,
+ int * restrict is_ipbnd);
+
+// Looping
+
+void LoopOverEverything(cGH const * restrict cctkGH,
+ Kranc_Calculation calc);
+void LoopOverBoundary(cGH const * restrict cctkGH,
+ Kranc_Calculation calc);
+void LoopOverBoundaryWithGhosts(cGH const * restrict cctkGH,
+ Kranc_Calculation calc);
+void LoopOverInterior(cGH const * restrict cctkGH,
+ Kranc_Calculation calc);
+
+// Tiled looping
+
+void TiledLoop(
+ cGH const * restrict const cctkGH,
+ const KrancData & restrict kd_coarse,
+ void (calc)(const cGH* restrict const cctkGH,
+ const KrancData & restrict kd));
+
+void TiledLoopOverEverything(
+ cGH const * restrict const cctkGH,
+ void (calc)(const cGH* restrict const cctkGH,
+ const KrancData & restrict kd));
+
+void TiledLoopOverInterior(
+ cGH const * restrict const cctkGH,
+ void (calc)(const cGH* restrict const cctkGH,
+ const KrancData & restrict kd));
+
+// void TiledLoopOverBoundary(
+// cGH const * restrict const cctkGH,
+// void (calc)(const cGH* restrict const cctkGH,
+// const KrancData & restrict kd));
+
+// Runtime checks
+
+void EnsureStencilFits(cGH const * restrict const cctkGH,
+ const char *calc, int ni, int nj, int nk);
+void GroupDataPointers(cGH const * restrict const cctkGH,
+ const char *group_name, int nvars,
+ CCTK_REAL const *restrict *ptrs);
+void AssertGroupStorage(cGH const * restrict const cctkGH,
+ const char *calc, int ngroups,
+ const char *const group_names[]);
+
+
+/*********************************************************************
+ * Gridfunction access macros
+ *********************************************************************/
+
+ /* Grid function access */
+ /* var is a pointer to a grid point, i,j,k are offsets with respect
+ to that point.
+ For example: KRANC_GFINDEX3D_OFFSET(&u[ind3d],-1,-1,0) */
+ /* simple implementation */
+ /* #define KRANC_GFOFFSET3D(var,i,j,k) ((var)[di*(i)+dj*(j)+dk*(k)]) */
+ /* more efficient implementation for some compilers */
+#define KRANC_GFOFFSET3D(var,i,j,k) \
+ (*(CCTK_REAL const*)&((char const*)(var))[cdi*(i)+cdj*(j)+cdk*(k)])
+
+#define GFOffset(u,di,dj,dk) KRANC_GFOFFSET3D(&(u)[index],di,dj,dk)
+
+/*********************************************************************
+ * Macros used in Kranc expressions
+ *********************************************************************/
+
+#define IfThen(x,y,z) ((x) ? (y) : (z))
+#define MinMod(x, y) ((x) * (y) < 0 ? 0 : (fabs((x)) < fabs((y)) ? (x) : (y)))
+#define VanLeer(x, y) ((x) * (y) < 0 ? 0 : (Min3(2*fabs(x),2*fabs(y),0.5*(fabs(x)+fabs(y)))*Sign((x)+(y))))
+#define StepFunction(x) ((x)>0)
+
+/*********************************************************************
+ * Numerical constants not defined in C++
+ *********************************************************************/
+
+#define E M_E
+#define Pi M_PI
+
+/*********************************************************************
+ * Declare functions on the device if compiled for CUDA
+ *********************************************************************/
+
+#ifdef __CUDACC__
+#define KRANC_WHERE __device__
+#else
+#define KRANC_WHERE
+#endif
+
+/*********************************************************************
+ * Implement the signum function, used for Mathematica's Sign function
+ *********************************************************************/
+
+KRANC_WHERE static inline CCTK_REAL sgn(CCTK_REAL x)
+{
+#ifdef __cplusplus
+ using namespace std;
+#endif
+ return x==(CCTK_REAL)0.0 ? (CCTK_REAL)0.0 : copysign((CCTK_REAL)1.0, x);
+}
+
+KRANC_WHERE static inline int isgn(CCTK_REAL x)
+{
+ if (x == (CCTK_REAL)0.0) return 0;
+#ifdef __cplusplus
+ using namespace std;
+ int s = signbit(x);
+#else
+ int s = signbit(x);
+#endif
+ return s ? -1 : +1;
+}
+
+} // namespace WeylScal4
+
+#endif // #ifndef KRANC_HH \ No newline at end of file
diff --git a/src/RegisterMoL.cc b/src/RegisterMoL.cc
index e8e7b1c..0210b5c 100644
--- a/src/RegisterMoL.cc
+++ b/src/RegisterMoL.cc
@@ -10,9 +10,7 @@ extern "C" void WeylScal4_RegisterVars(CCTK_ARGUMENTS)
DECLARE_CCTK_PARAMETERS;
CCTK_INT ierr CCTK_ATTRIBUTE_UNUSED = 0;
-
/* Register all the evolved grid functions with MoL */
-
/* Register all the evolved Array functions with MoL */
return;
}
diff --git a/src/RegisterSymmetries.cc b/src/RegisterSymmetries.cc
index 584b295..dd7932c 100644
--- a/src/RegisterSymmetries.cc
+++ b/src/RegisterSymmetries.cc
@@ -10,11 +10,9 @@ extern "C" void WeylScal4_RegisterSymmetries(CCTK_ARGUMENTS)
DECLARE_CCTK_ARGUMENTS;
DECLARE_CCTK_PARAMETERS;
-
/* array holding symmetry definitions */
CCTK_INT sym[3];
-
/* Register symmetries of grid functions */
sym[0] = 1;
sym[1] = 1;
diff --git a/src/WeylScal4_invars_calc_2nd.cc b/src/WeylScal4_invars_calc_2nd.cc
index f403565..ce2b635 100644
--- a/src/WeylScal4_invars_calc_2nd.cc
+++ b/src/WeylScal4_invars_calc_2nd.cc
@@ -2,6 +2,7 @@
#define KRANC_C
+#include <algorithm>
#include <assert.h>
#include <math.h>
#include <stdio.h>
@@ -10,46 +11,50 @@
#include "cctk.h"
#include "cctk_Arguments.h"
#include "cctk_Parameters.h"
-#include "GenericFD.h"
+#include "Kranc.hh"
#include "Differencing.h"
-#include "cctk_Loop.h"
#include "loopcontrol.h"
#include "vectors.h"
-/* Define macros used in calculations */
-#define INITVALUE (42)
-#define ScalarINV(x) ((CCTK_REAL)1.0 / (x))
-#define ScalarSQR(x) ((x) * (x))
-#define ScalarCUB(x) ((x) * ScalarSQR(x))
-#define ScalarQAD(x) (ScalarSQR(ScalarSQR(x)))
-#define INV(x) (kdiv(ToReal(1.0),x))
-#define SQR(x) (kmul(x,x))
-#define CUB(x) (kmul(x,SQR(x)))
-#define QAD(x) (SQR(SQR(x)))
+namespace WeylScal4 {
+
static void WeylScal4_invars_calc_2nd_Body(const cGH* restrict const cctkGH, const int dir, const int face, const CCTK_REAL normal[3], const CCTK_REAL tangentA[3], const CCTK_REAL tangentB[3], const int imin[3], const int imax[3], const int n_subblock_gfs, CCTK_REAL* restrict const subblock_gfs[])
{
DECLARE_CCTK_ARGUMENTS;
DECLARE_CCTK_PARAMETERS;
-
/* Include user-supplied include files */
-
/* Initialise finite differencing variables */
const ptrdiff_t di CCTK_ATTRIBUTE_UNUSED = 1;
- const ptrdiff_t dj CCTK_ATTRIBUTE_UNUSED = CCTK_GFINDEX3D(cctkGH,0,1,0) - CCTK_GFINDEX3D(cctkGH,0,0,0);
- const ptrdiff_t dk CCTK_ATTRIBUTE_UNUSED = CCTK_GFINDEX3D(cctkGH,0,0,1) - CCTK_GFINDEX3D(cctkGH,0,0,0);
+ const ptrdiff_t dj CCTK_ATTRIBUTE_UNUSED =
+ CCTK_GFINDEX3D(cctkGH,0,1,0) - CCTK_GFINDEX3D(cctkGH,0,0,0);
+ const ptrdiff_t dk CCTK_ATTRIBUTE_UNUSED =
+ CCTK_GFINDEX3D(cctkGH,0,0,1) - CCTK_GFINDEX3D(cctkGH,0,0,0);
const ptrdiff_t cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL) * di;
const ptrdiff_t cdj CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL) * dj;
const ptrdiff_t cdk CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL) * dk;
- const CCTK_REAL_VEC dx CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_SPACE(0));
- const CCTK_REAL_VEC dy CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_SPACE(1));
- const CCTK_REAL_VEC dz CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_SPACE(2));
- const CCTK_REAL_VEC dt CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_TIME);
+ const ptrdiff_t cctkLbnd1 CCTK_ATTRIBUTE_UNUSED = cctk_lbnd[0];
+ const ptrdiff_t cctkLbnd2 CCTK_ATTRIBUTE_UNUSED = cctk_lbnd[1];
+ const ptrdiff_t cctkLbnd3 CCTK_ATTRIBUTE_UNUSED = cctk_lbnd[2];
const CCTK_REAL_VEC t CCTK_ATTRIBUTE_UNUSED = ToReal(cctk_time);
- const CCTK_REAL_VEC dxi CCTK_ATTRIBUTE_UNUSED = INV(dx);
- const CCTK_REAL_VEC dyi CCTK_ATTRIBUTE_UNUSED = INV(dy);
- const CCTK_REAL_VEC dzi CCTK_ATTRIBUTE_UNUSED = INV(dz);
+ const CCTK_REAL_VEC cctkOriginSpace1 CCTK_ATTRIBUTE_UNUSED =
+ ToReal(CCTK_ORIGIN_SPACE(0));
+ const CCTK_REAL_VEC cctkOriginSpace2 CCTK_ATTRIBUTE_UNUSED =
+ ToReal(CCTK_ORIGIN_SPACE(1));
+ const CCTK_REAL_VEC cctkOriginSpace3 CCTK_ATTRIBUTE_UNUSED =
+ ToReal(CCTK_ORIGIN_SPACE(2));
+ const CCTK_REAL_VEC dt CCTK_ATTRIBUTE_UNUSED =
+ ToReal(CCTK_DELTA_TIME);
+ const CCTK_REAL_VEC dx CCTK_ATTRIBUTE_UNUSED =
+ ToReal(CCTK_DELTA_SPACE(0));
+ const CCTK_REAL_VEC dy CCTK_ATTRIBUTE_UNUSED =
+ ToReal(CCTK_DELTA_SPACE(1));
+ const CCTK_REAL_VEC dz CCTK_ATTRIBUTE_UNUSED =
+ ToReal(CCTK_DELTA_SPACE(2));
+ const CCTK_REAL_VEC dxi CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),dx);
+ const CCTK_REAL_VEC dyi CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),dy);
+ const CCTK_REAL_VEC dzi CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),dz);
const CCTK_REAL_VEC khalf CCTK_ATTRIBUTE_UNUSED = ToReal(0.5);
const CCTK_REAL_VEC kthird CCTK_ATTRIBUTE_UNUSED =
ToReal(0.333333333333333333333333333333);
@@ -63,35 +68,34 @@ static void WeylScal4_invars_calc_2nd_Body(const cGH* restrict const cctkGH, con
kmul(dyi,ToReal(0.5));
const CCTK_REAL_VEC hdzi CCTK_ATTRIBUTE_UNUSED =
kmul(dzi,ToReal(0.5));
-
/* Initialize predefined quantities */
const CCTK_REAL_VEC p1o12dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dx);
const CCTK_REAL_VEC p1o12dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dy);
const CCTK_REAL_VEC p1o12dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dz);
- const CCTK_REAL_VEC p1o144dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dy,dx));
- const CCTK_REAL_VEC p1o144dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dz,dx));
- const CCTK_REAL_VEC p1o144dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dz,dy));
+ const CCTK_REAL_VEC p1o144dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dx,dy));
+ const CCTK_REAL_VEC p1o144dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dx,dz));
+ const CCTK_REAL_VEC p1o144dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dy,dz));
const CCTK_REAL_VEC p1o180dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dx,dx));
const CCTK_REAL_VEC p1o180dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dy,dy));
const CCTK_REAL_VEC p1o180dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dz,dz));
const CCTK_REAL_VEC p1o2dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dx);
const CCTK_REAL_VEC p1o2dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dy);
const CCTK_REAL_VEC p1o2dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dz);
- const CCTK_REAL_VEC p1o3600dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dy,dx));
- const CCTK_REAL_VEC p1o3600dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dz,dx));
- const CCTK_REAL_VEC p1o3600dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dz,dy));
- const CCTK_REAL_VEC p1o4dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dy,dx));
- const CCTK_REAL_VEC p1o4dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dz,dx));
- const CCTK_REAL_VEC p1o4dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dz,dy));
+ const CCTK_REAL_VEC p1o3600dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dx,dy));
+ const CCTK_REAL_VEC p1o3600dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dx,dz));
+ const CCTK_REAL_VEC p1o3600dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dy,dz));
+ const CCTK_REAL_VEC p1o4dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dx,dy));
+ const CCTK_REAL_VEC p1o4dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dx,dz));
+ const CCTK_REAL_VEC p1o4dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dy,dz));
const CCTK_REAL_VEC p1o5040dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dx,dx));
const CCTK_REAL_VEC p1o5040dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dy,dy));
const CCTK_REAL_VEC p1o5040dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dz,dz));
const CCTK_REAL_VEC p1o60dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dx);
const CCTK_REAL_VEC p1o60dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dy);
const CCTK_REAL_VEC p1o60dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dz);
- const CCTK_REAL_VEC p1o705600dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dy,dx));
- const CCTK_REAL_VEC p1o705600dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dz,dx));
- const CCTK_REAL_VEC p1o705600dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dz,dy));
+ const CCTK_REAL_VEC p1o705600dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dx,dy));
+ const CCTK_REAL_VEC p1o705600dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dx,dz));
+ const CCTK_REAL_VEC p1o705600dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dy,dz));
const CCTK_REAL_VEC p1o840dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dx);
const CCTK_REAL_VEC p1o840dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dy);
const CCTK_REAL_VEC p1o840dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dz);
@@ -101,62 +105,76 @@ static void WeylScal4_invars_calc_2nd_Body(const cGH* restrict const cctkGH, con
const CCTK_REAL_VEC pm1o12dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dx,dx));
const CCTK_REAL_VEC pm1o12dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dy,dy));
const CCTK_REAL_VEC pm1o12dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dz,dz));
-
/* Jacobian variable pointers */
- const bool use_jacobian1 = (!CCTK_IsFunctionAliased("MultiPatch_GetMap") || MultiPatch_GetMap(cctkGH) != jacobian_identity_map)
+ const bool usejacobian1 = (!CCTK_IsFunctionAliased("MultiPatch_GetMap") || MultiPatch_GetMap(cctkGH) != jacobian_identity_map)
&& strlen(jacobian_group) > 0;
- const bool use_jacobian = assume_use_jacobian>=0 ? assume_use_jacobian : use_jacobian1;
- const bool usejacobian CCTK_ATTRIBUTE_UNUSED = use_jacobian;
- if (use_jacobian && (strlen(jacobian_derivative_group) == 0))
+ const bool usejacobian = assume_use_jacobian>=0 ? assume_use_jacobian : usejacobian1;
+ if (usejacobian && (strlen(jacobian_derivative_group) == 0))
{
CCTK_WARN(1, "GenericFD::jacobian_group and GenericFD::jacobian_derivative_group must both be set to valid group names");
}
const CCTK_REAL* restrict jacobian_ptrs[9];
- if (use_jacobian) GenericFD_GroupDataPointers(cctkGH, jacobian_group,
+ if (usejacobian) GroupDataPointers(cctkGH, jacobian_group,
9, jacobian_ptrs);
- const CCTK_REAL* restrict const J11 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[0] : 0;
- const CCTK_REAL* restrict const J12 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[1] : 0;
- const CCTK_REAL* restrict const J13 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[2] : 0;
- const CCTK_REAL* restrict const J21 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[3] : 0;
- const CCTK_REAL* restrict const J22 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[4] : 0;
- const CCTK_REAL* restrict const J23 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[5] : 0;
- const CCTK_REAL* restrict const J31 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[6] : 0;
- const CCTK_REAL* restrict const J32 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[7] : 0;
- const CCTK_REAL* restrict const J33 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[8] : 0;
+ const CCTK_REAL* restrict const J11 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_ptrs[0] : 0;
+ const CCTK_REAL* restrict const J12 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_ptrs[1] : 0;
+ const CCTK_REAL* restrict const J13 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_ptrs[2] : 0;
+ const CCTK_REAL* restrict const J21 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_ptrs[3] : 0;
+ const CCTK_REAL* restrict const J22 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_ptrs[4] : 0;
+ const CCTK_REAL* restrict const J23 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_ptrs[5] : 0;
+ const CCTK_REAL* restrict const J31 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_ptrs[6] : 0;
+ const CCTK_REAL* restrict const J32 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_ptrs[7] : 0;
+ const CCTK_REAL* restrict const J33 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_ptrs[8] : 0;
- const CCTK_REAL* restrict jacobian_derivative_ptrs[18] CCTK_ATTRIBUTE_UNUSED;
- if (use_jacobian) GenericFD_GroupDataPointers(cctkGH, jacobian_derivative_group,
- 18, jacobian_derivative_ptrs);
+ const CCTK_REAL* restrict jacobian_determinant_ptrs[1] CCTK_ATTRIBUTE_UNUSED;
+ if (usejacobian && strlen(jacobian_determinant_group) > 0) GroupDataPointers(cctkGH, jacobian_determinant_group,
+ 1, jacobian_determinant_ptrs);
- const CCTK_REAL* restrict const dJ111 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[0] : 0;
- const CCTK_REAL* restrict const dJ112 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[1] : 0;
- const CCTK_REAL* restrict const dJ113 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[2] : 0;
- const CCTK_REAL* restrict const dJ122 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[3] : 0;
- const CCTK_REAL* restrict const dJ123 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[4] : 0;
- const CCTK_REAL* restrict const dJ133 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[5] : 0;
- const CCTK_REAL* restrict const dJ211 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[6] : 0;
- const CCTK_REAL* restrict const dJ212 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[7] : 0;
- const CCTK_REAL* restrict const dJ213 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[8] : 0;
- const CCTK_REAL* restrict const dJ222 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[9] : 0;
- const CCTK_REAL* restrict const dJ223 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[10] : 0;
- const CCTK_REAL* restrict const dJ233 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[11] : 0;
- const CCTK_REAL* restrict const dJ311 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[12] : 0;
- const CCTK_REAL* restrict const dJ312 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[13] : 0;
- const CCTK_REAL* restrict const dJ313 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[14] : 0;
- const CCTK_REAL* restrict const dJ322 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[15] : 0;
- const CCTK_REAL* restrict const dJ323 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[16] : 0;
- const CCTK_REAL* restrict const dJ333 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[17] : 0;
+ const CCTK_REAL* restrict const detJ CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_determinant_ptrs[0] : 0;
- /* Assign local copies of arrays functions */
+ const CCTK_REAL* restrict jacobian_inverse_ptrs[9] CCTK_ATTRIBUTE_UNUSED;
+ if (usejacobian && strlen(jacobian_inverse_group) > 0) GroupDataPointers(cctkGH, jacobian_inverse_group,
+ 9, jacobian_inverse_ptrs);
+ const CCTK_REAL* restrict const iJ11 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_inverse_ptrs[0] : 0;
+ const CCTK_REAL* restrict const iJ12 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_inverse_ptrs[1] : 0;
+ const CCTK_REAL* restrict const iJ13 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_inverse_ptrs[2] : 0;
+ const CCTK_REAL* restrict const iJ21 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_inverse_ptrs[3] : 0;
+ const CCTK_REAL* restrict const iJ22 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_inverse_ptrs[4] : 0;
+ const CCTK_REAL* restrict const iJ23 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_inverse_ptrs[5] : 0;
+ const CCTK_REAL* restrict const iJ31 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_inverse_ptrs[6] : 0;
+ const CCTK_REAL* restrict const iJ32 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_inverse_ptrs[7] : 0;
+ const CCTK_REAL* restrict const iJ33 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_inverse_ptrs[8] : 0;
+ const CCTK_REAL* restrict jacobian_derivative_ptrs[18] CCTK_ATTRIBUTE_UNUSED;
+ if (usejacobian) GroupDataPointers(cctkGH, jacobian_derivative_group,
+ 18, jacobian_derivative_ptrs);
- /* Calculate temporaries and arrays functions */
+ const CCTK_REAL* restrict const dJ111 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_derivative_ptrs[0] : 0;
+ const CCTK_REAL* restrict const dJ112 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_derivative_ptrs[1] : 0;
+ const CCTK_REAL* restrict const dJ113 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_derivative_ptrs[2] : 0;
+ const CCTK_REAL* restrict const dJ122 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_derivative_ptrs[3] : 0;
+ const CCTK_REAL* restrict const dJ123 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_derivative_ptrs[4] : 0;
+ const CCTK_REAL* restrict const dJ133 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_derivative_ptrs[5] : 0;
+ const CCTK_REAL* restrict const dJ211 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_derivative_ptrs[6] : 0;
+ const CCTK_REAL* restrict const dJ212 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_derivative_ptrs[7] : 0;
+ const CCTK_REAL* restrict const dJ213 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_derivative_ptrs[8] : 0;
+ const CCTK_REAL* restrict const dJ222 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_derivative_ptrs[9] : 0;
+ const CCTK_REAL* restrict const dJ223 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_derivative_ptrs[10] : 0;
+ const CCTK_REAL* restrict const dJ233 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_derivative_ptrs[11] : 0;
+ const CCTK_REAL* restrict const dJ311 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_derivative_ptrs[12] : 0;
+ const CCTK_REAL* restrict const dJ312 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_derivative_ptrs[13] : 0;
+ const CCTK_REAL* restrict const dJ313 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_derivative_ptrs[14] : 0;
+ const CCTK_REAL* restrict const dJ322 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_derivative_ptrs[15] : 0;
+ const CCTK_REAL* restrict const dJ323 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_derivative_ptrs[16] : 0;
+ const CCTK_REAL* restrict const dJ333 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_derivative_ptrs[17] : 0;
+ /* Assign local copies of arrays functions */
- /* Copy local copies back to grid functions */
+ /* Calculate temporaries and arrays functions */
+ /* Copy local copies back to grid functions */
/* Loop over the grid points */
const int imin0=imin[0];
const int imin1=imin[1];
@@ -164,15 +182,13 @@ static void WeylScal4_invars_calc_2nd_Body(const cGH* restrict const cctkGH, con
const int imax0=imax[0];
const int imax1=imax[1];
const int imax2=imax[2];
- #pragma omp parallel // reduction(+: vec_iter_counter, vec_op_counter, vec_mem_counter)
+ #pragma omp parallel
CCTK_LOOP3STR(WeylScal4_invars_calc_2nd,
i,j,k, imin0,imin1,imin2, imax0,imax1,imax2,
cctk_ash[0],cctk_ash[1],cctk_ash[2],
vecimin,vecimax, CCTK_REAL_VEC_SIZE)
{
const ptrdiff_t index CCTK_ATTRIBUTE_UNUSED = di*i + dj*j + dk*k;
- // vec_iter_counter+=CCTK_REAL_VEC_SIZE;
-
/* Assign local copies of grid functions */
CCTK_REAL_VEC Psi0iL CCTK_ATTRIBUTE_UNUSED = vec_load(Psi0i[index]);
@@ -187,9 +203,7 @@ static void WeylScal4_invars_calc_2nd_Body(const cGH* restrict const cctkGH, con
CCTK_REAL_VEC Psi4rL CCTK_ATTRIBUTE_UNUSED = vec_load(Psi4r[index]);
-
/* Include user supplied include files */
-
/* Precompute derivatives */
switch (fdOrder)
@@ -216,32 +230,30 @@ static void WeylScal4_invars_calc_2nd_Body(const cGH* restrict const cctkGH, con
default:
CCTK_BUILTIN_UNREACHABLE();
}
-
/* Calculate temporaries and grid functions */
CCTK_REAL_VEC curvIrL CCTK_ATTRIBUTE_UNUSED =
- kmadd(Psi0rL,Psi4rL,kmadd(Psi1rL,kmul(Psi3rL,ToReal(-4)),kmadd(kmul(Psi2iL,Psi2iL),ToReal(-3),knmsub(Psi0iL,Psi4iL,kmadd(kmul(Psi2rL,Psi2rL),ToReal(3),kmul(Psi1iL,kmul(Psi3iL,ToReal(4))))))));
+ kmadd(ToReal(4),kmul(Psi1iL,Psi3iL),kmadd(ToReal(-4),kmul(Psi1rL,Psi3rL),knmsub(Psi0iL,Psi4iL,kmadd(Psi0rL,Psi4rL,kmadd(ToReal(-3),kmul(Psi2iL,Psi2iL),kmul(kmul(Psi2rL,Psi2rL),ToReal(3)))))));
CCTK_REAL_VEC curvIiL CCTK_ATTRIBUTE_UNUSED =
- kmadd(Psi0rL,Psi4iL,kmadd(Psi0iL,Psi4rL,kmadd(kmadd(Psi1rL,Psi3iL,kmul(Psi1iL,Psi3rL)),ToReal(-4),kmul(Psi2iL,kmul(Psi2rL,ToReal(6))))));
+ kmadd(ToReal(6),kmul(Psi2iL,Psi2rL),kmadd(ToReal(-4),kmadd(Psi1rL,Psi3iL,kmul(Psi1iL,Psi3rL)),kmadd(Psi0rL,Psi4iL,kmul(Psi0iL,Psi4rL))));
CCTK_REAL_VEC curvJrL CCTK_ATTRIBUTE_UNUSED =
- knmsub(Psi2rL,kmul(Psi2rL,Psi2rL),kmadd(Psi4rL,kmsub(Psi1iL,Psi1iL,kmul(Psi1rL,Psi1rL)),kmadd(Psi0rL,kmsub(Psi3iL,Psi3iL,kmul(Psi3rL,Psi3rL)),kmadd(kmadd(Psi0iL,kmul(Psi3iL,Psi3rL),kmul(Psi1iL,kmul(Psi1rL,Psi4iL))),ToReal(2),knmsub(Psi2iL,kmadd(Psi0rL,Psi4iL,kmadd(Psi0iL,Psi4rL,kmadd(Psi1rL,kmul(Psi3iL,ToReal(2)),kmul(Psi1iL,kmul(Psi3rL,ToReal(2)))))),kmadd(Psi2rL,kmadd(Psi0rL,Psi4rL,kmadd(Psi1iL,kmul(Psi3iL,ToReal(-2)),kmsub(Psi1rL,kmul(Psi3rL,ToReal(2)),kmul(Psi0iL,Psi4iL)))),kmul(Psi2rL,kmul(kmul(Psi2iL,Psi2iL),ToReal(3)))))))));
+ kmadd(ToReal(2),kmul(Psi0iL,kmul(Psi3iL,Psi3rL)),kmadd(ToReal(2),kmul(Psi1iL,kmul(Psi1rL,Psi4iL)),knmsub(Psi2iL,kmadd(ToReal(2),kmul(Psi1rL,Psi3iL),kmadd(ToReal(2),kmul(Psi1iL,Psi3rL),kmadd(Psi0rL,Psi4iL,kmul(Psi0iL,Psi4rL)))),kmadd(Psi4rL,kmsub(Psi1iL,Psi1iL,kmul(Psi1rL,Psi1rL)),kmadd(Psi2rL,kmadd(ToReal(-2),kmul(Psi1iL,Psi3iL),kmadd(ToReal(2),kmul(Psi1rL,Psi3rL),knmsub(Psi0iL,Psi4iL,kmadd(Psi0rL,Psi4rL,kmul(kmul(Psi2iL,Psi2iL),ToReal(3)))))),kmsub(Psi0rL,kmsub(Psi3iL,Psi3iL,kmul(Psi3rL,Psi3rL)),kmul(Psi2rL,kmul(Psi2rL,Psi2rL))))))));
CCTK_REAL_VEC curvJiL CCTK_ATTRIBUTE_UNUSED =
- kmadd(Psi2iL,kmul(Psi2iL,Psi2iL),kmadd(Psi4rL,kmadd(Psi0iL,Psi2rL,kmul(Psi1iL,kmul(Psi1rL,ToReal(-2)))),kmadd(Psi0rL,kmadd(Psi2rL,Psi4iL,kmul(Psi3iL,kmul(Psi3rL,ToReal(-2)))),kmadd(Psi4iL,kmsub(Psi1iL,Psi1iL,kmul(Psi1rL,Psi1rL)),kmadd(Psi0iL,kmsub(Psi3iL,Psi3iL,kmul(Psi3rL,Psi3rL)),kmadd(Psi2rL,kmul(kmadd(Psi1rL,Psi3iL,kmul(Psi1iL,Psi3rL)),ToReal(2)),kmul(Psi2iL,kmadd(Psi0rL,Psi4rL,kmadd(kmul(Psi2rL,Psi2rL),ToReal(-3),kmadd(Psi1iL,kmul(Psi3iL,ToReal(-2)),kmsub(Psi1rL,kmul(Psi3rL,ToReal(2)),kmul(Psi0iL,Psi4iL))))))))))));
+ kmadd(ToReal(2),kmul(Psi2rL,kmadd(Psi1rL,Psi3iL,kmul(Psi1iL,Psi3rL))),kmadd(Psi0rL,kmadd(ToReal(-2),kmul(Psi3iL,Psi3rL),kmul(Psi2rL,Psi4iL)),kmadd(ToReal(-2),kmul(Psi1iL,kmul(Psi1rL,Psi4rL)),kmadd(Psi4iL,kmsub(Psi1iL,Psi1iL,kmul(Psi1rL,Psi1rL)),kmadd(Psi2iL,kmul(Psi2iL,Psi2iL),kmadd(Psi2iL,kmadd(ToReal(-2),kmul(Psi1iL,Psi3iL),kmadd(ToReal(2),kmul(Psi1rL,Psi3rL),knmsub(Psi0iL,Psi4iL,kmadd(Psi0rL,Psi4rL,kmul(kmul(Psi2rL,Psi2rL),ToReal(-3)))))),kmul(Psi0iL,kmadd(Psi2rL,Psi4rL,kmsub(Psi3iL,Psi3iL,kmul(Psi3rL,Psi3rL))))))))));
CCTK_REAL_VEC curvJ1L CCTK_ATTRIBUTE_UNUSED =
- kmul(ToReal(-16),kmadd(Psi0iL,Psi4iL,kmadd(Psi1iL,kmul(Psi3iL,ToReal(-4)),kmadd(kmul(Psi2rL,Psi2rL),ToReal(-3),knmsub(Psi0rL,Psi4rL,kmadd(kmul(Psi2iL,Psi2iL),ToReal(3),kmul(Psi1rL,kmul(Psi3rL,ToReal(4)))))))));
+ kmul(kmadd(ToReal(-4),kmul(Psi1iL,Psi3iL),kmadd(ToReal(4),kmul(Psi1rL,Psi3rL),kmadd(Psi0iL,Psi4iL,knmsub(Psi0rL,Psi4rL,kmadd(ToReal(3),kmul(Psi2iL,Psi2iL),kmul(ToReal(-3),kmul(Psi2rL,Psi2rL))))))),ToReal(-16));
CCTK_REAL_VEC curvJ2L CCTK_ATTRIBUTE_UNUSED =
- kmul(kmadd(Psi2rL,kmul(Psi2rL,Psi2rL),kmadd(kmadd(Psi0iL,kmul(Psi3iL,Psi3rL),kmul(Psi1iL,kmul(Psi1rL,Psi4iL))),ToReal(-2),kmadd(Psi4rL,kmsub(Psi1rL,Psi1rL,kmul(Psi1iL,Psi1iL)),kmadd(Psi0rL,kmsub(Psi3rL,Psi3rL,kmul(Psi3iL,Psi3iL)),kmadd(Psi2rL,kmadd(Psi0iL,Psi4iL,kmadd(kmul(Psi2iL,Psi2iL),ToReal(-3),kmadd(Psi1rL,kmul(Psi3rL,ToReal(-2)),kmsub(Psi1iL,kmul(Psi3iL,ToReal(2)),kmul(Psi0rL,Psi4rL))))),kmul(Psi2iL,kmadd(Psi0rL,Psi4iL,kmadd(Psi0iL,Psi4rL,kmul(kmadd(Psi1rL,Psi3iL,kmul(Psi1iL,Psi3rL)),ToReal(2)))))))))),ToReal(96));
+ kmul(kmadd(ToReal(-2),kmadd(Psi0iL,kmul(Psi3iL,Psi3rL),kmul(Psi1iL,kmul(Psi1rL,Psi4iL))),kmadd(Psi2iL,kmadd(ToReal(2),kmadd(Psi1rL,Psi3iL,kmul(Psi1iL,Psi3rL)),kmadd(Psi0rL,Psi4iL,kmul(Psi0iL,Psi4rL))),kmadd(Psi4rL,kmsub(Psi1rL,Psi1rL,kmul(Psi1iL,Psi1iL)),kmadd(Psi2rL,kmadd(ToReal(2),kmul(Psi1iL,Psi3iL),kmadd(ToReal(-2),kmul(Psi1rL,Psi3rL),kmadd(Psi0iL,Psi4iL,kmsub(ToReal(-3),kmul(Psi2iL,Psi2iL),kmul(Psi0rL,Psi4rL))))),kmadd(Psi2rL,kmul(Psi2rL,Psi2rL),kmul(Psi0rL,kmsub(Psi3rL,Psi3rL,kmul(Psi3iL,Psi3iL)))))))),ToReal(96));
CCTK_REAL_VEC curvJ3L CCTK_ATTRIBUTE_UNUSED =
- kmul(kmadd(kmul(Psi0iL,Psi0iL),kmul(Psi4iL,Psi4iL),kmadd(kmul(Psi0rL,Psi0rL),kmul(Psi4rL,Psi4rL),kmadd(kmadd(kmul(Psi1rL,Psi1rL),kmul(Psi3iL,Psi3iL),kmul(kmul(Psi1iL,Psi1iL),kmul(Psi3rL,Psi3rL))),ToReal(-16),kmadd(Psi0iL,kmul(Psi0rL,kmul(Psi4iL,kmul(Psi4rL,ToReal(-4)))),knmsub(kmul(Psi0rL,Psi0rL),kmul(Psi4iL,Psi4iL),knmsub(kmul(Psi0iL,Psi0iL),kmul(Psi4rL,Psi4rL),kmadd(kmul(Psi2rL,Psi2rL),kmul(kmadd(Psi0rL,Psi4rL,kmadd(Psi1rL,kmul(Psi3rL,ToReal(-4)),kmsub(Psi1iL,kmul(Psi3iL,ToReal(4)),kmul(Psi0iL,Psi4iL)))),ToReal(6)),kmadd(kmadd(Psi0rL,kmul(Psi1rL,kmul(Psi3iL,Psi4iL)),kmadd(Psi0rL,kmul(Psi1iL,kmul(Psi3rL,Psi4iL)),kmadd(Psi0iL,kmul(Psi1rL,kmul(Psi3rL,Psi4iL)),kmul(Psi0iL,kmul(Psi1rL,kmul(Psi3iL,Psi4rL)))))),ToReal(8),kmadd(Psi3rL,kmadd(Psi0rL,kmul(Psi1rL,kmul(Psi4rL,ToReal(-8))),kmul(Psi0iL,kmul(Psi1iL,kmul(Psi4rL,ToReal(8))))),kmadd(Psi1iL,kmadd(Psi1rL,kmul(Psi3iL,kmul(Psi3rL,ToReal(-64))),kmadd(Psi0iL,kmul(Psi3iL,kmul(Psi4iL,ToReal(-8))),kmul(Psi0rL,kmul(Psi3iL,kmul(Psi4rL,ToReal(8)))))),kmadd(kmadd(kmul(Psi2iL,Psi2iL),kmul(Psi2iL,Psi2iL),kmul(kmul(Psi2rL,Psi2rL),kmul(Psi2rL,Psi2rL))),ToReal(9),kmadd(kmul(Psi2iL,Psi2iL),kmul(ToReal(-6),kmadd(Psi0rL,Psi4rL,kmadd(Psi1rL,kmul(Psi3rL,ToReal(-4)),knmsub(Psi0iL,Psi4iL,kmadd(Psi1iL,kmul(Psi3iL,ToReal(4)),kmul(kmul(Psi2rL,Psi2rL),ToReal(9))))))),kmadd(Psi2iL,kmul(Psi2rL,kmul(knmsub(Psi0rL,Psi4iL,knmsub(Psi0iL,Psi4rL,kmadd(Psi1rL,kmul(Psi3iL,ToReal(4)),kmul(Psi1iL,kmul(Psi3rL,ToReal(4)))))),ToReal(12))),kmul(kmadd(kmul(Psi1iL,Psi1iL),kmul(Psi3iL,Psi3iL),kmul(kmul(Psi1rL,Psi1rL),kmul(Psi3rL,Psi3rL))),ToReal(16))))))))))))))),ToReal(64));
+ kmul(kmadd(kmadd(kmadd(ToReal(8),kmul(Psi0iL,Psi1iL),kmul(ToReal(-8),kmul(Psi0rL,Psi1rL))),Psi3rL,kmul(ToReal(-4),kmul(Psi0iL,kmul(Psi0rL,Psi4iL)))),Psi4rL,kmadd(ToReal(12),kmul(Psi2iL,kmul(Psi2rL,kmsub(ToReal(4),kmadd(Psi1rL,Psi3iL,kmul(Psi1iL,Psi3rL)),kmadd(Psi0iL,Psi4rL,kmul(Psi0rL,Psi4iL))))),kmadd(Psi1iL,kmul(Psi3iL,kmadd(ToReal(-64),kmul(Psi1rL,Psi3rL),kmadd(ToReal(-8),kmul(Psi0iL,Psi4iL),kmul(ToReal(8),kmul(Psi0rL,Psi4rL))))),kmadd(ToReal(8),kmadd(Psi0rL,kmul(kmadd(Psi1rL,Psi3iL,kmul(Psi1iL,Psi3rL)),Psi4iL),kmul(Psi0iL,kmul(Psi1rL,kmadd(Psi3rL,Psi4iL,kmul(Psi3iL,Psi4rL))))),kmadd(ToReal(6),kmul(kmadd(ToReal(4),kmul(Psi1iL,Psi3iL),kmadd(ToReal(-4),kmul(Psi1rL,Psi3rL),kmsub(Psi0rL,Psi4rL,kmul(Psi0iL,Psi4iL)))),kmul(Psi2rL,Psi2rL)),kmadd(ToReal(-6),kmul(kmul(Psi2iL,Psi2iL),kmadd(ToReal(4),kmul(Psi1iL,Psi3iL),kmadd(ToReal(-4),kmul(Psi1rL,Psi3rL),knmsub(Psi0iL,Psi4iL,kmadd(Psi0rL,Psi4rL,kmul(ToReal(9),kmul(Psi2rL,Psi2rL))))))),kmadd(ToReal(9),kmadd(kmul(Psi2iL,Psi2iL),kmul(Psi2iL,Psi2iL),kmul(kmul(Psi2rL,Psi2rL),kmul(Psi2rL,Psi2rL))),kmadd(kmadd(ToReal(16),kmul(Psi1iL,Psi1iL),kmul(ToReal(-16),kmul(Psi1rL,Psi1rL))),kmul(Psi3iL,Psi3iL),kmadd(kmadd(ToReal(-16),kmul(Psi1iL,Psi1iL),kmul(ToReal(16),kmul(Psi1rL,Psi1rL))),kmul(Psi3rL,Psi3rL),kmadd(kmsub(Psi0iL,Psi0iL,kmul(Psi0rL,Psi0rL)),kmul(Psi4iL,Psi4iL),kmul(kmsub(Psi0rL,Psi0rL,kmul(Psi0iL,Psi0iL)),kmul(Psi4rL,Psi4rL)))))))))))),ToReal(64));
CCTK_REAL_VEC curvJ4L CCTK_ATTRIBUTE_UNUSED =
- kmul(ToReal(-640),kmadd(Psi1iL,kmul(kmadd(kmadd(Psi3rL,Psi4iL,kmul(Psi3iL,Psi4rL)),kmul(Psi1rL,Psi1rL),kmul(Psi0rL,kmul(Psi3iL,kmul(Psi3rL,Psi3rL)))),ToReal(-12)),kmadd(kmadd(Psi3iL,kmul(Psi4iL,kmul(Psi1rL,kmul(Psi1rL,Psi1rL))),kmul(Psi0iL,kmul(Psi1iL,kmul(Psi3rL,kmul(Psi3rL,Psi3rL))))),ToReal(-4),kmadd(kmul(Psi2rL,kmul(kmul(Psi2rL,Psi2rL),kmul(Psi2rL,Psi2rL))),ToReal(-3),kmadd(Psi4rL,kmadd(kmul(Psi0rL,Psi0rL),kmul(Psi3iL,Psi3iL),kmsub(kmul(Psi0iL,Psi0iL),kmul(Psi3rL,Psi3rL),kmadd(kmul(Psi0rL,Psi0rL),kmul(Psi3rL,Psi3rL),kmul(kmul(Psi0iL,Psi0iL),kmul(Psi3iL,Psi3iL))))),kmadd(Psi0rL,kmadd(kmul(Psi1rL,Psi1rL),kmul(Psi4iL,Psi4iL),kmsub(kmul(Psi1iL,Psi1iL),kmul(Psi4rL,Psi4rL),kmadd(kmul(Psi1rL,Psi1rL),kmul(Psi4rL,Psi4rL),kmul(kmul(Psi1iL,Psi1iL),kmul(Psi4iL,Psi4iL))))),kmadd(kmadd(kmadd(Psi3rL,Psi4iL,kmul(Psi3iL,Psi4rL)),kmul(Psi1iL,kmul(Psi1iL,Psi1iL)),kmadd(Psi3rL,kmul(Psi4rL,kmul(Psi1rL,kmul(Psi1rL,Psi1rL))),kmadd(Psi0rL,kmadd(kmadd(Psi0iL,kmul(Psi3iL,Psi3rL),kmul(Psi1iL,kmul(Psi1rL,Psi4iL))),Psi4rL,kmul(Psi1iL,kmul(Psi3iL,kmul(Psi3iL,Psi3iL)))),kmul(Psi1rL,kmadd(Psi0iL,kmul(Psi3iL,kmul(Psi3iL,Psi3iL)),kmul(Psi0rL,kmul(Psi3rL,kmul(Psi3rL,Psi3rL)))))))),ToReal(4),kmadd(ToReal(-2),kmadd(Psi4iL,kmadd(Psi3iL,kmul(Psi3rL,kmul(Psi0iL,Psi0iL)),kmul(Psi0iL,kmadd(Psi4rL,kmul(Psi1iL,Psi1iL),kmul(Psi0rL,kmul(Psi3iL,Psi3iL))))),kmul(kmul(Psi2rL,kmul(Psi2rL,Psi2rL)),kmadd(Psi0iL,Psi4iL,kmadd(Psi1rL,kmul(Psi3rL,ToReal(-5)),kmsub(Psi1iL,kmul(Psi3iL,ToReal(5)),kmul(Psi0rL,Psi4rL)))))),kmadd(ToReal(2),kmadd(Psi4iL,kmadd(Psi3iL,kmul(Psi3rL,kmul(Psi0rL,Psi0rL)),kmul(Psi0iL,kmadd(Psi4rL,kmul(Psi1rL,Psi1rL),kmul(Psi0rL,kmul(Psi3rL,Psi3rL))))),kmadd(kmul(Psi2iL,kmul(Psi2iL,Psi2iL)),kmadd(Psi0rL,Psi4iL,kmadd(Psi0iL,Psi4rL,kmul(kmadd(Psi1rL,Psi3iL,kmul(Psi1iL,Psi3rL)),ToReal(5)))),kmul(Psi2iL,kmadd(Psi3rL,kmadd(Psi1iL,kmul(kmul(Psi2rL,Psi2rL),ToReal(-15)),kmul(Psi3iL,kmul(kmul(Psi1iL,Psi1iL),ToReal(-8)))),kmadd(Psi4iL,kmadd(Psi2rL,kmul(kmul(Psi1iL,Psi1iL),ToReal(-3)),kmul(Psi4rL,kmsub(Psi0iL,Psi0iL,kmul(Psi0rL,Psi0rL)))),knmsub(Psi0iL,kmadd(Psi1iL,kmadd(Psi3rL,Psi4iL,kmul(Psi3iL,Psi4rL)),kmadd(Psi2rL,kmul(kmul(Psi3rL,Psi3rL),ToReal(-3)),kmadd(Psi0rL,kmsub(Psi4rL,Psi4rL,kmul(Psi4iL,Psi4iL)),kmul(kmadd(Psi4rL,kmul(Psi2rL,Psi2rL),kmul(Psi2rL,kmul(Psi3iL,Psi3iL))),ToReal(3))))),kmadd(Psi0rL,kmadd(Psi1iL,kmul(Psi3rL,Psi4rL),kmadd(Psi4iL,kmul(kmul(Psi2rL,Psi2rL),ToReal(-3)),kmul(Psi3iL,kmsub(Psi2rL,kmul(Psi3rL,ToReal(6)),kmul(Psi1iL,Psi4iL))))),kmadd(kmul(Psi1rL,Psi1rL),kmadd(Psi2rL,kmul(Psi4iL,ToReal(3)),kmul(Psi3iL,kmul(Psi3rL,ToReal(8)))),kmul(Psi1rL,kmadd(Psi3iL,kmul(kmul(Psi2rL,Psi2rL),ToReal(-15)),kmadd(Psi4iL,kmsub(Psi0rL,Psi3rL,kmul(Psi0iL,Psi3iL)),kmadd(Psi4rL,kmadd(Psi0rL,Psi3iL,kmadd(Psi0iL,Psi3rL,kmul(Psi1iL,kmul(Psi2rL,ToReal(6))))),kmul(Psi1iL,kmadd(kmul(Psi3iL,Psi3iL),ToReal(-8),kmul(kmul(Psi3rL,Psi3rL),ToReal(8)))))))))))))))),kmadd(ToReal(3),kmadd(kmul(Psi2rL,Psi2rL),kmadd(Psi4rL,kmsub(Psi1iL,Psi1iL,kmul(Psi1rL,Psi1rL)),kmadd(Psi0rL,kmsub(Psi3iL,Psi3iL,kmul(Psi3rL,Psi3rL)),kmul(kmadd(Psi0iL,kmul(Psi3iL,Psi3rL),kmul(Psi1iL,kmul(Psi1rL,Psi4iL))),ToReal(2)))),kmul(kmul(Psi2iL,Psi2iL),kmadd(kmadd(Psi0iL,kmul(Psi3iL,Psi3rL),kmul(Psi1iL,kmul(Psi1rL,Psi4iL))),ToReal(-2),kmadd(Psi4rL,kmsub(Psi1rL,Psi1rL,kmul(Psi1iL,Psi1iL)),kmadd(Psi0rL,kmsub(Psi3rL,Psi3rL,kmul(Psi3iL,Psi3iL)),kmadd(Psi2rL,kmul(ToReal(2),kmadd(Psi0iL,Psi4iL,kmadd(Psi1rL,kmul(Psi3rL,ToReal(-5)),kmsub(Psi1iL,kmul(Psi3iL,ToReal(5)),kmul(Psi0rL,Psi4rL))))),kmul(kmul(Psi2rL,kmul(Psi2rL,Psi2rL)),ToReal(10)))))))),kmadd(Psi1rL,kmadd(Psi0rL,kmul(Psi3rL,kmul(kmul(Psi3iL,Psi3iL),ToReal(-12))),kmadd(Psi0iL,kmul(Psi1iL,kmul(kmul(Psi4iL,Psi4iL),ToReal(-2))),kmul(kmul(Psi1iL,Psi1iL),kmadd(Psi3rL,kmul(Psi4rL,ToReal(-12)),kmul(Psi3iL,kmul(Psi4iL,ToReal(12))))))),kmadd(Psi0iL,kmadd(Psi1rL,kmul(Psi3iL,kmul(kmul(Psi3rL,Psi3rL),ToReal(-12))),kmul(Psi1iL,kmadd(Psi1rL,kmul(kmul(Psi4rL,Psi4rL),ToReal(2)),kmul(Psi3rL,kmul(kmul(Psi3iL,Psi3iL),ToReal(12)))))),kmul(Psi2rL,kmadd(kmul(Psi0iL,Psi0iL),kmul(Psi4iL,Psi4iL),kmadd(kmul(Psi0rL,Psi0rL),kmul(Psi4rL,Psi4rL),kmadd(kmul(kmul(Psi2iL,Psi2iL),kmul(Psi2iL,Psi2iL)),ToReal(-15),kmadd(Psi0iL,kmul(Psi0rL,kmul(Psi4iL,kmul(Psi4rL,ToReal(-4)))),knmsub(kmul(Psi0rL,Psi0rL),kmul(Psi4iL,Psi4iL),knmsub(kmul(Psi0iL,Psi0iL),kmul(Psi4rL,Psi4rL),kmadd(kmsub(Psi3iL,Psi3iL,kmul(Psi3rL,Psi3rL)),kmadd(kmul(Psi1iL,Psi1iL),ToReal(-8),kmul(kmul(Psi1rL,Psi1rL),ToReal(8))),kmul(ToReal(2),kmadd(Psi1rL,kmadd(Psi0iL,kmul(Psi3rL,Psi4iL),kmadd(Psi0iL,kmul(Psi3iL,Psi4rL),kmul(Psi0rL,kmsub(Psi3iL,Psi4iL,kmul(Psi3rL,Psi4rL))))),kmul(Psi1iL,kmadd(Psi0rL,kmul(Psi3rL,Psi4iL),kmadd(Psi0rL,kmul(Psi3iL,Psi4rL),kmadd(Psi0iL,kmul(Psi3rL,Psi4rL),kmul(Psi3iL,kmsub(Psi1rL,kmul(Psi3rL,ToReal(16)),kmul(Psi0iL,Psi4iL)))))))))))))))))))))))))))));
-
+ kmul(kmadd(Psi3iL,kmadd(Psi4iL,kmadd(ToReal(-2),kmul(Psi3rL,kmul(Psi0iL,Psi0iL)),kmul(ToReal(12),kmul(Psi1rL,kmul(Psi1iL,Psi1iL)))),kmul(ToReal(4),kmul(Psi4rL,kmul(Psi1iL,kmul(Psi1iL,Psi1iL))))),kmadd(ToReal(-2),kmul(kmadd(ToReal(5),kmul(Psi1iL,Psi3iL),kmadd(ToReal(-5),kmul(Psi1rL,Psi3rL),kmsub(Psi0iL,Psi4iL,kmul(Psi0rL,Psi4rL)))),kmul(Psi2rL,kmul(Psi2rL,Psi2rL))),kmadd(ToReal(-3),kmul(Psi2rL,kmul(kmul(Psi2rL,Psi2rL),kmul(Psi2rL,Psi2rL))),kmadd(kmadd(kmadd(ToReal(12),kmul(Psi0iL,Psi1iL),kmul(ToReal(-12),kmul(Psi0rL,Psi1rL))),Psi3rL,kmsub(ToReal(-2),kmul(Psi0iL,kmul(Psi0rL,Psi4iL)),kmul(Psi4rL,kmul(Psi0iL,Psi0iL)))),kmul(Psi3iL,Psi3iL),kmadd(Psi4rL,kmadd(Psi4iL,kmadd(ToReal(4),kmul(Psi0rL,kmul(Psi1iL,Psi1rL)),kmul(ToReal(-2),kmul(Psi0iL,kmul(Psi1iL,Psi1iL)))),kmadd(Psi3rL,kmadd(ToReal(4),kmul(Psi0iL,kmul(Psi0rL,Psi3iL)),kmul(ToReal(-12),kmul(Psi1rL,kmul(Psi1iL,Psi1iL)))),kmadd(kmul(Psi0rL,Psi0rL),kmsub(Psi3iL,Psi3iL,kmul(Psi3rL,Psi3rL)),kmul(kmul(Psi0iL,Psi0iL),kmul(Psi3rL,Psi3rL))))),kmadd(ToReal(-12),kmadd(Psi1iL,kmul(Psi3rL,kmul(Psi4iL,kmul(Psi1rL,Psi1rL))),kmul(Psi3iL,kmadd(Psi1iL,kmul(Psi4rL,kmul(Psi1rL,Psi1rL)),kmul(kmadd(Psi0rL,Psi1iL,kmul(Psi0iL,Psi1rL)),kmul(Psi3rL,Psi3rL))))),kmadd(ToReal(3),kmadd(kmul(Psi2rL,Psi2rL),kmadd(ToReal(2),kmadd(Psi0iL,kmul(Psi3iL,Psi3rL),kmul(Psi1iL,kmul(Psi1rL,Psi4iL))),kmadd(Psi4rL,kmsub(Psi1iL,Psi1iL,kmul(Psi1rL,Psi1rL)),kmul(Psi0rL,kmsub(Psi3iL,Psi3iL,kmul(Psi3rL,Psi3rL))))),kmul(kmul(Psi2iL,Psi2iL),kmadd(ToReal(-2),kmadd(Psi0iL,kmul(Psi3iL,Psi3rL),kmul(Psi1iL,kmul(Psi1rL,Psi4iL))),kmadd(ToReal(2),kmul(Psi2rL,kmadd(ToReal(5),kmul(Psi1iL,Psi3iL),kmadd(ToReal(-5),kmul(Psi1rL,Psi3rL),kmsub(Psi0iL,Psi4iL,kmul(Psi0rL,Psi4rL))))),kmadd(Psi4rL,kmsub(Psi1rL,Psi1rL,kmul(Psi1iL,Psi1iL)),kmadd(ToReal(10),kmul(Psi2rL,kmul(Psi2rL,Psi2rL)),kmul(Psi0rL,kmsub(Psi3rL,Psi3rL,kmul(Psi3iL,Psi3iL))))))))),kmadd(ToReal(-4),kmadd(Psi3iL,kmul(Psi4iL,kmul(Psi1rL,kmul(Psi1rL,Psi1rL))),kmul(Psi0iL,kmul(Psi1iL,kmul(Psi3rL,kmul(Psi3rL,Psi3rL))))),kmadd(ToReal(4),kmadd(Psi3rL,kmadd(Psi4iL,kmul(Psi1iL,kmul(Psi1iL,Psi1iL)),kmul(Psi4rL,kmul(Psi1rL,kmul(Psi1rL,Psi1rL)))),kmadd(kmadd(Psi0rL,Psi1iL,kmul(Psi0iL,Psi1rL)),kmul(Psi3iL,kmul(Psi3iL,Psi3iL)),kmul(Psi0rL,kmul(Psi1rL,kmul(Psi3rL,kmul(Psi3rL,Psi3rL)))))),kmadd(kmadd(ToReal(-2),kmul(Psi0iL,kmul(Psi1iL,Psi1rL)),kmul(Psi0rL,kmsub(Psi1rL,Psi1rL,kmul(Psi1iL,Psi1iL)))),kmul(Psi4iL,Psi4iL),kmadd(kmadd(ToReal(2),kmul(Psi0iL,kmul(Psi1iL,Psi1rL)),kmul(Psi0rL,kmsub(Psi1iL,Psi1iL,kmul(Psi1rL,Psi1rL)))),kmul(Psi4rL,Psi4rL),kmadd(Psi2rL,kmadd(ToReal(-4),kmul(Psi0iL,kmul(Psi0rL,kmul(Psi4iL,Psi4rL))),kmadd(ToReal(2),kmadd(Psi1rL,kmadd(kmadd(Psi0rL,Psi3iL,kmul(Psi0iL,Psi3rL)),Psi4iL,kmul(kmsub(Psi0iL,Psi3iL,kmul(Psi0rL,Psi3rL)),Psi4rL)),kmul(Psi1iL,kmadd(Psi3iL,kmsub(ToReal(16),kmul(Psi1rL,Psi3rL),kmul(Psi0iL,Psi4iL)),kmadd(Psi0iL,kmul(Psi3rL,Psi4rL),kmul(Psi0rL,kmadd(Psi3rL,Psi4iL,kmul(Psi3iL,Psi4rL))))))),kmadd(ToReal(-15),kmul(kmul(Psi2iL,Psi2iL),kmul(Psi2iL,Psi2iL)),kmadd(kmadd(ToReal(-8),kmul(Psi1iL,Psi1iL),kmul(ToReal(8),kmul(Psi1rL,Psi1rL))),kmsub(Psi3iL,Psi3iL,kmul(Psi3rL,Psi3rL)),kmadd(kmsub(Psi0iL,Psi0iL,kmul(Psi0rL,Psi0rL)),kmul(Psi4iL,Psi4iL),kmul(kmsub(Psi0rL,Psi0rL,kmul(Psi0iL,Psi0iL)),kmul(Psi4rL,Psi4rL))))))),kmul(ToReal(2),kmadd(kmadd(ToReal(5),kmadd(Psi1rL,Psi3iL,kmul(Psi1iL,Psi3rL)),kmadd(Psi0rL,Psi4iL,kmul(Psi0iL,Psi4rL))),kmul(Psi2iL,kmul(Psi2iL,Psi2iL)),kmadd(Psi4iL,kmadd(Psi3iL,kmul(Psi3rL,kmul(Psi0rL,Psi0rL)),kmul(Psi0iL,kmadd(Psi4rL,kmul(Psi1rL,Psi1rL),kmul(Psi0rL,kmul(Psi3rL,Psi3rL))))),kmul(Psi2iL,kmadd(kmadd(ToReal(8),kmul(Psi3iL,Psi3rL),kmul(ToReal(3),kmul(Psi2rL,Psi4iL))),kmul(Psi1rL,Psi1rL),kmadd(Psi3rL,kmadd(Psi3iL,kmadd(ToReal(6),kmul(Psi0rL,Psi2rL),kmul(ToReal(-8),kmul(Psi1iL,Psi1iL))),kmul(Psi1iL,kmadd(Psi0rL,Psi4rL,kmul(ToReal(-15),kmul(Psi2rL,Psi2rL))))),kmadd(Psi4iL,knmsub(Psi0rL,kmul(Psi1iL,Psi3iL),kmadd(Psi4rL,kmsub(Psi0iL,Psi0iL,kmul(Psi0rL,Psi0rL)),kmul(ToReal(-3),kmadd(Psi2rL,kmul(Psi1iL,Psi1iL),kmul(Psi0rL,kmul(Psi2rL,Psi2rL)))))),kmsub(Psi1rL,kmadd(Psi0iL,kmul(Psi3rL,Psi4rL),kmadd(Psi0rL,kmadd(Psi3rL,Psi4iL,kmul(Psi3iL,Psi4rL)),kmadd(Psi3iL,kmsub(ToReal(-15),kmul(Psi2rL,Psi2rL),kmul(Psi0iL,Psi4iL)),kmul(Psi1iL,kmadd(ToReal(6),kmul(Psi2rL,Psi4rL),kmadd(ToReal(-8),kmul(Psi3iL,Psi3iL),kmul(ToReal(8),kmul(Psi3rL,Psi3rL)))))))),kmul(Psi0iL,kmadd(Psi1iL,kmadd(Psi3rL,Psi4iL,kmul(Psi3iL,Psi4rL)),kmadd(ToReal(3),kmul(Psi4rL,kmul(Psi2rL,Psi2rL)),kmadd(Psi2rL,kmadd(ToReal(3),kmul(Psi3iL,Psi3iL),kmul(ToReal(-3),kmul(Psi3rL,Psi3rL))),kmul(Psi0rL,kmsub(Psi4rL,Psi4rL,kmul(Psi4iL,Psi4iL))))))))))))))))))))))))))),ToReal(-640));
/* Copy local copies back to grid functions */
vec_store_partial_prepare(i,vecimin,vecimax);
vec_store_nta_partial(curvIi[index],curvIiL);
@@ -255,18 +267,15 @@ static void WeylScal4_invars_calc_2nd_Body(const cGH* restrict const cctkGH, con
}
CCTK_ENDLOOP3STR(WeylScal4_invars_calc_2nd);
}
-
extern "C" void WeylScal4_invars_calc_2nd(CCTK_ARGUMENTS)
{
DECLARE_CCTK_ARGUMENTS;
DECLARE_CCTK_PARAMETERS;
-
if (verbose > 1)
{
CCTK_VInfo(CCTK_THORNSTRING,"Entering WeylScal4_invars_calc_2nd_Body");
}
-
if (cctk_iteration % WeylScal4_invars_calc_2nd_calc_every != WeylScal4_invars_calc_2nd_calc_offset)
{
return;
@@ -291,7 +300,7 @@ extern "C" void WeylScal4_invars_calc_2nd(CCTK_ARGUMENTS)
"WeylScal4::Psi3r_group",
"WeylScal4::Psi4i_group",
"WeylScal4::Psi4r_group"};
- GenericFD_AssertGroupStorage(cctkGH, "WeylScal4_invars_calc_2nd", 18, groups);
+ AssertGroupStorage(cctkGH, "WeylScal4_invars_calc_2nd", 18, groups);
switch (fdOrder)
{
@@ -318,10 +327,11 @@ extern "C" void WeylScal4_invars_calc_2nd(CCTK_ARGUMENTS)
CCTK_BUILTIN_UNREACHABLE();
}
- GenericFD_LoopOverEverything(cctkGH, WeylScal4_invars_calc_2nd_Body);
-
+ LoopOverEverything(cctkGH, WeylScal4_invars_calc_2nd_Body);
if (verbose > 1)
{
CCTK_VInfo(CCTK_THORNSTRING,"Leaving WeylScal4_invars_calc_2nd_Body");
}
}
+
+} // namespace WeylScal4
diff --git a/src/WeylScal4_invars_calc_4th.cc b/src/WeylScal4_invars_calc_4th.cc
index 6ce1f15..02e0c23 100644
--- a/src/WeylScal4_invars_calc_4th.cc
+++ b/src/WeylScal4_invars_calc_4th.cc
@@ -2,6 +2,7 @@
#define KRANC_C
+#include <algorithm>
#include <assert.h>
#include <math.h>
#include <stdio.h>
@@ -10,46 +11,50 @@
#include "cctk.h"
#include "cctk_Arguments.h"
#include "cctk_Parameters.h"
-#include "GenericFD.h"
+#include "Kranc.hh"
#include "Differencing.h"
-#include "cctk_Loop.h"
#include "loopcontrol.h"
#include "vectors.h"
-/* Define macros used in calculations */
-#define INITVALUE (42)
-#define ScalarINV(x) ((CCTK_REAL)1.0 / (x))
-#define ScalarSQR(x) ((x) * (x))
-#define ScalarCUB(x) ((x) * ScalarSQR(x))
-#define ScalarQAD(x) (ScalarSQR(ScalarSQR(x)))
-#define INV(x) (kdiv(ToReal(1.0),x))
-#define SQR(x) (kmul(x,x))
-#define CUB(x) (kmul(x,SQR(x)))
-#define QAD(x) (SQR(SQR(x)))
+namespace WeylScal4 {
+
static void WeylScal4_invars_calc_4th_Body(const cGH* restrict const cctkGH, const int dir, const int face, const CCTK_REAL normal[3], const CCTK_REAL tangentA[3], const CCTK_REAL tangentB[3], const int imin[3], const int imax[3], const int n_subblock_gfs, CCTK_REAL* restrict const subblock_gfs[])
{
DECLARE_CCTK_ARGUMENTS;
DECLARE_CCTK_PARAMETERS;
-
/* Include user-supplied include files */
-
/* Initialise finite differencing variables */
const ptrdiff_t di CCTK_ATTRIBUTE_UNUSED = 1;
- const ptrdiff_t dj CCTK_ATTRIBUTE_UNUSED = CCTK_GFINDEX3D(cctkGH,0,1,0) - CCTK_GFINDEX3D(cctkGH,0,0,0);
- const ptrdiff_t dk CCTK_ATTRIBUTE_UNUSED = CCTK_GFINDEX3D(cctkGH,0,0,1) - CCTK_GFINDEX3D(cctkGH,0,0,0);
+ const ptrdiff_t dj CCTK_ATTRIBUTE_UNUSED =
+ CCTK_GFINDEX3D(cctkGH,0,1,0) - CCTK_GFINDEX3D(cctkGH,0,0,0);
+ const ptrdiff_t dk CCTK_ATTRIBUTE_UNUSED =
+ CCTK_GFINDEX3D(cctkGH,0,0,1) - CCTK_GFINDEX3D(cctkGH,0,0,0);
const ptrdiff_t cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL) * di;
const ptrdiff_t cdj CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL) * dj;
const ptrdiff_t cdk CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL) * dk;
- const CCTK_REAL_VEC dx CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_SPACE(0));
- const CCTK_REAL_VEC dy CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_SPACE(1));
- const CCTK_REAL_VEC dz CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_SPACE(2));
- const CCTK_REAL_VEC dt CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_TIME);
+ const ptrdiff_t cctkLbnd1 CCTK_ATTRIBUTE_UNUSED = cctk_lbnd[0];
+ const ptrdiff_t cctkLbnd2 CCTK_ATTRIBUTE_UNUSED = cctk_lbnd[1];
+ const ptrdiff_t cctkLbnd3 CCTK_ATTRIBUTE_UNUSED = cctk_lbnd[2];
const CCTK_REAL_VEC t CCTK_ATTRIBUTE_UNUSED = ToReal(cctk_time);
- const CCTK_REAL_VEC dxi CCTK_ATTRIBUTE_UNUSED = INV(dx);
- const CCTK_REAL_VEC dyi CCTK_ATTRIBUTE_UNUSED = INV(dy);
- const CCTK_REAL_VEC dzi CCTK_ATTRIBUTE_UNUSED = INV(dz);
+ const CCTK_REAL_VEC cctkOriginSpace1 CCTK_ATTRIBUTE_UNUSED =
+ ToReal(CCTK_ORIGIN_SPACE(0));
+ const CCTK_REAL_VEC cctkOriginSpace2 CCTK_ATTRIBUTE_UNUSED =
+ ToReal(CCTK_ORIGIN_SPACE(1));
+ const CCTK_REAL_VEC cctkOriginSpace3 CCTK_ATTRIBUTE_UNUSED =
+ ToReal(CCTK_ORIGIN_SPACE(2));
+ const CCTK_REAL_VEC dt CCTK_ATTRIBUTE_UNUSED =
+ ToReal(CCTK_DELTA_TIME);
+ const CCTK_REAL_VEC dx CCTK_ATTRIBUTE_UNUSED =
+ ToReal(CCTK_DELTA_SPACE(0));
+ const CCTK_REAL_VEC dy CCTK_ATTRIBUTE_UNUSED =
+ ToReal(CCTK_DELTA_SPACE(1));
+ const CCTK_REAL_VEC dz CCTK_ATTRIBUTE_UNUSED =
+ ToReal(CCTK_DELTA_SPACE(2));
+ const CCTK_REAL_VEC dxi CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),dx);
+ const CCTK_REAL_VEC dyi CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),dy);
+ const CCTK_REAL_VEC dzi CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),dz);
const CCTK_REAL_VEC khalf CCTK_ATTRIBUTE_UNUSED = ToReal(0.5);
const CCTK_REAL_VEC kthird CCTK_ATTRIBUTE_UNUSED =
ToReal(0.333333333333333333333333333333);
@@ -63,35 +68,34 @@ static void WeylScal4_invars_calc_4th_Body(const cGH* restrict const cctkGH, con
kmul(dyi,ToReal(0.5));
const CCTK_REAL_VEC hdzi CCTK_ATTRIBUTE_UNUSED =
kmul(dzi,ToReal(0.5));
-
/* Initialize predefined quantities */
const CCTK_REAL_VEC p1o12dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dx);
const CCTK_REAL_VEC p1o12dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dy);
const CCTK_REAL_VEC p1o12dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dz);
- const CCTK_REAL_VEC p1o144dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dy,dx));
- const CCTK_REAL_VEC p1o144dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dz,dx));
- const CCTK_REAL_VEC p1o144dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dz,dy));
+ const CCTK_REAL_VEC p1o144dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dx,dy));
+ const CCTK_REAL_VEC p1o144dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dx,dz));
+ const CCTK_REAL_VEC p1o144dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dy,dz));
const CCTK_REAL_VEC p1o180dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dx,dx));
const CCTK_REAL_VEC p1o180dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dy,dy));
const CCTK_REAL_VEC p1o180dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dz,dz));
const CCTK_REAL_VEC p1o2dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dx);
const CCTK_REAL_VEC p1o2dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dy);
const CCTK_REAL_VEC p1o2dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dz);
- const CCTK_REAL_VEC p1o3600dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dy,dx));
- const CCTK_REAL_VEC p1o3600dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dz,dx));
- const CCTK_REAL_VEC p1o3600dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dz,dy));
- const CCTK_REAL_VEC p1o4dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dy,dx));
- const CCTK_REAL_VEC p1o4dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dz,dx));
- const CCTK_REAL_VEC p1o4dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dz,dy));
+ const CCTK_REAL_VEC p1o3600dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dx,dy));
+ const CCTK_REAL_VEC p1o3600dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dx,dz));
+ const CCTK_REAL_VEC p1o3600dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dy,dz));
+ const CCTK_REAL_VEC p1o4dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dx,dy));
+ const CCTK_REAL_VEC p1o4dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dx,dz));
+ const CCTK_REAL_VEC p1o4dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dy,dz));
const CCTK_REAL_VEC p1o5040dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dx,dx));
const CCTK_REAL_VEC p1o5040dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dy,dy));
const CCTK_REAL_VEC p1o5040dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dz,dz));
const CCTK_REAL_VEC p1o60dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dx);
const CCTK_REAL_VEC p1o60dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dy);
const CCTK_REAL_VEC p1o60dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dz);
- const CCTK_REAL_VEC p1o705600dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dy,dx));
- const CCTK_REAL_VEC p1o705600dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dz,dx));
- const CCTK_REAL_VEC p1o705600dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dz,dy));
+ const CCTK_REAL_VEC p1o705600dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dx,dy));
+ const CCTK_REAL_VEC p1o705600dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dx,dz));
+ const CCTK_REAL_VEC p1o705600dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dy,dz));
const CCTK_REAL_VEC p1o840dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dx);
const CCTK_REAL_VEC p1o840dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dy);
const CCTK_REAL_VEC p1o840dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dz);
@@ -101,62 +105,76 @@ static void WeylScal4_invars_calc_4th_Body(const cGH* restrict const cctkGH, con
const CCTK_REAL_VEC pm1o12dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dx,dx));
const CCTK_REAL_VEC pm1o12dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dy,dy));
const CCTK_REAL_VEC pm1o12dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dz,dz));
-
/* Jacobian variable pointers */
- const bool use_jacobian1 = (!CCTK_IsFunctionAliased("MultiPatch_GetMap") || MultiPatch_GetMap(cctkGH) != jacobian_identity_map)
+ const bool usejacobian1 = (!CCTK_IsFunctionAliased("MultiPatch_GetMap") || MultiPatch_GetMap(cctkGH) != jacobian_identity_map)
&& strlen(jacobian_group) > 0;
- const bool use_jacobian = assume_use_jacobian>=0 ? assume_use_jacobian : use_jacobian1;
- const bool usejacobian CCTK_ATTRIBUTE_UNUSED = use_jacobian;
- if (use_jacobian && (strlen(jacobian_derivative_group) == 0))
+ const bool usejacobian = assume_use_jacobian>=0 ? assume_use_jacobian : usejacobian1;
+ if (usejacobian && (strlen(jacobian_derivative_group) == 0))
{
CCTK_WARN(1, "GenericFD::jacobian_group and GenericFD::jacobian_derivative_group must both be set to valid group names");
}
const CCTK_REAL* restrict jacobian_ptrs[9];
- if (use_jacobian) GenericFD_GroupDataPointers(cctkGH, jacobian_group,
+ if (usejacobian) GroupDataPointers(cctkGH, jacobian_group,
9, jacobian_ptrs);
- const CCTK_REAL* restrict const J11 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[0] : 0;
- const CCTK_REAL* restrict const J12 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[1] : 0;
- const CCTK_REAL* restrict const J13 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[2] : 0;
- const CCTK_REAL* restrict const J21 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[3] : 0;
- const CCTK_REAL* restrict const J22 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[4] : 0;
- const CCTK_REAL* restrict const J23 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[5] : 0;
- const CCTK_REAL* restrict const J31 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[6] : 0;
- const CCTK_REAL* restrict const J32 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[7] : 0;
- const CCTK_REAL* restrict const J33 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[8] : 0;
+ const CCTK_REAL* restrict const J11 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_ptrs[0] : 0;
+ const CCTK_REAL* restrict const J12 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_ptrs[1] : 0;
+ const CCTK_REAL* restrict const J13 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_ptrs[2] : 0;
+ const CCTK_REAL* restrict const J21 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_ptrs[3] : 0;
+ const CCTK_REAL* restrict const J22 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_ptrs[4] : 0;
+ const CCTK_REAL* restrict const J23 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_ptrs[5] : 0;
+ const CCTK_REAL* restrict const J31 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_ptrs[6] : 0;
+ const CCTK_REAL* restrict const J32 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_ptrs[7] : 0;
+ const CCTK_REAL* restrict const J33 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_ptrs[8] : 0;
- const CCTK_REAL* restrict jacobian_derivative_ptrs[18] CCTK_ATTRIBUTE_UNUSED;
- if (use_jacobian) GenericFD_GroupDataPointers(cctkGH, jacobian_derivative_group,
- 18, jacobian_derivative_ptrs);
+ const CCTK_REAL* restrict jacobian_determinant_ptrs[1] CCTK_ATTRIBUTE_UNUSED;
+ if (usejacobian && strlen(jacobian_determinant_group) > 0) GroupDataPointers(cctkGH, jacobian_determinant_group,
+ 1, jacobian_determinant_ptrs);
- const CCTK_REAL* restrict const dJ111 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[0] : 0;
- const CCTK_REAL* restrict const dJ112 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[1] : 0;
- const CCTK_REAL* restrict const dJ113 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[2] : 0;
- const CCTK_REAL* restrict const dJ122 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[3] : 0;
- const CCTK_REAL* restrict const dJ123 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[4] : 0;
- const CCTK_REAL* restrict const dJ133 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[5] : 0;
- const CCTK_REAL* restrict const dJ211 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[6] : 0;
- const CCTK_REAL* restrict const dJ212 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[7] : 0;
- const CCTK_REAL* restrict const dJ213 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[8] : 0;
- const CCTK_REAL* restrict const dJ222 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[9] : 0;
- const CCTK_REAL* restrict const dJ223 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[10] : 0;
- const CCTK_REAL* restrict const dJ233 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[11] : 0;
- const CCTK_REAL* restrict const dJ311 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[12] : 0;
- const CCTK_REAL* restrict const dJ312 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[13] : 0;
- const CCTK_REAL* restrict const dJ313 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[14] : 0;
- const CCTK_REAL* restrict const dJ322 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[15] : 0;
- const CCTK_REAL* restrict const dJ323 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[16] : 0;
- const CCTK_REAL* restrict const dJ333 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[17] : 0;
+ const CCTK_REAL* restrict const detJ CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_determinant_ptrs[0] : 0;
- /* Assign local copies of arrays functions */
+ const CCTK_REAL* restrict jacobian_inverse_ptrs[9] CCTK_ATTRIBUTE_UNUSED;
+ if (usejacobian && strlen(jacobian_inverse_group) > 0) GroupDataPointers(cctkGH, jacobian_inverse_group,
+ 9, jacobian_inverse_ptrs);
+ const CCTK_REAL* restrict const iJ11 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_inverse_ptrs[0] : 0;
+ const CCTK_REAL* restrict const iJ12 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_inverse_ptrs[1] : 0;
+ const CCTK_REAL* restrict const iJ13 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_inverse_ptrs[2] : 0;
+ const CCTK_REAL* restrict const iJ21 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_inverse_ptrs[3] : 0;
+ const CCTK_REAL* restrict const iJ22 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_inverse_ptrs[4] : 0;
+ const CCTK_REAL* restrict const iJ23 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_inverse_ptrs[5] : 0;
+ const CCTK_REAL* restrict const iJ31 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_inverse_ptrs[6] : 0;
+ const CCTK_REAL* restrict const iJ32 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_inverse_ptrs[7] : 0;
+ const CCTK_REAL* restrict const iJ33 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_inverse_ptrs[8] : 0;
+ const CCTK_REAL* restrict jacobian_derivative_ptrs[18] CCTK_ATTRIBUTE_UNUSED;
+ if (usejacobian) GroupDataPointers(cctkGH, jacobian_derivative_group,
+ 18, jacobian_derivative_ptrs);
- /* Calculate temporaries and arrays functions */
+ const CCTK_REAL* restrict const dJ111 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_derivative_ptrs[0] : 0;
+ const CCTK_REAL* restrict const dJ112 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_derivative_ptrs[1] : 0;
+ const CCTK_REAL* restrict const dJ113 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_derivative_ptrs[2] : 0;
+ const CCTK_REAL* restrict const dJ122 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_derivative_ptrs[3] : 0;
+ const CCTK_REAL* restrict const dJ123 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_derivative_ptrs[4] : 0;
+ const CCTK_REAL* restrict const dJ133 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_derivative_ptrs[5] : 0;
+ const CCTK_REAL* restrict const dJ211 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_derivative_ptrs[6] : 0;
+ const CCTK_REAL* restrict const dJ212 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_derivative_ptrs[7] : 0;
+ const CCTK_REAL* restrict const dJ213 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_derivative_ptrs[8] : 0;
+ const CCTK_REAL* restrict const dJ222 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_derivative_ptrs[9] : 0;
+ const CCTK_REAL* restrict const dJ223 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_derivative_ptrs[10] : 0;
+ const CCTK_REAL* restrict const dJ233 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_derivative_ptrs[11] : 0;
+ const CCTK_REAL* restrict const dJ311 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_derivative_ptrs[12] : 0;
+ const CCTK_REAL* restrict const dJ312 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_derivative_ptrs[13] : 0;
+ const CCTK_REAL* restrict const dJ313 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_derivative_ptrs[14] : 0;
+ const CCTK_REAL* restrict const dJ322 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_derivative_ptrs[15] : 0;
+ const CCTK_REAL* restrict const dJ323 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_derivative_ptrs[16] : 0;
+ const CCTK_REAL* restrict const dJ333 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_derivative_ptrs[17] : 0;
+ /* Assign local copies of arrays functions */
- /* Copy local copies back to grid functions */
+ /* Calculate temporaries and arrays functions */
+ /* Copy local copies back to grid functions */
/* Loop over the grid points */
const int imin0=imin[0];
const int imin1=imin[1];
@@ -164,15 +182,13 @@ static void WeylScal4_invars_calc_4th_Body(const cGH* restrict const cctkGH, con
const int imax0=imax[0];
const int imax1=imax[1];
const int imax2=imax[2];
- #pragma omp parallel // reduction(+: vec_iter_counter, vec_op_counter, vec_mem_counter)
+ #pragma omp parallel
CCTK_LOOP3STR(WeylScal4_invars_calc_4th,
i,j,k, imin0,imin1,imin2, imax0,imax1,imax2,
cctk_ash[0],cctk_ash[1],cctk_ash[2],
vecimin,vecimax, CCTK_REAL_VEC_SIZE)
{
const ptrdiff_t index CCTK_ATTRIBUTE_UNUSED = di*i + dj*j + dk*k;
- // vec_iter_counter+=CCTK_REAL_VEC_SIZE;
-
/* Assign local copies of grid functions */
CCTK_REAL_VEC Psi0iL CCTK_ATTRIBUTE_UNUSED = vec_load(Psi0i[index]);
@@ -187,9 +203,7 @@ static void WeylScal4_invars_calc_4th_Body(const cGH* restrict const cctkGH, con
CCTK_REAL_VEC Psi4rL CCTK_ATTRIBUTE_UNUSED = vec_load(Psi4r[index]);
-
/* Include user supplied include files */
-
/* Precompute derivatives */
switch (fdOrder)
@@ -216,32 +230,30 @@ static void WeylScal4_invars_calc_4th_Body(const cGH* restrict const cctkGH, con
default:
CCTK_BUILTIN_UNREACHABLE();
}
-
/* Calculate temporaries and grid functions */
CCTK_REAL_VEC curvIrL CCTK_ATTRIBUTE_UNUSED =
- kmadd(Psi0rL,Psi4rL,kmadd(Psi1rL,kmul(Psi3rL,ToReal(-4)),kmadd(kmul(Psi2iL,Psi2iL),ToReal(-3),knmsub(Psi0iL,Psi4iL,kmadd(kmul(Psi2rL,Psi2rL),ToReal(3),kmul(Psi1iL,kmul(Psi3iL,ToReal(4))))))));
+ kmadd(ToReal(4),kmul(Psi1iL,Psi3iL),kmadd(ToReal(-4),kmul(Psi1rL,Psi3rL),knmsub(Psi0iL,Psi4iL,kmadd(Psi0rL,Psi4rL,kmadd(ToReal(-3),kmul(Psi2iL,Psi2iL),kmul(kmul(Psi2rL,Psi2rL),ToReal(3)))))));
CCTK_REAL_VEC curvIiL CCTK_ATTRIBUTE_UNUSED =
- kmadd(Psi0rL,Psi4iL,kmadd(Psi0iL,Psi4rL,kmadd(kmadd(Psi1rL,Psi3iL,kmul(Psi1iL,Psi3rL)),ToReal(-4),kmul(Psi2iL,kmul(Psi2rL,ToReal(6))))));
+ kmadd(ToReal(6),kmul(Psi2iL,Psi2rL),kmadd(ToReal(-4),kmadd(Psi1rL,Psi3iL,kmul(Psi1iL,Psi3rL)),kmadd(Psi0rL,Psi4iL,kmul(Psi0iL,Psi4rL))));
CCTK_REAL_VEC curvJrL CCTK_ATTRIBUTE_UNUSED =
- knmsub(Psi2rL,kmul(Psi2rL,Psi2rL),kmadd(Psi4rL,kmsub(Psi1iL,Psi1iL,kmul(Psi1rL,Psi1rL)),kmadd(Psi0rL,kmsub(Psi3iL,Psi3iL,kmul(Psi3rL,Psi3rL)),kmadd(kmadd(Psi0iL,kmul(Psi3iL,Psi3rL),kmul(Psi1iL,kmul(Psi1rL,Psi4iL))),ToReal(2),knmsub(Psi2iL,kmadd(Psi0rL,Psi4iL,kmadd(Psi0iL,Psi4rL,kmadd(Psi1rL,kmul(Psi3iL,ToReal(2)),kmul(Psi1iL,kmul(Psi3rL,ToReal(2)))))),kmadd(Psi2rL,kmadd(Psi0rL,Psi4rL,kmadd(Psi1iL,kmul(Psi3iL,ToReal(-2)),kmsub(Psi1rL,kmul(Psi3rL,ToReal(2)),kmul(Psi0iL,Psi4iL)))),kmul(Psi2rL,kmul(kmul(Psi2iL,Psi2iL),ToReal(3)))))))));
+ kmadd(ToReal(2),kmul(Psi0iL,kmul(Psi3iL,Psi3rL)),kmadd(ToReal(2),kmul(Psi1iL,kmul(Psi1rL,Psi4iL)),knmsub(Psi2iL,kmadd(ToReal(2),kmul(Psi1rL,Psi3iL),kmadd(ToReal(2),kmul(Psi1iL,Psi3rL),kmadd(Psi0rL,Psi4iL,kmul(Psi0iL,Psi4rL)))),kmadd(Psi4rL,kmsub(Psi1iL,Psi1iL,kmul(Psi1rL,Psi1rL)),kmadd(Psi2rL,kmadd(ToReal(-2),kmul(Psi1iL,Psi3iL),kmadd(ToReal(2),kmul(Psi1rL,Psi3rL),knmsub(Psi0iL,Psi4iL,kmadd(Psi0rL,Psi4rL,kmul(kmul(Psi2iL,Psi2iL),ToReal(3)))))),kmsub(Psi0rL,kmsub(Psi3iL,Psi3iL,kmul(Psi3rL,Psi3rL)),kmul(Psi2rL,kmul(Psi2rL,Psi2rL))))))));
CCTK_REAL_VEC curvJiL CCTK_ATTRIBUTE_UNUSED =
- kmadd(Psi2iL,kmul(Psi2iL,Psi2iL),kmadd(Psi4rL,kmadd(Psi0iL,Psi2rL,kmul(Psi1iL,kmul(Psi1rL,ToReal(-2)))),kmadd(Psi0rL,kmadd(Psi2rL,Psi4iL,kmul(Psi3iL,kmul(Psi3rL,ToReal(-2)))),kmadd(Psi4iL,kmsub(Psi1iL,Psi1iL,kmul(Psi1rL,Psi1rL)),kmadd(Psi0iL,kmsub(Psi3iL,Psi3iL,kmul(Psi3rL,Psi3rL)),kmadd(Psi2rL,kmul(kmadd(Psi1rL,Psi3iL,kmul(Psi1iL,Psi3rL)),ToReal(2)),kmul(Psi2iL,kmadd(Psi0rL,Psi4rL,kmadd(kmul(Psi2rL,Psi2rL),ToReal(-3),kmadd(Psi1iL,kmul(Psi3iL,ToReal(-2)),kmsub(Psi1rL,kmul(Psi3rL,ToReal(2)),kmul(Psi0iL,Psi4iL))))))))))));
+ kmadd(ToReal(2),kmul(Psi2rL,kmadd(Psi1rL,Psi3iL,kmul(Psi1iL,Psi3rL))),kmadd(Psi0rL,kmadd(ToReal(-2),kmul(Psi3iL,Psi3rL),kmul(Psi2rL,Psi4iL)),kmadd(ToReal(-2),kmul(Psi1iL,kmul(Psi1rL,Psi4rL)),kmadd(Psi4iL,kmsub(Psi1iL,Psi1iL,kmul(Psi1rL,Psi1rL)),kmadd(Psi2iL,kmul(Psi2iL,Psi2iL),kmadd(Psi2iL,kmadd(ToReal(-2),kmul(Psi1iL,Psi3iL),kmadd(ToReal(2),kmul(Psi1rL,Psi3rL),knmsub(Psi0iL,Psi4iL,kmadd(Psi0rL,Psi4rL,kmul(kmul(Psi2rL,Psi2rL),ToReal(-3)))))),kmul(Psi0iL,kmadd(Psi2rL,Psi4rL,kmsub(Psi3iL,Psi3iL,kmul(Psi3rL,Psi3rL))))))))));
CCTK_REAL_VEC curvJ1L CCTK_ATTRIBUTE_UNUSED =
- kmul(ToReal(-16),kmadd(Psi0iL,Psi4iL,kmadd(Psi1iL,kmul(Psi3iL,ToReal(-4)),kmadd(kmul(Psi2rL,Psi2rL),ToReal(-3),knmsub(Psi0rL,Psi4rL,kmadd(kmul(Psi2iL,Psi2iL),ToReal(3),kmul(Psi1rL,kmul(Psi3rL,ToReal(4)))))))));
+ kmul(kmadd(ToReal(-4),kmul(Psi1iL,Psi3iL),kmadd(ToReal(4),kmul(Psi1rL,Psi3rL),kmadd(Psi0iL,Psi4iL,knmsub(Psi0rL,Psi4rL,kmadd(ToReal(3),kmul(Psi2iL,Psi2iL),kmul(ToReal(-3),kmul(Psi2rL,Psi2rL))))))),ToReal(-16));
CCTK_REAL_VEC curvJ2L CCTK_ATTRIBUTE_UNUSED =
- kmul(kmadd(Psi2rL,kmul(Psi2rL,Psi2rL),kmadd(kmadd(Psi0iL,kmul(Psi3iL,Psi3rL),kmul(Psi1iL,kmul(Psi1rL,Psi4iL))),ToReal(-2),kmadd(Psi4rL,kmsub(Psi1rL,Psi1rL,kmul(Psi1iL,Psi1iL)),kmadd(Psi0rL,kmsub(Psi3rL,Psi3rL,kmul(Psi3iL,Psi3iL)),kmadd(Psi2rL,kmadd(Psi0iL,Psi4iL,kmadd(kmul(Psi2iL,Psi2iL),ToReal(-3),kmadd(Psi1rL,kmul(Psi3rL,ToReal(-2)),kmsub(Psi1iL,kmul(Psi3iL,ToReal(2)),kmul(Psi0rL,Psi4rL))))),kmul(Psi2iL,kmadd(Psi0rL,Psi4iL,kmadd(Psi0iL,Psi4rL,kmul(kmadd(Psi1rL,Psi3iL,kmul(Psi1iL,Psi3rL)),ToReal(2)))))))))),ToReal(96));
+ kmul(kmadd(ToReal(-2),kmadd(Psi0iL,kmul(Psi3iL,Psi3rL),kmul(Psi1iL,kmul(Psi1rL,Psi4iL))),kmadd(Psi2iL,kmadd(ToReal(2),kmadd(Psi1rL,Psi3iL,kmul(Psi1iL,Psi3rL)),kmadd(Psi0rL,Psi4iL,kmul(Psi0iL,Psi4rL))),kmadd(Psi4rL,kmsub(Psi1rL,Psi1rL,kmul(Psi1iL,Psi1iL)),kmadd(Psi2rL,kmadd(ToReal(2),kmul(Psi1iL,Psi3iL),kmadd(ToReal(-2),kmul(Psi1rL,Psi3rL),kmadd(Psi0iL,Psi4iL,kmsub(ToReal(-3),kmul(Psi2iL,Psi2iL),kmul(Psi0rL,Psi4rL))))),kmadd(Psi2rL,kmul(Psi2rL,Psi2rL),kmul(Psi0rL,kmsub(Psi3rL,Psi3rL,kmul(Psi3iL,Psi3iL)))))))),ToReal(96));
CCTK_REAL_VEC curvJ3L CCTK_ATTRIBUTE_UNUSED =
- kmul(kmadd(kmul(Psi0iL,Psi0iL),kmul(Psi4iL,Psi4iL),kmadd(kmul(Psi0rL,Psi0rL),kmul(Psi4rL,Psi4rL),kmadd(kmadd(kmul(Psi1rL,Psi1rL),kmul(Psi3iL,Psi3iL),kmul(kmul(Psi1iL,Psi1iL),kmul(Psi3rL,Psi3rL))),ToReal(-16),kmadd(Psi0iL,kmul(Psi0rL,kmul(Psi4iL,kmul(Psi4rL,ToReal(-4)))),knmsub(kmul(Psi0rL,Psi0rL),kmul(Psi4iL,Psi4iL),knmsub(kmul(Psi0iL,Psi0iL),kmul(Psi4rL,Psi4rL),kmadd(kmul(Psi2rL,Psi2rL),kmul(kmadd(Psi0rL,Psi4rL,kmadd(Psi1rL,kmul(Psi3rL,ToReal(-4)),kmsub(Psi1iL,kmul(Psi3iL,ToReal(4)),kmul(Psi0iL,Psi4iL)))),ToReal(6)),kmadd(kmadd(Psi0rL,kmul(Psi1rL,kmul(Psi3iL,Psi4iL)),kmadd(Psi0rL,kmul(Psi1iL,kmul(Psi3rL,Psi4iL)),kmadd(Psi0iL,kmul(Psi1rL,kmul(Psi3rL,Psi4iL)),kmul(Psi0iL,kmul(Psi1rL,kmul(Psi3iL,Psi4rL)))))),ToReal(8),kmadd(Psi3rL,kmadd(Psi0rL,kmul(Psi1rL,kmul(Psi4rL,ToReal(-8))),kmul(Psi0iL,kmul(Psi1iL,kmul(Psi4rL,ToReal(8))))),kmadd(Psi1iL,kmadd(Psi1rL,kmul(Psi3iL,kmul(Psi3rL,ToReal(-64))),kmadd(Psi0iL,kmul(Psi3iL,kmul(Psi4iL,ToReal(-8))),kmul(Psi0rL,kmul(Psi3iL,kmul(Psi4rL,ToReal(8)))))),kmadd(kmadd(kmul(Psi2iL,Psi2iL),kmul(Psi2iL,Psi2iL),kmul(kmul(Psi2rL,Psi2rL),kmul(Psi2rL,Psi2rL))),ToReal(9),kmadd(kmul(Psi2iL,Psi2iL),kmul(ToReal(-6),kmadd(Psi0rL,Psi4rL,kmadd(Psi1rL,kmul(Psi3rL,ToReal(-4)),knmsub(Psi0iL,Psi4iL,kmadd(Psi1iL,kmul(Psi3iL,ToReal(4)),kmul(kmul(Psi2rL,Psi2rL),ToReal(9))))))),kmadd(Psi2iL,kmul(Psi2rL,kmul(knmsub(Psi0rL,Psi4iL,knmsub(Psi0iL,Psi4rL,kmadd(Psi1rL,kmul(Psi3iL,ToReal(4)),kmul(Psi1iL,kmul(Psi3rL,ToReal(4)))))),ToReal(12))),kmul(kmadd(kmul(Psi1iL,Psi1iL),kmul(Psi3iL,Psi3iL),kmul(kmul(Psi1rL,Psi1rL),kmul(Psi3rL,Psi3rL))),ToReal(16))))))))))))))),ToReal(64));
+ kmul(kmadd(kmadd(kmadd(ToReal(8),kmul(Psi0iL,Psi1iL),kmul(ToReal(-8),kmul(Psi0rL,Psi1rL))),Psi3rL,kmul(ToReal(-4),kmul(Psi0iL,kmul(Psi0rL,Psi4iL)))),Psi4rL,kmadd(ToReal(12),kmul(Psi2iL,kmul(Psi2rL,kmsub(ToReal(4),kmadd(Psi1rL,Psi3iL,kmul(Psi1iL,Psi3rL)),kmadd(Psi0iL,Psi4rL,kmul(Psi0rL,Psi4iL))))),kmadd(Psi1iL,kmul(Psi3iL,kmadd(ToReal(-64),kmul(Psi1rL,Psi3rL),kmadd(ToReal(-8),kmul(Psi0iL,Psi4iL),kmul(ToReal(8),kmul(Psi0rL,Psi4rL))))),kmadd(ToReal(8),kmadd(Psi0rL,kmul(kmadd(Psi1rL,Psi3iL,kmul(Psi1iL,Psi3rL)),Psi4iL),kmul(Psi0iL,kmul(Psi1rL,kmadd(Psi3rL,Psi4iL,kmul(Psi3iL,Psi4rL))))),kmadd(ToReal(6),kmul(kmadd(ToReal(4),kmul(Psi1iL,Psi3iL),kmadd(ToReal(-4),kmul(Psi1rL,Psi3rL),kmsub(Psi0rL,Psi4rL,kmul(Psi0iL,Psi4iL)))),kmul(Psi2rL,Psi2rL)),kmadd(ToReal(-6),kmul(kmul(Psi2iL,Psi2iL),kmadd(ToReal(4),kmul(Psi1iL,Psi3iL),kmadd(ToReal(-4),kmul(Psi1rL,Psi3rL),knmsub(Psi0iL,Psi4iL,kmadd(Psi0rL,Psi4rL,kmul(ToReal(9),kmul(Psi2rL,Psi2rL))))))),kmadd(ToReal(9),kmadd(kmul(Psi2iL,Psi2iL),kmul(Psi2iL,Psi2iL),kmul(kmul(Psi2rL,Psi2rL),kmul(Psi2rL,Psi2rL))),kmadd(kmadd(ToReal(16),kmul(Psi1iL,Psi1iL),kmul(ToReal(-16),kmul(Psi1rL,Psi1rL))),kmul(Psi3iL,Psi3iL),kmadd(kmadd(ToReal(-16),kmul(Psi1iL,Psi1iL),kmul(ToReal(16),kmul(Psi1rL,Psi1rL))),kmul(Psi3rL,Psi3rL),kmadd(kmsub(Psi0iL,Psi0iL,kmul(Psi0rL,Psi0rL)),kmul(Psi4iL,Psi4iL),kmul(kmsub(Psi0rL,Psi0rL,kmul(Psi0iL,Psi0iL)),kmul(Psi4rL,Psi4rL)))))))))))),ToReal(64));
CCTK_REAL_VEC curvJ4L CCTK_ATTRIBUTE_UNUSED =
- kmul(ToReal(-640),kmadd(Psi1iL,kmul(kmadd(kmadd(Psi3rL,Psi4iL,kmul(Psi3iL,Psi4rL)),kmul(Psi1rL,Psi1rL),kmul(Psi0rL,kmul(Psi3iL,kmul(Psi3rL,Psi3rL)))),ToReal(-12)),kmadd(kmadd(Psi3iL,kmul(Psi4iL,kmul(Psi1rL,kmul(Psi1rL,Psi1rL))),kmul(Psi0iL,kmul(Psi1iL,kmul(Psi3rL,kmul(Psi3rL,Psi3rL))))),ToReal(-4),kmadd(kmul(Psi2rL,kmul(kmul(Psi2rL,Psi2rL),kmul(Psi2rL,Psi2rL))),ToReal(-3),kmadd(Psi4rL,kmadd(kmul(Psi0rL,Psi0rL),kmul(Psi3iL,Psi3iL),kmsub(kmul(Psi0iL,Psi0iL),kmul(Psi3rL,Psi3rL),kmadd(kmul(Psi0rL,Psi0rL),kmul(Psi3rL,Psi3rL),kmul(kmul(Psi0iL,Psi0iL),kmul(Psi3iL,Psi3iL))))),kmadd(Psi0rL,kmadd(kmul(Psi1rL,Psi1rL),kmul(Psi4iL,Psi4iL),kmsub(kmul(Psi1iL,Psi1iL),kmul(Psi4rL,Psi4rL),kmadd(kmul(Psi1rL,Psi1rL),kmul(Psi4rL,Psi4rL),kmul(kmul(Psi1iL,Psi1iL),kmul(Psi4iL,Psi4iL))))),kmadd(kmadd(kmadd(Psi3rL,Psi4iL,kmul(Psi3iL,Psi4rL)),kmul(Psi1iL,kmul(Psi1iL,Psi1iL)),kmadd(Psi3rL,kmul(Psi4rL,kmul(Psi1rL,kmul(Psi1rL,Psi1rL))),kmadd(Psi0rL,kmadd(kmadd(Psi0iL,kmul(Psi3iL,Psi3rL),kmul(Psi1iL,kmul(Psi1rL,Psi4iL))),Psi4rL,kmul(Psi1iL,kmul(Psi3iL,kmul(Psi3iL,Psi3iL)))),kmul(Psi1rL,kmadd(Psi0iL,kmul(Psi3iL,kmul(Psi3iL,Psi3iL)),kmul(Psi0rL,kmul(Psi3rL,kmul(Psi3rL,Psi3rL)))))))),ToReal(4),kmadd(ToReal(-2),kmadd(Psi4iL,kmadd(Psi3iL,kmul(Psi3rL,kmul(Psi0iL,Psi0iL)),kmul(Psi0iL,kmadd(Psi4rL,kmul(Psi1iL,Psi1iL),kmul(Psi0rL,kmul(Psi3iL,Psi3iL))))),kmul(kmul(Psi2rL,kmul(Psi2rL,Psi2rL)),kmadd(Psi0iL,Psi4iL,kmadd(Psi1rL,kmul(Psi3rL,ToReal(-5)),kmsub(Psi1iL,kmul(Psi3iL,ToReal(5)),kmul(Psi0rL,Psi4rL)))))),kmadd(ToReal(2),kmadd(Psi4iL,kmadd(Psi3iL,kmul(Psi3rL,kmul(Psi0rL,Psi0rL)),kmul(Psi0iL,kmadd(Psi4rL,kmul(Psi1rL,Psi1rL),kmul(Psi0rL,kmul(Psi3rL,Psi3rL))))),kmadd(kmul(Psi2iL,kmul(Psi2iL,Psi2iL)),kmadd(Psi0rL,Psi4iL,kmadd(Psi0iL,Psi4rL,kmul(kmadd(Psi1rL,Psi3iL,kmul(Psi1iL,Psi3rL)),ToReal(5)))),kmul(Psi2iL,kmadd(Psi3rL,kmadd(Psi1iL,kmul(kmul(Psi2rL,Psi2rL),ToReal(-15)),kmul(Psi3iL,kmul(kmul(Psi1iL,Psi1iL),ToReal(-8)))),kmadd(Psi4iL,kmadd(Psi2rL,kmul(kmul(Psi1iL,Psi1iL),ToReal(-3)),kmul(Psi4rL,kmsub(Psi0iL,Psi0iL,kmul(Psi0rL,Psi0rL)))),knmsub(Psi0iL,kmadd(Psi1iL,kmadd(Psi3rL,Psi4iL,kmul(Psi3iL,Psi4rL)),kmadd(Psi2rL,kmul(kmul(Psi3rL,Psi3rL),ToReal(-3)),kmadd(Psi0rL,kmsub(Psi4rL,Psi4rL,kmul(Psi4iL,Psi4iL)),kmul(kmadd(Psi4rL,kmul(Psi2rL,Psi2rL),kmul(Psi2rL,kmul(Psi3iL,Psi3iL))),ToReal(3))))),kmadd(Psi0rL,kmadd(Psi1iL,kmul(Psi3rL,Psi4rL),kmadd(Psi4iL,kmul(kmul(Psi2rL,Psi2rL),ToReal(-3)),kmul(Psi3iL,kmsub(Psi2rL,kmul(Psi3rL,ToReal(6)),kmul(Psi1iL,Psi4iL))))),kmadd(kmul(Psi1rL,Psi1rL),kmadd(Psi2rL,kmul(Psi4iL,ToReal(3)),kmul(Psi3iL,kmul(Psi3rL,ToReal(8)))),kmul(Psi1rL,kmadd(Psi3iL,kmul(kmul(Psi2rL,Psi2rL),ToReal(-15)),kmadd(Psi4iL,kmsub(Psi0rL,Psi3rL,kmul(Psi0iL,Psi3iL)),kmadd(Psi4rL,kmadd(Psi0rL,Psi3iL,kmadd(Psi0iL,Psi3rL,kmul(Psi1iL,kmul(Psi2rL,ToReal(6))))),kmul(Psi1iL,kmadd(kmul(Psi3iL,Psi3iL),ToReal(-8),kmul(kmul(Psi3rL,Psi3rL),ToReal(8)))))))))))))))),kmadd(ToReal(3),kmadd(kmul(Psi2rL,Psi2rL),kmadd(Psi4rL,kmsub(Psi1iL,Psi1iL,kmul(Psi1rL,Psi1rL)),kmadd(Psi0rL,kmsub(Psi3iL,Psi3iL,kmul(Psi3rL,Psi3rL)),kmul(kmadd(Psi0iL,kmul(Psi3iL,Psi3rL),kmul(Psi1iL,kmul(Psi1rL,Psi4iL))),ToReal(2)))),kmul(kmul(Psi2iL,Psi2iL),kmadd(kmadd(Psi0iL,kmul(Psi3iL,Psi3rL),kmul(Psi1iL,kmul(Psi1rL,Psi4iL))),ToReal(-2),kmadd(Psi4rL,kmsub(Psi1rL,Psi1rL,kmul(Psi1iL,Psi1iL)),kmadd(Psi0rL,kmsub(Psi3rL,Psi3rL,kmul(Psi3iL,Psi3iL)),kmadd(Psi2rL,kmul(ToReal(2),kmadd(Psi0iL,Psi4iL,kmadd(Psi1rL,kmul(Psi3rL,ToReal(-5)),kmsub(Psi1iL,kmul(Psi3iL,ToReal(5)),kmul(Psi0rL,Psi4rL))))),kmul(kmul(Psi2rL,kmul(Psi2rL,Psi2rL)),ToReal(10)))))))),kmadd(Psi1rL,kmadd(Psi0rL,kmul(Psi3rL,kmul(kmul(Psi3iL,Psi3iL),ToReal(-12))),kmadd(Psi0iL,kmul(Psi1iL,kmul(kmul(Psi4iL,Psi4iL),ToReal(-2))),kmul(kmul(Psi1iL,Psi1iL),kmadd(Psi3rL,kmul(Psi4rL,ToReal(-12)),kmul(Psi3iL,kmul(Psi4iL,ToReal(12))))))),kmadd(Psi0iL,kmadd(Psi1rL,kmul(Psi3iL,kmul(kmul(Psi3rL,Psi3rL),ToReal(-12))),kmul(Psi1iL,kmadd(Psi1rL,kmul(kmul(Psi4rL,Psi4rL),ToReal(2)),kmul(Psi3rL,kmul(kmul(Psi3iL,Psi3iL),ToReal(12)))))),kmul(Psi2rL,kmadd(kmul(Psi0iL,Psi0iL),kmul(Psi4iL,Psi4iL),kmadd(kmul(Psi0rL,Psi0rL),kmul(Psi4rL,Psi4rL),kmadd(kmul(kmul(Psi2iL,Psi2iL),kmul(Psi2iL,Psi2iL)),ToReal(-15),kmadd(Psi0iL,kmul(Psi0rL,kmul(Psi4iL,kmul(Psi4rL,ToReal(-4)))),knmsub(kmul(Psi0rL,Psi0rL),kmul(Psi4iL,Psi4iL),knmsub(kmul(Psi0iL,Psi0iL),kmul(Psi4rL,Psi4rL),kmadd(kmsub(Psi3iL,Psi3iL,kmul(Psi3rL,Psi3rL)),kmadd(kmul(Psi1iL,Psi1iL),ToReal(-8),kmul(kmul(Psi1rL,Psi1rL),ToReal(8))),kmul(ToReal(2),kmadd(Psi1rL,kmadd(Psi0iL,kmul(Psi3rL,Psi4iL),kmadd(Psi0iL,kmul(Psi3iL,Psi4rL),kmul(Psi0rL,kmsub(Psi3iL,Psi4iL,kmul(Psi3rL,Psi4rL))))),kmul(Psi1iL,kmadd(Psi0rL,kmul(Psi3rL,Psi4iL),kmadd(Psi0rL,kmul(Psi3iL,Psi4rL),kmadd(Psi0iL,kmul(Psi3rL,Psi4rL),kmul(Psi3iL,kmsub(Psi1rL,kmul(Psi3rL,ToReal(16)),kmul(Psi0iL,Psi4iL)))))))))))))))))))))))))))));
-
+ kmul(kmadd(Psi3iL,kmadd(Psi4iL,kmadd(ToReal(-2),kmul(Psi3rL,kmul(Psi0iL,Psi0iL)),kmul(ToReal(12),kmul(Psi1rL,kmul(Psi1iL,Psi1iL)))),kmul(ToReal(4),kmul(Psi4rL,kmul(Psi1iL,kmul(Psi1iL,Psi1iL))))),kmadd(ToReal(-2),kmul(kmadd(ToReal(5),kmul(Psi1iL,Psi3iL),kmadd(ToReal(-5),kmul(Psi1rL,Psi3rL),kmsub(Psi0iL,Psi4iL,kmul(Psi0rL,Psi4rL)))),kmul(Psi2rL,kmul(Psi2rL,Psi2rL))),kmadd(ToReal(-3),kmul(Psi2rL,kmul(kmul(Psi2rL,Psi2rL),kmul(Psi2rL,Psi2rL))),kmadd(kmadd(kmadd(ToReal(12),kmul(Psi0iL,Psi1iL),kmul(ToReal(-12),kmul(Psi0rL,Psi1rL))),Psi3rL,kmsub(ToReal(-2),kmul(Psi0iL,kmul(Psi0rL,Psi4iL)),kmul(Psi4rL,kmul(Psi0iL,Psi0iL)))),kmul(Psi3iL,Psi3iL),kmadd(Psi4rL,kmadd(Psi4iL,kmadd(ToReal(4),kmul(Psi0rL,kmul(Psi1iL,Psi1rL)),kmul(ToReal(-2),kmul(Psi0iL,kmul(Psi1iL,Psi1iL)))),kmadd(Psi3rL,kmadd(ToReal(4),kmul(Psi0iL,kmul(Psi0rL,Psi3iL)),kmul(ToReal(-12),kmul(Psi1rL,kmul(Psi1iL,Psi1iL)))),kmadd(kmul(Psi0rL,Psi0rL),kmsub(Psi3iL,Psi3iL,kmul(Psi3rL,Psi3rL)),kmul(kmul(Psi0iL,Psi0iL),kmul(Psi3rL,Psi3rL))))),kmadd(ToReal(-12),kmadd(Psi1iL,kmul(Psi3rL,kmul(Psi4iL,kmul(Psi1rL,Psi1rL))),kmul(Psi3iL,kmadd(Psi1iL,kmul(Psi4rL,kmul(Psi1rL,Psi1rL)),kmul(kmadd(Psi0rL,Psi1iL,kmul(Psi0iL,Psi1rL)),kmul(Psi3rL,Psi3rL))))),kmadd(ToReal(3),kmadd(kmul(Psi2rL,Psi2rL),kmadd(ToReal(2),kmadd(Psi0iL,kmul(Psi3iL,Psi3rL),kmul(Psi1iL,kmul(Psi1rL,Psi4iL))),kmadd(Psi4rL,kmsub(Psi1iL,Psi1iL,kmul(Psi1rL,Psi1rL)),kmul(Psi0rL,kmsub(Psi3iL,Psi3iL,kmul(Psi3rL,Psi3rL))))),kmul(kmul(Psi2iL,Psi2iL),kmadd(ToReal(-2),kmadd(Psi0iL,kmul(Psi3iL,Psi3rL),kmul(Psi1iL,kmul(Psi1rL,Psi4iL))),kmadd(ToReal(2),kmul(Psi2rL,kmadd(ToReal(5),kmul(Psi1iL,Psi3iL),kmadd(ToReal(-5),kmul(Psi1rL,Psi3rL),kmsub(Psi0iL,Psi4iL,kmul(Psi0rL,Psi4rL))))),kmadd(Psi4rL,kmsub(Psi1rL,Psi1rL,kmul(Psi1iL,Psi1iL)),kmadd(ToReal(10),kmul(Psi2rL,kmul(Psi2rL,Psi2rL)),kmul(Psi0rL,kmsub(Psi3rL,Psi3rL,kmul(Psi3iL,Psi3iL))))))))),kmadd(ToReal(-4),kmadd(Psi3iL,kmul(Psi4iL,kmul(Psi1rL,kmul(Psi1rL,Psi1rL))),kmul(Psi0iL,kmul(Psi1iL,kmul(Psi3rL,kmul(Psi3rL,Psi3rL))))),kmadd(ToReal(4),kmadd(Psi3rL,kmadd(Psi4iL,kmul(Psi1iL,kmul(Psi1iL,Psi1iL)),kmul(Psi4rL,kmul(Psi1rL,kmul(Psi1rL,Psi1rL)))),kmadd(kmadd(Psi0rL,Psi1iL,kmul(Psi0iL,Psi1rL)),kmul(Psi3iL,kmul(Psi3iL,Psi3iL)),kmul(Psi0rL,kmul(Psi1rL,kmul(Psi3rL,kmul(Psi3rL,Psi3rL)))))),kmadd(kmadd(ToReal(-2),kmul(Psi0iL,kmul(Psi1iL,Psi1rL)),kmul(Psi0rL,kmsub(Psi1rL,Psi1rL,kmul(Psi1iL,Psi1iL)))),kmul(Psi4iL,Psi4iL),kmadd(kmadd(ToReal(2),kmul(Psi0iL,kmul(Psi1iL,Psi1rL)),kmul(Psi0rL,kmsub(Psi1iL,Psi1iL,kmul(Psi1rL,Psi1rL)))),kmul(Psi4rL,Psi4rL),kmadd(Psi2rL,kmadd(ToReal(-4),kmul(Psi0iL,kmul(Psi0rL,kmul(Psi4iL,Psi4rL))),kmadd(ToReal(2),kmadd(Psi1rL,kmadd(kmadd(Psi0rL,Psi3iL,kmul(Psi0iL,Psi3rL)),Psi4iL,kmul(kmsub(Psi0iL,Psi3iL,kmul(Psi0rL,Psi3rL)),Psi4rL)),kmul(Psi1iL,kmadd(Psi3iL,kmsub(ToReal(16),kmul(Psi1rL,Psi3rL),kmul(Psi0iL,Psi4iL)),kmadd(Psi0iL,kmul(Psi3rL,Psi4rL),kmul(Psi0rL,kmadd(Psi3rL,Psi4iL,kmul(Psi3iL,Psi4rL))))))),kmadd(ToReal(-15),kmul(kmul(Psi2iL,Psi2iL),kmul(Psi2iL,Psi2iL)),kmadd(kmadd(ToReal(-8),kmul(Psi1iL,Psi1iL),kmul(ToReal(8),kmul(Psi1rL,Psi1rL))),kmsub(Psi3iL,Psi3iL,kmul(Psi3rL,Psi3rL)),kmadd(kmsub(Psi0iL,Psi0iL,kmul(Psi0rL,Psi0rL)),kmul(Psi4iL,Psi4iL),kmul(kmsub(Psi0rL,Psi0rL,kmul(Psi0iL,Psi0iL)),kmul(Psi4rL,Psi4rL))))))),kmul(ToReal(2),kmadd(kmadd(ToReal(5),kmadd(Psi1rL,Psi3iL,kmul(Psi1iL,Psi3rL)),kmadd(Psi0rL,Psi4iL,kmul(Psi0iL,Psi4rL))),kmul(Psi2iL,kmul(Psi2iL,Psi2iL)),kmadd(Psi4iL,kmadd(Psi3iL,kmul(Psi3rL,kmul(Psi0rL,Psi0rL)),kmul(Psi0iL,kmadd(Psi4rL,kmul(Psi1rL,Psi1rL),kmul(Psi0rL,kmul(Psi3rL,Psi3rL))))),kmul(Psi2iL,kmadd(kmadd(ToReal(8),kmul(Psi3iL,Psi3rL),kmul(ToReal(3),kmul(Psi2rL,Psi4iL))),kmul(Psi1rL,Psi1rL),kmadd(Psi3rL,kmadd(Psi3iL,kmadd(ToReal(6),kmul(Psi0rL,Psi2rL),kmul(ToReal(-8),kmul(Psi1iL,Psi1iL))),kmul(Psi1iL,kmadd(Psi0rL,Psi4rL,kmul(ToReal(-15),kmul(Psi2rL,Psi2rL))))),kmadd(Psi4iL,knmsub(Psi0rL,kmul(Psi1iL,Psi3iL),kmadd(Psi4rL,kmsub(Psi0iL,Psi0iL,kmul(Psi0rL,Psi0rL)),kmul(ToReal(-3),kmadd(Psi2rL,kmul(Psi1iL,Psi1iL),kmul(Psi0rL,kmul(Psi2rL,Psi2rL)))))),kmsub(Psi1rL,kmadd(Psi0iL,kmul(Psi3rL,Psi4rL),kmadd(Psi0rL,kmadd(Psi3rL,Psi4iL,kmul(Psi3iL,Psi4rL)),kmadd(Psi3iL,kmsub(ToReal(-15),kmul(Psi2rL,Psi2rL),kmul(Psi0iL,Psi4iL)),kmul(Psi1iL,kmadd(ToReal(6),kmul(Psi2rL,Psi4rL),kmadd(ToReal(-8),kmul(Psi3iL,Psi3iL),kmul(ToReal(8),kmul(Psi3rL,Psi3rL)))))))),kmul(Psi0iL,kmadd(Psi1iL,kmadd(Psi3rL,Psi4iL,kmul(Psi3iL,Psi4rL)),kmadd(ToReal(3),kmul(Psi4rL,kmul(Psi2rL,Psi2rL)),kmadd(Psi2rL,kmadd(ToReal(3),kmul(Psi3iL,Psi3iL),kmul(ToReal(-3),kmul(Psi3rL,Psi3rL))),kmul(Psi0rL,kmsub(Psi4rL,Psi4rL,kmul(Psi4iL,Psi4iL))))))))))))))))))))))))))),ToReal(-640));
/* Copy local copies back to grid functions */
vec_store_partial_prepare(i,vecimin,vecimax);
vec_store_nta_partial(curvIi[index],curvIiL);
@@ -255,18 +267,15 @@ static void WeylScal4_invars_calc_4th_Body(const cGH* restrict const cctkGH, con
}
CCTK_ENDLOOP3STR(WeylScal4_invars_calc_4th);
}
-
extern "C" void WeylScal4_invars_calc_4th(CCTK_ARGUMENTS)
{
DECLARE_CCTK_ARGUMENTS;
DECLARE_CCTK_PARAMETERS;
-
if (verbose > 1)
{
CCTK_VInfo(CCTK_THORNSTRING,"Entering WeylScal4_invars_calc_4th_Body");
}
-
if (cctk_iteration % WeylScal4_invars_calc_4th_calc_every != WeylScal4_invars_calc_4th_calc_offset)
{
return;
@@ -291,7 +300,7 @@ extern "C" void WeylScal4_invars_calc_4th(CCTK_ARGUMENTS)
"WeylScal4::Psi3r_group",
"WeylScal4::Psi4i_group",
"WeylScal4::Psi4r_group"};
- GenericFD_AssertGroupStorage(cctkGH, "WeylScal4_invars_calc_4th", 18, groups);
+ AssertGroupStorage(cctkGH, "WeylScal4_invars_calc_4th", 18, groups);
switch (fdOrder)
{
@@ -318,10 +327,11 @@ extern "C" void WeylScal4_invars_calc_4th(CCTK_ARGUMENTS)
CCTK_BUILTIN_UNREACHABLE();
}
- GenericFD_LoopOverEverything(cctkGH, WeylScal4_invars_calc_4th_Body);
-
+ LoopOverEverything(cctkGH, WeylScal4_invars_calc_4th_Body);
if (verbose > 1)
{
CCTK_VInfo(CCTK_THORNSTRING,"Leaving WeylScal4_invars_calc_4th_Body");
}
}
+
+} // namespace WeylScal4
diff --git a/src/WeylScal4_invars_calc_Nth.cc b/src/WeylScal4_invars_calc_Nth.cc
index aecbf9a..9b00e02 100644
--- a/src/WeylScal4_invars_calc_Nth.cc
+++ b/src/WeylScal4_invars_calc_Nth.cc
@@ -2,6 +2,7 @@
#define KRANC_C
+#include <algorithm>
#include <assert.h>
#include <math.h>
#include <stdio.h>
@@ -10,46 +11,50 @@
#include "cctk.h"
#include "cctk_Arguments.h"
#include "cctk_Parameters.h"
-#include "GenericFD.h"
+#include "Kranc.hh"
#include "Differencing.h"
-#include "cctk_Loop.h"
#include "loopcontrol.h"
#include "vectors.h"
-/* Define macros used in calculations */
-#define INITVALUE (42)
-#define ScalarINV(x) ((CCTK_REAL)1.0 / (x))
-#define ScalarSQR(x) ((x) * (x))
-#define ScalarCUB(x) ((x) * ScalarSQR(x))
-#define ScalarQAD(x) (ScalarSQR(ScalarSQR(x)))
-#define INV(x) (kdiv(ToReal(1.0),x))
-#define SQR(x) (kmul(x,x))
-#define CUB(x) (kmul(x,SQR(x)))
-#define QAD(x) (SQR(SQR(x)))
+namespace WeylScal4 {
+
static void WeylScal4_invars_calc_Nth_Body(const cGH* restrict const cctkGH, const int dir, const int face, const CCTK_REAL normal[3], const CCTK_REAL tangentA[3], const CCTK_REAL tangentB[3], const int imin[3], const int imax[3], const int n_subblock_gfs, CCTK_REAL* restrict const subblock_gfs[])
{
DECLARE_CCTK_ARGUMENTS;
DECLARE_CCTK_PARAMETERS;
-
/* Include user-supplied include files */
-
/* Initialise finite differencing variables */
const ptrdiff_t di CCTK_ATTRIBUTE_UNUSED = 1;
- const ptrdiff_t dj CCTK_ATTRIBUTE_UNUSED = CCTK_GFINDEX3D(cctkGH,0,1,0) - CCTK_GFINDEX3D(cctkGH,0,0,0);
- const ptrdiff_t dk CCTK_ATTRIBUTE_UNUSED = CCTK_GFINDEX3D(cctkGH,0,0,1) - CCTK_GFINDEX3D(cctkGH,0,0,0);
+ const ptrdiff_t dj CCTK_ATTRIBUTE_UNUSED =
+ CCTK_GFINDEX3D(cctkGH,0,1,0) - CCTK_GFINDEX3D(cctkGH,0,0,0);
+ const ptrdiff_t dk CCTK_ATTRIBUTE_UNUSED =
+ CCTK_GFINDEX3D(cctkGH,0,0,1) - CCTK_GFINDEX3D(cctkGH,0,0,0);
const ptrdiff_t cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL) * di;
const ptrdiff_t cdj CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL) * dj;
const ptrdiff_t cdk CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL) * dk;
- const CCTK_REAL_VEC dx CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_SPACE(0));
- const CCTK_REAL_VEC dy CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_SPACE(1));
- const CCTK_REAL_VEC dz CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_SPACE(2));
- const CCTK_REAL_VEC dt CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_TIME);
+ const ptrdiff_t cctkLbnd1 CCTK_ATTRIBUTE_UNUSED = cctk_lbnd[0];
+ const ptrdiff_t cctkLbnd2 CCTK_ATTRIBUTE_UNUSED = cctk_lbnd[1];
+ const ptrdiff_t cctkLbnd3 CCTK_ATTRIBUTE_UNUSED = cctk_lbnd[2];
const CCTK_REAL_VEC t CCTK_ATTRIBUTE_UNUSED = ToReal(cctk_time);
- const CCTK_REAL_VEC dxi CCTK_ATTRIBUTE_UNUSED = INV(dx);
- const CCTK_REAL_VEC dyi CCTK_ATTRIBUTE_UNUSED = INV(dy);
- const CCTK_REAL_VEC dzi CCTK_ATTRIBUTE_UNUSED = INV(dz);
+ const CCTK_REAL_VEC cctkOriginSpace1 CCTK_ATTRIBUTE_UNUSED =
+ ToReal(CCTK_ORIGIN_SPACE(0));
+ const CCTK_REAL_VEC cctkOriginSpace2 CCTK_ATTRIBUTE_UNUSED =
+ ToReal(CCTK_ORIGIN_SPACE(1));
+ const CCTK_REAL_VEC cctkOriginSpace3 CCTK_ATTRIBUTE_UNUSED =
+ ToReal(CCTK_ORIGIN_SPACE(2));
+ const CCTK_REAL_VEC dt CCTK_ATTRIBUTE_UNUSED =
+ ToReal(CCTK_DELTA_TIME);
+ const CCTK_REAL_VEC dx CCTK_ATTRIBUTE_UNUSED =
+ ToReal(CCTK_DELTA_SPACE(0));
+ const CCTK_REAL_VEC dy CCTK_ATTRIBUTE_UNUSED =
+ ToReal(CCTK_DELTA_SPACE(1));
+ const CCTK_REAL_VEC dz CCTK_ATTRIBUTE_UNUSED =
+ ToReal(CCTK_DELTA_SPACE(2));
+ const CCTK_REAL_VEC dxi CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),dx);
+ const CCTK_REAL_VEC dyi CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),dy);
+ const CCTK_REAL_VEC dzi CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),dz);
const CCTK_REAL_VEC khalf CCTK_ATTRIBUTE_UNUSED = ToReal(0.5);
const CCTK_REAL_VEC kthird CCTK_ATTRIBUTE_UNUSED =
ToReal(0.333333333333333333333333333333);
@@ -63,35 +68,34 @@ static void WeylScal4_invars_calc_Nth_Body(const cGH* restrict const cctkGH, con
kmul(dyi,ToReal(0.5));
const CCTK_REAL_VEC hdzi CCTK_ATTRIBUTE_UNUSED =
kmul(dzi,ToReal(0.5));
-
/* Initialize predefined quantities */
const CCTK_REAL_VEC p1o12dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dx);
const CCTK_REAL_VEC p1o12dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dy);
const CCTK_REAL_VEC p1o12dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dz);
- const CCTK_REAL_VEC p1o144dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dy,dx));
- const CCTK_REAL_VEC p1o144dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dz,dx));
- const CCTK_REAL_VEC p1o144dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dz,dy));
+ const CCTK_REAL_VEC p1o144dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dx,dy));
+ const CCTK_REAL_VEC p1o144dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dx,dz));
+ const CCTK_REAL_VEC p1o144dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dy,dz));
const CCTK_REAL_VEC p1o180dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dx,dx));
const CCTK_REAL_VEC p1o180dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dy,dy));
const CCTK_REAL_VEC p1o180dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dz,dz));
const CCTK_REAL_VEC p1o2dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dx);
const CCTK_REAL_VEC p1o2dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dy);
const CCTK_REAL_VEC p1o2dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dz);
- const CCTK_REAL_VEC p1o3600dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dy,dx));
- const CCTK_REAL_VEC p1o3600dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dz,dx));
- const CCTK_REAL_VEC p1o3600dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dz,dy));
- const CCTK_REAL_VEC p1o4dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dy,dx));
- const CCTK_REAL_VEC p1o4dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dz,dx));
- const CCTK_REAL_VEC p1o4dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dz,dy));
+ const CCTK_REAL_VEC p1o3600dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dx,dy));
+ const CCTK_REAL_VEC p1o3600dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dx,dz));
+ const CCTK_REAL_VEC p1o3600dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dy,dz));
+ const CCTK_REAL_VEC p1o4dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dx,dy));
+ const CCTK_REAL_VEC p1o4dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dx,dz));
+ const CCTK_REAL_VEC p1o4dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dy,dz));
const CCTK_REAL_VEC p1o5040dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dx,dx));
const CCTK_REAL_VEC p1o5040dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dy,dy));
const CCTK_REAL_VEC p1o5040dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dz,dz));
const CCTK_REAL_VEC p1o60dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dx);
const CCTK_REAL_VEC p1o60dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dy);
const CCTK_REAL_VEC p1o60dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dz);
- const CCTK_REAL_VEC p1o705600dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dy,dx));
- const CCTK_REAL_VEC p1o705600dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dz,dx));
- const CCTK_REAL_VEC p1o705600dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dz,dy));
+ const CCTK_REAL_VEC p1o705600dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dx,dy));
+ const CCTK_REAL_VEC p1o705600dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dx,dz));
+ const CCTK_REAL_VEC p1o705600dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dy,dz));
const CCTK_REAL_VEC p1o840dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dx);
const CCTK_REAL_VEC p1o840dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dy);
const CCTK_REAL_VEC p1o840dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dz);
@@ -101,62 +105,76 @@ static void WeylScal4_invars_calc_Nth_Body(const cGH* restrict const cctkGH, con
const CCTK_REAL_VEC pm1o12dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dx,dx));
const CCTK_REAL_VEC pm1o12dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dy,dy));
const CCTK_REAL_VEC pm1o12dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dz,dz));
-
/* Jacobian variable pointers */
- const bool use_jacobian1 = (!CCTK_IsFunctionAliased("MultiPatch_GetMap") || MultiPatch_GetMap(cctkGH) != jacobian_identity_map)
+ const bool usejacobian1 = (!CCTK_IsFunctionAliased("MultiPatch_GetMap") || MultiPatch_GetMap(cctkGH) != jacobian_identity_map)
&& strlen(jacobian_group) > 0;
- const bool use_jacobian = assume_use_jacobian>=0 ? assume_use_jacobian : use_jacobian1;
- const bool usejacobian CCTK_ATTRIBUTE_UNUSED = use_jacobian;
- if (use_jacobian && (strlen(jacobian_derivative_group) == 0))
+ const bool usejacobian = assume_use_jacobian>=0 ? assume_use_jacobian : usejacobian1;
+ if (usejacobian && (strlen(jacobian_derivative_group) == 0))
{
CCTK_WARN(1, "GenericFD::jacobian_group and GenericFD::jacobian_derivative_group must both be set to valid group names");
}
const CCTK_REAL* restrict jacobian_ptrs[9];
- if (use_jacobian) GenericFD_GroupDataPointers(cctkGH, jacobian_group,
+ if (usejacobian) GroupDataPointers(cctkGH, jacobian_group,
9, jacobian_ptrs);
- const CCTK_REAL* restrict const J11 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[0] : 0;
- const CCTK_REAL* restrict const J12 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[1] : 0;
- const CCTK_REAL* restrict const J13 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[2] : 0;
- const CCTK_REAL* restrict const J21 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[3] : 0;
- const CCTK_REAL* restrict const J22 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[4] : 0;
- const CCTK_REAL* restrict const J23 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[5] : 0;
- const CCTK_REAL* restrict const J31 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[6] : 0;
- const CCTK_REAL* restrict const J32 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[7] : 0;
- const CCTK_REAL* restrict const J33 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[8] : 0;
+ const CCTK_REAL* restrict const J11 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_ptrs[0] : 0;
+ const CCTK_REAL* restrict const J12 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_ptrs[1] : 0;
+ const CCTK_REAL* restrict const J13 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_ptrs[2] : 0;
+ const CCTK_REAL* restrict const J21 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_ptrs[3] : 0;
+ const CCTK_REAL* restrict const J22 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_ptrs[4] : 0;
+ const CCTK_REAL* restrict const J23 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_ptrs[5] : 0;
+ const CCTK_REAL* restrict const J31 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_ptrs[6] : 0;
+ const CCTK_REAL* restrict const J32 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_ptrs[7] : 0;
+ const CCTK_REAL* restrict const J33 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_ptrs[8] : 0;
- const CCTK_REAL* restrict jacobian_derivative_ptrs[18] CCTK_ATTRIBUTE_UNUSED;
- if (use_jacobian) GenericFD_GroupDataPointers(cctkGH, jacobian_derivative_group,
- 18, jacobian_derivative_ptrs);
+ const CCTK_REAL* restrict jacobian_determinant_ptrs[1] CCTK_ATTRIBUTE_UNUSED;
+ if (usejacobian && strlen(jacobian_determinant_group) > 0) GroupDataPointers(cctkGH, jacobian_determinant_group,
+ 1, jacobian_determinant_ptrs);
- const CCTK_REAL* restrict const dJ111 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[0] : 0;
- const CCTK_REAL* restrict const dJ112 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[1] : 0;
- const CCTK_REAL* restrict const dJ113 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[2] : 0;
- const CCTK_REAL* restrict const dJ122 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[3] : 0;
- const CCTK_REAL* restrict const dJ123 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[4] : 0;
- const CCTK_REAL* restrict const dJ133 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[5] : 0;
- const CCTK_REAL* restrict const dJ211 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[6] : 0;
- const CCTK_REAL* restrict const dJ212 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[7] : 0;
- const CCTK_REAL* restrict const dJ213 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[8] : 0;
- const CCTK_REAL* restrict const dJ222 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[9] : 0;
- const CCTK_REAL* restrict const dJ223 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[10] : 0;
- const CCTK_REAL* restrict const dJ233 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[11] : 0;
- const CCTK_REAL* restrict const dJ311 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[12] : 0;
- const CCTK_REAL* restrict const dJ312 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[13] : 0;
- const CCTK_REAL* restrict const dJ313 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[14] : 0;
- const CCTK_REAL* restrict const dJ322 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[15] : 0;
- const CCTK_REAL* restrict const dJ323 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[16] : 0;
- const CCTK_REAL* restrict const dJ333 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[17] : 0;
+ const CCTK_REAL* restrict const detJ CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_determinant_ptrs[0] : 0;
- /* Assign local copies of arrays functions */
+ const CCTK_REAL* restrict jacobian_inverse_ptrs[9] CCTK_ATTRIBUTE_UNUSED;
+ if (usejacobian && strlen(jacobian_inverse_group) > 0) GroupDataPointers(cctkGH, jacobian_inverse_group,
+ 9, jacobian_inverse_ptrs);
+ const CCTK_REAL* restrict const iJ11 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_inverse_ptrs[0] : 0;
+ const CCTK_REAL* restrict const iJ12 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_inverse_ptrs[1] : 0;
+ const CCTK_REAL* restrict const iJ13 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_inverse_ptrs[2] : 0;
+ const CCTK_REAL* restrict const iJ21 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_inverse_ptrs[3] : 0;
+ const CCTK_REAL* restrict const iJ22 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_inverse_ptrs[4] : 0;
+ const CCTK_REAL* restrict const iJ23 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_inverse_ptrs[5] : 0;
+ const CCTK_REAL* restrict const iJ31 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_inverse_ptrs[6] : 0;
+ const CCTK_REAL* restrict const iJ32 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_inverse_ptrs[7] : 0;
+ const CCTK_REAL* restrict const iJ33 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_inverse_ptrs[8] : 0;
+ const CCTK_REAL* restrict jacobian_derivative_ptrs[18] CCTK_ATTRIBUTE_UNUSED;
+ if (usejacobian) GroupDataPointers(cctkGH, jacobian_derivative_group,
+ 18, jacobian_derivative_ptrs);
- /* Calculate temporaries and arrays functions */
+ const CCTK_REAL* restrict const dJ111 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_derivative_ptrs[0] : 0;
+ const CCTK_REAL* restrict const dJ112 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_derivative_ptrs[1] : 0;
+ const CCTK_REAL* restrict const dJ113 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_derivative_ptrs[2] : 0;
+ const CCTK_REAL* restrict const dJ122 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_derivative_ptrs[3] : 0;
+ const CCTK_REAL* restrict const dJ123 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_derivative_ptrs[4] : 0;
+ const CCTK_REAL* restrict const dJ133 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_derivative_ptrs[5] : 0;
+ const CCTK_REAL* restrict const dJ211 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_derivative_ptrs[6] : 0;
+ const CCTK_REAL* restrict const dJ212 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_derivative_ptrs[7] : 0;
+ const CCTK_REAL* restrict const dJ213 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_derivative_ptrs[8] : 0;
+ const CCTK_REAL* restrict const dJ222 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_derivative_ptrs[9] : 0;
+ const CCTK_REAL* restrict const dJ223 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_derivative_ptrs[10] : 0;
+ const CCTK_REAL* restrict const dJ233 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_derivative_ptrs[11] : 0;
+ const CCTK_REAL* restrict const dJ311 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_derivative_ptrs[12] : 0;
+ const CCTK_REAL* restrict const dJ312 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_derivative_ptrs[13] : 0;
+ const CCTK_REAL* restrict const dJ313 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_derivative_ptrs[14] : 0;
+ const CCTK_REAL* restrict const dJ322 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_derivative_ptrs[15] : 0;
+ const CCTK_REAL* restrict const dJ323 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_derivative_ptrs[16] : 0;
+ const CCTK_REAL* restrict const dJ333 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_derivative_ptrs[17] : 0;
+ /* Assign local copies of arrays functions */
- /* Copy local copies back to grid functions */
+ /* Calculate temporaries and arrays functions */
+ /* Copy local copies back to grid functions */
/* Loop over the grid points */
const int imin0=imin[0];
const int imin1=imin[1];
@@ -164,15 +182,13 @@ static void WeylScal4_invars_calc_Nth_Body(const cGH* restrict const cctkGH, con
const int imax0=imax[0];
const int imax1=imax[1];
const int imax2=imax[2];
- #pragma omp parallel // reduction(+: vec_iter_counter, vec_op_counter, vec_mem_counter)
+ #pragma omp parallel
CCTK_LOOP3STR(WeylScal4_invars_calc_Nth,
i,j,k, imin0,imin1,imin2, imax0,imax1,imax2,
cctk_ash[0],cctk_ash[1],cctk_ash[2],
vecimin,vecimax, CCTK_REAL_VEC_SIZE)
{
const ptrdiff_t index CCTK_ATTRIBUTE_UNUSED = di*i + dj*j + dk*k;
- // vec_iter_counter+=CCTK_REAL_VEC_SIZE;
-
/* Assign local copies of grid functions */
CCTK_REAL_VEC Psi0iL CCTK_ATTRIBUTE_UNUSED = vec_load(Psi0i[index]);
@@ -187,9 +203,7 @@ static void WeylScal4_invars_calc_Nth_Body(const cGH* restrict const cctkGH, con
CCTK_REAL_VEC Psi4rL CCTK_ATTRIBUTE_UNUSED = vec_load(Psi4r[index]);
-
/* Include user supplied include files */
-
/* Precompute derivatives */
switch (fdOrder)
@@ -216,32 +230,30 @@ static void WeylScal4_invars_calc_Nth_Body(const cGH* restrict const cctkGH, con
default:
CCTK_BUILTIN_UNREACHABLE();
}
-
/* Calculate temporaries and grid functions */
CCTK_REAL_VEC curvIrL CCTK_ATTRIBUTE_UNUSED =
- kmadd(Psi0rL,Psi4rL,kmadd(Psi1rL,kmul(Psi3rL,ToReal(-4)),kmadd(kmul(Psi2iL,Psi2iL),ToReal(-3),knmsub(Psi0iL,Psi4iL,kmadd(kmul(Psi2rL,Psi2rL),ToReal(3),kmul(Psi1iL,kmul(Psi3iL,ToReal(4))))))));
+ kmadd(ToReal(4),kmul(Psi1iL,Psi3iL),kmadd(ToReal(-4),kmul(Psi1rL,Psi3rL),knmsub(Psi0iL,Psi4iL,kmadd(Psi0rL,Psi4rL,kmadd(ToReal(-3),kmul(Psi2iL,Psi2iL),kmul(kmul(Psi2rL,Psi2rL),ToReal(3)))))));
CCTK_REAL_VEC curvIiL CCTK_ATTRIBUTE_UNUSED =
- kmadd(Psi0rL,Psi4iL,kmadd(Psi0iL,Psi4rL,kmadd(kmadd(Psi1rL,Psi3iL,kmul(Psi1iL,Psi3rL)),ToReal(-4),kmul(Psi2iL,kmul(Psi2rL,ToReal(6))))));
+ kmadd(ToReal(6),kmul(Psi2iL,Psi2rL),kmadd(ToReal(-4),kmadd(Psi1rL,Psi3iL,kmul(Psi1iL,Psi3rL)),kmadd(Psi0rL,Psi4iL,kmul(Psi0iL,Psi4rL))));
CCTK_REAL_VEC curvJrL CCTK_ATTRIBUTE_UNUSED =
- knmsub(Psi2rL,kmul(Psi2rL,Psi2rL),kmadd(Psi4rL,kmsub(Psi1iL,Psi1iL,kmul(Psi1rL,Psi1rL)),kmadd(Psi0rL,kmsub(Psi3iL,Psi3iL,kmul(Psi3rL,Psi3rL)),kmadd(kmadd(Psi0iL,kmul(Psi3iL,Psi3rL),kmul(Psi1iL,kmul(Psi1rL,Psi4iL))),ToReal(2),knmsub(Psi2iL,kmadd(Psi0rL,Psi4iL,kmadd(Psi0iL,Psi4rL,kmadd(Psi1rL,kmul(Psi3iL,ToReal(2)),kmul(Psi1iL,kmul(Psi3rL,ToReal(2)))))),kmadd(Psi2rL,kmadd(Psi0rL,Psi4rL,kmadd(Psi1iL,kmul(Psi3iL,ToReal(-2)),kmsub(Psi1rL,kmul(Psi3rL,ToReal(2)),kmul(Psi0iL,Psi4iL)))),kmul(Psi2rL,kmul(kmul(Psi2iL,Psi2iL),ToReal(3)))))))));
+ kmadd(ToReal(2),kmul(Psi0iL,kmul(Psi3iL,Psi3rL)),kmadd(ToReal(2),kmul(Psi1iL,kmul(Psi1rL,Psi4iL)),knmsub(Psi2iL,kmadd(ToReal(2),kmul(Psi1rL,Psi3iL),kmadd(ToReal(2),kmul(Psi1iL,Psi3rL),kmadd(Psi0rL,Psi4iL,kmul(Psi0iL,Psi4rL)))),kmadd(Psi4rL,kmsub(Psi1iL,Psi1iL,kmul(Psi1rL,Psi1rL)),kmadd(Psi2rL,kmadd(ToReal(-2),kmul(Psi1iL,Psi3iL),kmadd(ToReal(2),kmul(Psi1rL,Psi3rL),knmsub(Psi0iL,Psi4iL,kmadd(Psi0rL,Psi4rL,kmul(kmul(Psi2iL,Psi2iL),ToReal(3)))))),kmsub(Psi0rL,kmsub(Psi3iL,Psi3iL,kmul(Psi3rL,Psi3rL)),kmul(Psi2rL,kmul(Psi2rL,Psi2rL))))))));
CCTK_REAL_VEC curvJiL CCTK_ATTRIBUTE_UNUSED =
- kmadd(Psi2iL,kmul(Psi2iL,Psi2iL),kmadd(Psi4rL,kmadd(Psi0iL,Psi2rL,kmul(Psi1iL,kmul(Psi1rL,ToReal(-2)))),kmadd(Psi0rL,kmadd(Psi2rL,Psi4iL,kmul(Psi3iL,kmul(Psi3rL,ToReal(-2)))),kmadd(Psi4iL,kmsub(Psi1iL,Psi1iL,kmul(Psi1rL,Psi1rL)),kmadd(Psi0iL,kmsub(Psi3iL,Psi3iL,kmul(Psi3rL,Psi3rL)),kmadd(Psi2rL,kmul(kmadd(Psi1rL,Psi3iL,kmul(Psi1iL,Psi3rL)),ToReal(2)),kmul(Psi2iL,kmadd(Psi0rL,Psi4rL,kmadd(kmul(Psi2rL,Psi2rL),ToReal(-3),kmadd(Psi1iL,kmul(Psi3iL,ToReal(-2)),kmsub(Psi1rL,kmul(Psi3rL,ToReal(2)),kmul(Psi0iL,Psi4iL))))))))))));
+ kmadd(ToReal(2),kmul(Psi2rL,kmadd(Psi1rL,Psi3iL,kmul(Psi1iL,Psi3rL))),kmadd(Psi0rL,kmadd(ToReal(-2),kmul(Psi3iL,Psi3rL),kmul(Psi2rL,Psi4iL)),kmadd(ToReal(-2),kmul(Psi1iL,kmul(Psi1rL,Psi4rL)),kmadd(Psi4iL,kmsub(Psi1iL,Psi1iL,kmul(Psi1rL,Psi1rL)),kmadd(Psi2iL,kmul(Psi2iL,Psi2iL),kmadd(Psi2iL,kmadd(ToReal(-2),kmul(Psi1iL,Psi3iL),kmadd(ToReal(2),kmul(Psi1rL,Psi3rL),knmsub(Psi0iL,Psi4iL,kmadd(Psi0rL,Psi4rL,kmul(kmul(Psi2rL,Psi2rL),ToReal(-3)))))),kmul(Psi0iL,kmadd(Psi2rL,Psi4rL,kmsub(Psi3iL,Psi3iL,kmul(Psi3rL,Psi3rL))))))))));
CCTK_REAL_VEC curvJ1L CCTK_ATTRIBUTE_UNUSED =
- kmul(ToReal(-16),kmadd(Psi0iL,Psi4iL,kmadd(Psi1iL,kmul(Psi3iL,ToReal(-4)),kmadd(kmul(Psi2rL,Psi2rL),ToReal(-3),knmsub(Psi0rL,Psi4rL,kmadd(kmul(Psi2iL,Psi2iL),ToReal(3),kmul(Psi1rL,kmul(Psi3rL,ToReal(4)))))))));
+ kmul(kmadd(ToReal(-4),kmul(Psi1iL,Psi3iL),kmadd(ToReal(4),kmul(Psi1rL,Psi3rL),kmadd(Psi0iL,Psi4iL,knmsub(Psi0rL,Psi4rL,kmadd(ToReal(3),kmul(Psi2iL,Psi2iL),kmul(ToReal(-3),kmul(Psi2rL,Psi2rL))))))),ToReal(-16));
CCTK_REAL_VEC curvJ2L CCTK_ATTRIBUTE_UNUSED =
- kmul(kmadd(Psi2rL,kmul(Psi2rL,Psi2rL),kmadd(kmadd(Psi0iL,kmul(Psi3iL,Psi3rL),kmul(Psi1iL,kmul(Psi1rL,Psi4iL))),ToReal(-2),kmadd(Psi4rL,kmsub(Psi1rL,Psi1rL,kmul(Psi1iL,Psi1iL)),kmadd(Psi0rL,kmsub(Psi3rL,Psi3rL,kmul(Psi3iL,Psi3iL)),kmadd(Psi2rL,kmadd(Psi0iL,Psi4iL,kmadd(kmul(Psi2iL,Psi2iL),ToReal(-3),kmadd(Psi1rL,kmul(Psi3rL,ToReal(-2)),kmsub(Psi1iL,kmul(Psi3iL,ToReal(2)),kmul(Psi0rL,Psi4rL))))),kmul(Psi2iL,kmadd(Psi0rL,Psi4iL,kmadd(Psi0iL,Psi4rL,kmul(kmadd(Psi1rL,Psi3iL,kmul(Psi1iL,Psi3rL)),ToReal(2)))))))))),ToReal(96));
+ kmul(kmadd(ToReal(-2),kmadd(Psi0iL,kmul(Psi3iL,Psi3rL),kmul(Psi1iL,kmul(Psi1rL,Psi4iL))),kmadd(Psi2iL,kmadd(ToReal(2),kmadd(Psi1rL,Psi3iL,kmul(Psi1iL,Psi3rL)),kmadd(Psi0rL,Psi4iL,kmul(Psi0iL,Psi4rL))),kmadd(Psi4rL,kmsub(Psi1rL,Psi1rL,kmul(Psi1iL,Psi1iL)),kmadd(Psi2rL,kmadd(ToReal(2),kmul(Psi1iL,Psi3iL),kmadd(ToReal(-2),kmul(Psi1rL,Psi3rL),kmadd(Psi0iL,Psi4iL,kmsub(ToReal(-3),kmul(Psi2iL,Psi2iL),kmul(Psi0rL,Psi4rL))))),kmadd(Psi2rL,kmul(Psi2rL,Psi2rL),kmul(Psi0rL,kmsub(Psi3rL,Psi3rL,kmul(Psi3iL,Psi3iL)))))))),ToReal(96));
CCTK_REAL_VEC curvJ3L CCTK_ATTRIBUTE_UNUSED =
- kmul(kmadd(kmul(Psi0iL,Psi0iL),kmul(Psi4iL,Psi4iL),kmadd(kmul(Psi0rL,Psi0rL),kmul(Psi4rL,Psi4rL),kmadd(kmadd(kmul(Psi1rL,Psi1rL),kmul(Psi3iL,Psi3iL),kmul(kmul(Psi1iL,Psi1iL),kmul(Psi3rL,Psi3rL))),ToReal(-16),kmadd(Psi0iL,kmul(Psi0rL,kmul(Psi4iL,kmul(Psi4rL,ToReal(-4)))),knmsub(kmul(Psi0rL,Psi0rL),kmul(Psi4iL,Psi4iL),knmsub(kmul(Psi0iL,Psi0iL),kmul(Psi4rL,Psi4rL),kmadd(kmul(Psi2rL,Psi2rL),kmul(kmadd(Psi0rL,Psi4rL,kmadd(Psi1rL,kmul(Psi3rL,ToReal(-4)),kmsub(Psi1iL,kmul(Psi3iL,ToReal(4)),kmul(Psi0iL,Psi4iL)))),ToReal(6)),kmadd(kmadd(Psi0rL,kmul(Psi1rL,kmul(Psi3iL,Psi4iL)),kmadd(Psi0rL,kmul(Psi1iL,kmul(Psi3rL,Psi4iL)),kmadd(Psi0iL,kmul(Psi1rL,kmul(Psi3rL,Psi4iL)),kmul(Psi0iL,kmul(Psi1rL,kmul(Psi3iL,Psi4rL)))))),ToReal(8),kmadd(Psi3rL,kmadd(Psi0rL,kmul(Psi1rL,kmul(Psi4rL,ToReal(-8))),kmul(Psi0iL,kmul(Psi1iL,kmul(Psi4rL,ToReal(8))))),kmadd(Psi1iL,kmadd(Psi1rL,kmul(Psi3iL,kmul(Psi3rL,ToReal(-64))),kmadd(Psi0iL,kmul(Psi3iL,kmul(Psi4iL,ToReal(-8))),kmul(Psi0rL,kmul(Psi3iL,kmul(Psi4rL,ToReal(8)))))),kmadd(kmadd(kmul(Psi2iL,Psi2iL),kmul(Psi2iL,Psi2iL),kmul(kmul(Psi2rL,Psi2rL),kmul(Psi2rL,Psi2rL))),ToReal(9),kmadd(kmul(Psi2iL,Psi2iL),kmul(ToReal(-6),kmadd(Psi0rL,Psi4rL,kmadd(Psi1rL,kmul(Psi3rL,ToReal(-4)),knmsub(Psi0iL,Psi4iL,kmadd(Psi1iL,kmul(Psi3iL,ToReal(4)),kmul(kmul(Psi2rL,Psi2rL),ToReal(9))))))),kmadd(Psi2iL,kmul(Psi2rL,kmul(knmsub(Psi0rL,Psi4iL,knmsub(Psi0iL,Psi4rL,kmadd(Psi1rL,kmul(Psi3iL,ToReal(4)),kmul(Psi1iL,kmul(Psi3rL,ToReal(4)))))),ToReal(12))),kmul(kmadd(kmul(Psi1iL,Psi1iL),kmul(Psi3iL,Psi3iL),kmul(kmul(Psi1rL,Psi1rL),kmul(Psi3rL,Psi3rL))),ToReal(16))))))))))))))),ToReal(64));
+ kmul(kmadd(kmadd(kmadd(ToReal(8),kmul(Psi0iL,Psi1iL),kmul(ToReal(-8),kmul(Psi0rL,Psi1rL))),Psi3rL,kmul(ToReal(-4),kmul(Psi0iL,kmul(Psi0rL,Psi4iL)))),Psi4rL,kmadd(ToReal(12),kmul(Psi2iL,kmul(Psi2rL,kmsub(ToReal(4),kmadd(Psi1rL,Psi3iL,kmul(Psi1iL,Psi3rL)),kmadd(Psi0iL,Psi4rL,kmul(Psi0rL,Psi4iL))))),kmadd(Psi1iL,kmul(Psi3iL,kmadd(ToReal(-64),kmul(Psi1rL,Psi3rL),kmadd(ToReal(-8),kmul(Psi0iL,Psi4iL),kmul(ToReal(8),kmul(Psi0rL,Psi4rL))))),kmadd(ToReal(8),kmadd(Psi0rL,kmul(kmadd(Psi1rL,Psi3iL,kmul(Psi1iL,Psi3rL)),Psi4iL),kmul(Psi0iL,kmul(Psi1rL,kmadd(Psi3rL,Psi4iL,kmul(Psi3iL,Psi4rL))))),kmadd(ToReal(6),kmul(kmadd(ToReal(4),kmul(Psi1iL,Psi3iL),kmadd(ToReal(-4),kmul(Psi1rL,Psi3rL),kmsub(Psi0rL,Psi4rL,kmul(Psi0iL,Psi4iL)))),kmul(Psi2rL,Psi2rL)),kmadd(ToReal(-6),kmul(kmul(Psi2iL,Psi2iL),kmadd(ToReal(4),kmul(Psi1iL,Psi3iL),kmadd(ToReal(-4),kmul(Psi1rL,Psi3rL),knmsub(Psi0iL,Psi4iL,kmadd(Psi0rL,Psi4rL,kmul(ToReal(9),kmul(Psi2rL,Psi2rL))))))),kmadd(ToReal(9),kmadd(kmul(Psi2iL,Psi2iL),kmul(Psi2iL,Psi2iL),kmul(kmul(Psi2rL,Psi2rL),kmul(Psi2rL,Psi2rL))),kmadd(kmadd(ToReal(16),kmul(Psi1iL,Psi1iL),kmul(ToReal(-16),kmul(Psi1rL,Psi1rL))),kmul(Psi3iL,Psi3iL),kmadd(kmadd(ToReal(-16),kmul(Psi1iL,Psi1iL),kmul(ToReal(16),kmul(Psi1rL,Psi1rL))),kmul(Psi3rL,Psi3rL),kmadd(kmsub(Psi0iL,Psi0iL,kmul(Psi0rL,Psi0rL)),kmul(Psi4iL,Psi4iL),kmul(kmsub(Psi0rL,Psi0rL,kmul(Psi0iL,Psi0iL)),kmul(Psi4rL,Psi4rL)))))))))))),ToReal(64));
CCTK_REAL_VEC curvJ4L CCTK_ATTRIBUTE_UNUSED =
- kmul(ToReal(-640),kmadd(Psi1iL,kmul(kmadd(kmadd(Psi3rL,Psi4iL,kmul(Psi3iL,Psi4rL)),kmul(Psi1rL,Psi1rL),kmul(Psi0rL,kmul(Psi3iL,kmul(Psi3rL,Psi3rL)))),ToReal(-12)),kmadd(kmadd(Psi3iL,kmul(Psi4iL,kmul(Psi1rL,kmul(Psi1rL,Psi1rL))),kmul(Psi0iL,kmul(Psi1iL,kmul(Psi3rL,kmul(Psi3rL,Psi3rL))))),ToReal(-4),kmadd(kmul(Psi2rL,kmul(kmul(Psi2rL,Psi2rL),kmul(Psi2rL,Psi2rL))),ToReal(-3),kmadd(Psi4rL,kmadd(kmul(Psi0rL,Psi0rL),kmul(Psi3iL,Psi3iL),kmsub(kmul(Psi0iL,Psi0iL),kmul(Psi3rL,Psi3rL),kmadd(kmul(Psi0rL,Psi0rL),kmul(Psi3rL,Psi3rL),kmul(kmul(Psi0iL,Psi0iL),kmul(Psi3iL,Psi3iL))))),kmadd(Psi0rL,kmadd(kmul(Psi1rL,Psi1rL),kmul(Psi4iL,Psi4iL),kmsub(kmul(Psi1iL,Psi1iL),kmul(Psi4rL,Psi4rL),kmadd(kmul(Psi1rL,Psi1rL),kmul(Psi4rL,Psi4rL),kmul(kmul(Psi1iL,Psi1iL),kmul(Psi4iL,Psi4iL))))),kmadd(kmadd(kmadd(Psi3rL,Psi4iL,kmul(Psi3iL,Psi4rL)),kmul(Psi1iL,kmul(Psi1iL,Psi1iL)),kmadd(Psi3rL,kmul(Psi4rL,kmul(Psi1rL,kmul(Psi1rL,Psi1rL))),kmadd(Psi0rL,kmadd(kmadd(Psi0iL,kmul(Psi3iL,Psi3rL),kmul(Psi1iL,kmul(Psi1rL,Psi4iL))),Psi4rL,kmul(Psi1iL,kmul(Psi3iL,kmul(Psi3iL,Psi3iL)))),kmul(Psi1rL,kmadd(Psi0iL,kmul(Psi3iL,kmul(Psi3iL,Psi3iL)),kmul(Psi0rL,kmul(Psi3rL,kmul(Psi3rL,Psi3rL)))))))),ToReal(4),kmadd(ToReal(-2),kmadd(Psi4iL,kmadd(Psi3iL,kmul(Psi3rL,kmul(Psi0iL,Psi0iL)),kmul(Psi0iL,kmadd(Psi4rL,kmul(Psi1iL,Psi1iL),kmul(Psi0rL,kmul(Psi3iL,Psi3iL))))),kmul(kmul(Psi2rL,kmul(Psi2rL,Psi2rL)),kmadd(Psi0iL,Psi4iL,kmadd(Psi1rL,kmul(Psi3rL,ToReal(-5)),kmsub(Psi1iL,kmul(Psi3iL,ToReal(5)),kmul(Psi0rL,Psi4rL)))))),kmadd(ToReal(2),kmadd(Psi4iL,kmadd(Psi3iL,kmul(Psi3rL,kmul(Psi0rL,Psi0rL)),kmul(Psi0iL,kmadd(Psi4rL,kmul(Psi1rL,Psi1rL),kmul(Psi0rL,kmul(Psi3rL,Psi3rL))))),kmadd(kmul(Psi2iL,kmul(Psi2iL,Psi2iL)),kmadd(Psi0rL,Psi4iL,kmadd(Psi0iL,Psi4rL,kmul(kmadd(Psi1rL,Psi3iL,kmul(Psi1iL,Psi3rL)),ToReal(5)))),kmul(Psi2iL,kmadd(Psi3rL,kmadd(Psi1iL,kmul(kmul(Psi2rL,Psi2rL),ToReal(-15)),kmul(Psi3iL,kmul(kmul(Psi1iL,Psi1iL),ToReal(-8)))),kmadd(Psi4iL,kmadd(Psi2rL,kmul(kmul(Psi1iL,Psi1iL),ToReal(-3)),kmul(Psi4rL,kmsub(Psi0iL,Psi0iL,kmul(Psi0rL,Psi0rL)))),knmsub(Psi0iL,kmadd(Psi1iL,kmadd(Psi3rL,Psi4iL,kmul(Psi3iL,Psi4rL)),kmadd(Psi2rL,kmul(kmul(Psi3rL,Psi3rL),ToReal(-3)),kmadd(Psi0rL,kmsub(Psi4rL,Psi4rL,kmul(Psi4iL,Psi4iL)),kmul(kmadd(Psi4rL,kmul(Psi2rL,Psi2rL),kmul(Psi2rL,kmul(Psi3iL,Psi3iL))),ToReal(3))))),kmadd(Psi0rL,kmadd(Psi1iL,kmul(Psi3rL,Psi4rL),kmadd(Psi4iL,kmul(kmul(Psi2rL,Psi2rL),ToReal(-3)),kmul(Psi3iL,kmsub(Psi2rL,kmul(Psi3rL,ToReal(6)),kmul(Psi1iL,Psi4iL))))),kmadd(kmul(Psi1rL,Psi1rL),kmadd(Psi2rL,kmul(Psi4iL,ToReal(3)),kmul(Psi3iL,kmul(Psi3rL,ToReal(8)))),kmul(Psi1rL,kmadd(Psi3iL,kmul(kmul(Psi2rL,Psi2rL),ToReal(-15)),kmadd(Psi4iL,kmsub(Psi0rL,Psi3rL,kmul(Psi0iL,Psi3iL)),kmadd(Psi4rL,kmadd(Psi0rL,Psi3iL,kmadd(Psi0iL,Psi3rL,kmul(Psi1iL,kmul(Psi2rL,ToReal(6))))),kmul(Psi1iL,kmadd(kmul(Psi3iL,Psi3iL),ToReal(-8),kmul(kmul(Psi3rL,Psi3rL),ToReal(8)))))))))))))))),kmadd(ToReal(3),kmadd(kmul(Psi2rL,Psi2rL),kmadd(Psi4rL,kmsub(Psi1iL,Psi1iL,kmul(Psi1rL,Psi1rL)),kmadd(Psi0rL,kmsub(Psi3iL,Psi3iL,kmul(Psi3rL,Psi3rL)),kmul(kmadd(Psi0iL,kmul(Psi3iL,Psi3rL),kmul(Psi1iL,kmul(Psi1rL,Psi4iL))),ToReal(2)))),kmul(kmul(Psi2iL,Psi2iL),kmadd(kmadd(Psi0iL,kmul(Psi3iL,Psi3rL),kmul(Psi1iL,kmul(Psi1rL,Psi4iL))),ToReal(-2),kmadd(Psi4rL,kmsub(Psi1rL,Psi1rL,kmul(Psi1iL,Psi1iL)),kmadd(Psi0rL,kmsub(Psi3rL,Psi3rL,kmul(Psi3iL,Psi3iL)),kmadd(Psi2rL,kmul(ToReal(2),kmadd(Psi0iL,Psi4iL,kmadd(Psi1rL,kmul(Psi3rL,ToReal(-5)),kmsub(Psi1iL,kmul(Psi3iL,ToReal(5)),kmul(Psi0rL,Psi4rL))))),kmul(kmul(Psi2rL,kmul(Psi2rL,Psi2rL)),ToReal(10)))))))),kmadd(Psi1rL,kmadd(Psi0rL,kmul(Psi3rL,kmul(kmul(Psi3iL,Psi3iL),ToReal(-12))),kmadd(Psi0iL,kmul(Psi1iL,kmul(kmul(Psi4iL,Psi4iL),ToReal(-2))),kmul(kmul(Psi1iL,Psi1iL),kmadd(Psi3rL,kmul(Psi4rL,ToReal(-12)),kmul(Psi3iL,kmul(Psi4iL,ToReal(12))))))),kmadd(Psi0iL,kmadd(Psi1rL,kmul(Psi3iL,kmul(kmul(Psi3rL,Psi3rL),ToReal(-12))),kmul(Psi1iL,kmadd(Psi1rL,kmul(kmul(Psi4rL,Psi4rL),ToReal(2)),kmul(Psi3rL,kmul(kmul(Psi3iL,Psi3iL),ToReal(12)))))),kmul(Psi2rL,kmadd(kmul(Psi0iL,Psi0iL),kmul(Psi4iL,Psi4iL),kmadd(kmul(Psi0rL,Psi0rL),kmul(Psi4rL,Psi4rL),kmadd(kmul(kmul(Psi2iL,Psi2iL),kmul(Psi2iL,Psi2iL)),ToReal(-15),kmadd(Psi0iL,kmul(Psi0rL,kmul(Psi4iL,kmul(Psi4rL,ToReal(-4)))),knmsub(kmul(Psi0rL,Psi0rL),kmul(Psi4iL,Psi4iL),knmsub(kmul(Psi0iL,Psi0iL),kmul(Psi4rL,Psi4rL),kmadd(kmsub(Psi3iL,Psi3iL,kmul(Psi3rL,Psi3rL)),kmadd(kmul(Psi1iL,Psi1iL),ToReal(-8),kmul(kmul(Psi1rL,Psi1rL),ToReal(8))),kmul(ToReal(2),kmadd(Psi1rL,kmadd(Psi0iL,kmul(Psi3rL,Psi4iL),kmadd(Psi0iL,kmul(Psi3iL,Psi4rL),kmul(Psi0rL,kmsub(Psi3iL,Psi4iL,kmul(Psi3rL,Psi4rL))))),kmul(Psi1iL,kmadd(Psi0rL,kmul(Psi3rL,Psi4iL),kmadd(Psi0rL,kmul(Psi3iL,Psi4rL),kmadd(Psi0iL,kmul(Psi3rL,Psi4rL),kmul(Psi3iL,kmsub(Psi1rL,kmul(Psi3rL,ToReal(16)),kmul(Psi0iL,Psi4iL)))))))))))))))))))))))))))));
-
+ kmul(kmadd(Psi3iL,kmadd(Psi4iL,kmadd(ToReal(-2),kmul(Psi3rL,kmul(Psi0iL,Psi0iL)),kmul(ToReal(12),kmul(Psi1rL,kmul(Psi1iL,Psi1iL)))),kmul(ToReal(4),kmul(Psi4rL,kmul(Psi1iL,kmul(Psi1iL,Psi1iL))))),kmadd(ToReal(-2),kmul(kmadd(ToReal(5),kmul(Psi1iL,Psi3iL),kmadd(ToReal(-5),kmul(Psi1rL,Psi3rL),kmsub(Psi0iL,Psi4iL,kmul(Psi0rL,Psi4rL)))),kmul(Psi2rL,kmul(Psi2rL,Psi2rL))),kmadd(ToReal(-3),kmul(Psi2rL,kmul(kmul(Psi2rL,Psi2rL),kmul(Psi2rL,Psi2rL))),kmadd(kmadd(kmadd(ToReal(12),kmul(Psi0iL,Psi1iL),kmul(ToReal(-12),kmul(Psi0rL,Psi1rL))),Psi3rL,kmsub(ToReal(-2),kmul(Psi0iL,kmul(Psi0rL,Psi4iL)),kmul(Psi4rL,kmul(Psi0iL,Psi0iL)))),kmul(Psi3iL,Psi3iL),kmadd(Psi4rL,kmadd(Psi4iL,kmadd(ToReal(4),kmul(Psi0rL,kmul(Psi1iL,Psi1rL)),kmul(ToReal(-2),kmul(Psi0iL,kmul(Psi1iL,Psi1iL)))),kmadd(Psi3rL,kmadd(ToReal(4),kmul(Psi0iL,kmul(Psi0rL,Psi3iL)),kmul(ToReal(-12),kmul(Psi1rL,kmul(Psi1iL,Psi1iL)))),kmadd(kmul(Psi0rL,Psi0rL),kmsub(Psi3iL,Psi3iL,kmul(Psi3rL,Psi3rL)),kmul(kmul(Psi0iL,Psi0iL),kmul(Psi3rL,Psi3rL))))),kmadd(ToReal(-12),kmadd(Psi1iL,kmul(Psi3rL,kmul(Psi4iL,kmul(Psi1rL,Psi1rL))),kmul(Psi3iL,kmadd(Psi1iL,kmul(Psi4rL,kmul(Psi1rL,Psi1rL)),kmul(kmadd(Psi0rL,Psi1iL,kmul(Psi0iL,Psi1rL)),kmul(Psi3rL,Psi3rL))))),kmadd(ToReal(3),kmadd(kmul(Psi2rL,Psi2rL),kmadd(ToReal(2),kmadd(Psi0iL,kmul(Psi3iL,Psi3rL),kmul(Psi1iL,kmul(Psi1rL,Psi4iL))),kmadd(Psi4rL,kmsub(Psi1iL,Psi1iL,kmul(Psi1rL,Psi1rL)),kmul(Psi0rL,kmsub(Psi3iL,Psi3iL,kmul(Psi3rL,Psi3rL))))),kmul(kmul(Psi2iL,Psi2iL),kmadd(ToReal(-2),kmadd(Psi0iL,kmul(Psi3iL,Psi3rL),kmul(Psi1iL,kmul(Psi1rL,Psi4iL))),kmadd(ToReal(2),kmul(Psi2rL,kmadd(ToReal(5),kmul(Psi1iL,Psi3iL),kmadd(ToReal(-5),kmul(Psi1rL,Psi3rL),kmsub(Psi0iL,Psi4iL,kmul(Psi0rL,Psi4rL))))),kmadd(Psi4rL,kmsub(Psi1rL,Psi1rL,kmul(Psi1iL,Psi1iL)),kmadd(ToReal(10),kmul(Psi2rL,kmul(Psi2rL,Psi2rL)),kmul(Psi0rL,kmsub(Psi3rL,Psi3rL,kmul(Psi3iL,Psi3iL))))))))),kmadd(ToReal(-4),kmadd(Psi3iL,kmul(Psi4iL,kmul(Psi1rL,kmul(Psi1rL,Psi1rL))),kmul(Psi0iL,kmul(Psi1iL,kmul(Psi3rL,kmul(Psi3rL,Psi3rL))))),kmadd(ToReal(4),kmadd(Psi3rL,kmadd(Psi4iL,kmul(Psi1iL,kmul(Psi1iL,Psi1iL)),kmul(Psi4rL,kmul(Psi1rL,kmul(Psi1rL,Psi1rL)))),kmadd(kmadd(Psi0rL,Psi1iL,kmul(Psi0iL,Psi1rL)),kmul(Psi3iL,kmul(Psi3iL,Psi3iL)),kmul(Psi0rL,kmul(Psi1rL,kmul(Psi3rL,kmul(Psi3rL,Psi3rL)))))),kmadd(kmadd(ToReal(-2),kmul(Psi0iL,kmul(Psi1iL,Psi1rL)),kmul(Psi0rL,kmsub(Psi1rL,Psi1rL,kmul(Psi1iL,Psi1iL)))),kmul(Psi4iL,Psi4iL),kmadd(kmadd(ToReal(2),kmul(Psi0iL,kmul(Psi1iL,Psi1rL)),kmul(Psi0rL,kmsub(Psi1iL,Psi1iL,kmul(Psi1rL,Psi1rL)))),kmul(Psi4rL,Psi4rL),kmadd(Psi2rL,kmadd(ToReal(-4),kmul(Psi0iL,kmul(Psi0rL,kmul(Psi4iL,Psi4rL))),kmadd(ToReal(2),kmadd(Psi1rL,kmadd(kmadd(Psi0rL,Psi3iL,kmul(Psi0iL,Psi3rL)),Psi4iL,kmul(kmsub(Psi0iL,Psi3iL,kmul(Psi0rL,Psi3rL)),Psi4rL)),kmul(Psi1iL,kmadd(Psi3iL,kmsub(ToReal(16),kmul(Psi1rL,Psi3rL),kmul(Psi0iL,Psi4iL)),kmadd(Psi0iL,kmul(Psi3rL,Psi4rL),kmul(Psi0rL,kmadd(Psi3rL,Psi4iL,kmul(Psi3iL,Psi4rL))))))),kmadd(ToReal(-15),kmul(kmul(Psi2iL,Psi2iL),kmul(Psi2iL,Psi2iL)),kmadd(kmadd(ToReal(-8),kmul(Psi1iL,Psi1iL),kmul(ToReal(8),kmul(Psi1rL,Psi1rL))),kmsub(Psi3iL,Psi3iL,kmul(Psi3rL,Psi3rL)),kmadd(kmsub(Psi0iL,Psi0iL,kmul(Psi0rL,Psi0rL)),kmul(Psi4iL,Psi4iL),kmul(kmsub(Psi0rL,Psi0rL,kmul(Psi0iL,Psi0iL)),kmul(Psi4rL,Psi4rL))))))),kmul(ToReal(2),kmadd(kmadd(ToReal(5),kmadd(Psi1rL,Psi3iL,kmul(Psi1iL,Psi3rL)),kmadd(Psi0rL,Psi4iL,kmul(Psi0iL,Psi4rL))),kmul(Psi2iL,kmul(Psi2iL,Psi2iL)),kmadd(Psi4iL,kmadd(Psi3iL,kmul(Psi3rL,kmul(Psi0rL,Psi0rL)),kmul(Psi0iL,kmadd(Psi4rL,kmul(Psi1rL,Psi1rL),kmul(Psi0rL,kmul(Psi3rL,Psi3rL))))),kmul(Psi2iL,kmadd(kmadd(ToReal(8),kmul(Psi3iL,Psi3rL),kmul(ToReal(3),kmul(Psi2rL,Psi4iL))),kmul(Psi1rL,Psi1rL),kmadd(Psi3rL,kmadd(Psi3iL,kmadd(ToReal(6),kmul(Psi0rL,Psi2rL),kmul(ToReal(-8),kmul(Psi1iL,Psi1iL))),kmul(Psi1iL,kmadd(Psi0rL,Psi4rL,kmul(ToReal(-15),kmul(Psi2rL,Psi2rL))))),kmadd(Psi4iL,knmsub(Psi0rL,kmul(Psi1iL,Psi3iL),kmadd(Psi4rL,kmsub(Psi0iL,Psi0iL,kmul(Psi0rL,Psi0rL)),kmul(ToReal(-3),kmadd(Psi2rL,kmul(Psi1iL,Psi1iL),kmul(Psi0rL,kmul(Psi2rL,Psi2rL)))))),kmsub(Psi1rL,kmadd(Psi0iL,kmul(Psi3rL,Psi4rL),kmadd(Psi0rL,kmadd(Psi3rL,Psi4iL,kmul(Psi3iL,Psi4rL)),kmadd(Psi3iL,kmsub(ToReal(-15),kmul(Psi2rL,Psi2rL),kmul(Psi0iL,Psi4iL)),kmul(Psi1iL,kmadd(ToReal(6),kmul(Psi2rL,Psi4rL),kmadd(ToReal(-8),kmul(Psi3iL,Psi3iL),kmul(ToReal(8),kmul(Psi3rL,Psi3rL)))))))),kmul(Psi0iL,kmadd(Psi1iL,kmadd(Psi3rL,Psi4iL,kmul(Psi3iL,Psi4rL)),kmadd(ToReal(3),kmul(Psi4rL,kmul(Psi2rL,Psi2rL)),kmadd(Psi2rL,kmadd(ToReal(3),kmul(Psi3iL,Psi3iL),kmul(ToReal(-3),kmul(Psi3rL,Psi3rL))),kmul(Psi0rL,kmsub(Psi4rL,Psi4rL,kmul(Psi4iL,Psi4iL))))))))))))))))))))))))))),ToReal(-640));
/* Copy local copies back to grid functions */
vec_store_partial_prepare(i,vecimin,vecimax);
vec_store_nta_partial(curvIi[index],curvIiL);
@@ -255,18 +267,15 @@ static void WeylScal4_invars_calc_Nth_Body(const cGH* restrict const cctkGH, con
}
CCTK_ENDLOOP3STR(WeylScal4_invars_calc_Nth);
}
-
extern "C" void WeylScal4_invars_calc_Nth(CCTK_ARGUMENTS)
{
DECLARE_CCTK_ARGUMENTS;
DECLARE_CCTK_PARAMETERS;
-
if (verbose > 1)
{
CCTK_VInfo(CCTK_THORNSTRING,"Entering WeylScal4_invars_calc_Nth_Body");
}
-
if (cctk_iteration % WeylScal4_invars_calc_Nth_calc_every != WeylScal4_invars_calc_Nth_calc_offset)
{
return;
@@ -291,7 +300,7 @@ extern "C" void WeylScal4_invars_calc_Nth(CCTK_ARGUMENTS)
"WeylScal4::Psi3r_group",
"WeylScal4::Psi4i_group",
"WeylScal4::Psi4r_group"};
- GenericFD_AssertGroupStorage(cctkGH, "WeylScal4_invars_calc_Nth", 18, groups);
+ AssertGroupStorage(cctkGH, "WeylScal4_invars_calc_Nth", 18, groups);
switch (fdOrder)
{
@@ -318,10 +327,11 @@ extern "C" void WeylScal4_invars_calc_Nth(CCTK_ARGUMENTS)
CCTK_BUILTIN_UNREACHABLE();
}
- GenericFD_LoopOverEverything(cctkGH, WeylScal4_invars_calc_Nth_Body);
-
+ LoopOverEverything(cctkGH, WeylScal4_invars_calc_Nth_Body);
if (verbose > 1)
{
CCTK_VInfo(CCTK_THORNSTRING,"Leaving WeylScal4_invars_calc_Nth_Body");
}
}
+
+} // namespace WeylScal4
diff --git a/src/WeylScal4_psi4_calc_2nd.cc b/src/WeylScal4_psi4_calc_2nd.cc
index a8692d8..e707cd1 100644
--- a/src/WeylScal4_psi4_calc_2nd.cc
+++ b/src/WeylScal4_psi4_calc_2nd.cc
@@ -2,6 +2,7 @@
#define KRANC_C
+#include <algorithm>
#include <assert.h>
#include <math.h>
#include <stdio.h>
@@ -10,22 +11,12 @@
#include "cctk.h"
#include "cctk_Arguments.h"
#include "cctk_Parameters.h"
-#include "GenericFD.h"
+#include "Kranc.hh"
#include "Differencing.h"
-#include "cctk_Loop.h"
#include "loopcontrol.h"
#include "vectors.h"
-/* Define macros used in calculations */
-#define INITVALUE (42)
-#define ScalarINV(x) ((CCTK_REAL)1.0 / (x))
-#define ScalarSQR(x) ((x) * (x))
-#define ScalarCUB(x) ((x) * ScalarSQR(x))
-#define ScalarQAD(x) (ScalarSQR(ScalarSQR(x)))
-#define INV(x) (kdiv(ToReal(1.0),x))
-#define SQR(x) (kmul(x,x))
-#define CUB(x) (kmul(x,SQR(x)))
-#define QAD(x) (SQR(SQR(x)))
+namespace WeylScal4 {
extern "C" void WeylScal4_psi4_calc_2nd_SelectBCs(CCTK_ARGUMENTS)
{
@@ -35,10 +26,10 @@ extern "C" void WeylScal4_psi4_calc_2nd_SelectBCs(CCTK_ARGUMENTS)
if (cctk_iteration % WeylScal4_psi4_calc_2nd_calc_every != WeylScal4_psi4_calc_2nd_calc_offset)
return;
CCTK_INT ierr CCTK_ATTRIBUTE_UNUSED = 0;
- ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "WeylScal4::Psi4i_group","flat");
+ ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GetBoundaryWidth(cctkGH), -1 /* no table */, "WeylScal4::Psi4i_group","flat");
if (ierr < 0)
CCTK_WARN(1, "Failed to register flat BC for WeylScal4::Psi4i_group.");
- ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "WeylScal4::Psi4r_group","flat");
+ ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GetBoundaryWidth(cctkGH), -1 /* no table */, "WeylScal4::Psi4r_group","flat");
if (ierr < 0)
CCTK_WARN(1, "Failed to register flat BC for WeylScal4::Psi4r_group.");
return;
@@ -49,24 +40,37 @@ static void WeylScal4_psi4_calc_2nd_Body(const cGH* restrict const cctkGH, const
DECLARE_CCTK_ARGUMENTS;
DECLARE_CCTK_PARAMETERS;
-
/* Include user-supplied include files */
-
/* Initialise finite differencing variables */
const ptrdiff_t di CCTK_ATTRIBUTE_UNUSED = 1;
- const ptrdiff_t dj CCTK_ATTRIBUTE_UNUSED = CCTK_GFINDEX3D(cctkGH,0,1,0) - CCTK_GFINDEX3D(cctkGH,0,0,0);
- const ptrdiff_t dk CCTK_ATTRIBUTE_UNUSED = CCTK_GFINDEX3D(cctkGH,0,0,1) - CCTK_GFINDEX3D(cctkGH,0,0,0);
+ const ptrdiff_t dj CCTK_ATTRIBUTE_UNUSED =
+ CCTK_GFINDEX3D(cctkGH,0,1,0) - CCTK_GFINDEX3D(cctkGH,0,0,0);
+ const ptrdiff_t dk CCTK_ATTRIBUTE_UNUSED =
+ CCTK_GFINDEX3D(cctkGH,0,0,1) - CCTK_GFINDEX3D(cctkGH,0,0,0);
const ptrdiff_t cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL) * di;
const ptrdiff_t cdj CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL) * dj;
const ptrdiff_t cdk CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL) * dk;
- const CCTK_REAL_VEC dx CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_SPACE(0));
- const CCTK_REAL_VEC dy CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_SPACE(1));
- const CCTK_REAL_VEC dz CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_SPACE(2));
- const CCTK_REAL_VEC dt CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_TIME);
+ const ptrdiff_t cctkLbnd1 CCTK_ATTRIBUTE_UNUSED = cctk_lbnd[0];
+ const ptrdiff_t cctkLbnd2 CCTK_ATTRIBUTE_UNUSED = cctk_lbnd[1];
+ const ptrdiff_t cctkLbnd3 CCTK_ATTRIBUTE_UNUSED = cctk_lbnd[2];
const CCTK_REAL_VEC t CCTK_ATTRIBUTE_UNUSED = ToReal(cctk_time);
- const CCTK_REAL_VEC dxi CCTK_ATTRIBUTE_UNUSED = INV(dx);
- const CCTK_REAL_VEC dyi CCTK_ATTRIBUTE_UNUSED = INV(dy);
- const CCTK_REAL_VEC dzi CCTK_ATTRIBUTE_UNUSED = INV(dz);
+ const CCTK_REAL_VEC cctkOriginSpace1 CCTK_ATTRIBUTE_UNUSED =
+ ToReal(CCTK_ORIGIN_SPACE(0));
+ const CCTK_REAL_VEC cctkOriginSpace2 CCTK_ATTRIBUTE_UNUSED =
+ ToReal(CCTK_ORIGIN_SPACE(1));
+ const CCTK_REAL_VEC cctkOriginSpace3 CCTK_ATTRIBUTE_UNUSED =
+ ToReal(CCTK_ORIGIN_SPACE(2));
+ const CCTK_REAL_VEC dt CCTK_ATTRIBUTE_UNUSED =
+ ToReal(CCTK_DELTA_TIME);
+ const CCTK_REAL_VEC dx CCTK_ATTRIBUTE_UNUSED =
+ ToReal(CCTK_DELTA_SPACE(0));
+ const CCTK_REAL_VEC dy CCTK_ATTRIBUTE_UNUSED =
+ ToReal(CCTK_DELTA_SPACE(1));
+ const CCTK_REAL_VEC dz CCTK_ATTRIBUTE_UNUSED =
+ ToReal(CCTK_DELTA_SPACE(2));
+ const CCTK_REAL_VEC dxi CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),dx);
+ const CCTK_REAL_VEC dyi CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),dy);
+ const CCTK_REAL_VEC dzi CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),dz);
const CCTK_REAL_VEC khalf CCTK_ATTRIBUTE_UNUSED = ToReal(0.5);
const CCTK_REAL_VEC kthird CCTK_ATTRIBUTE_UNUSED =
ToReal(0.333333333333333333333333333333);
@@ -80,35 +84,34 @@ static void WeylScal4_psi4_calc_2nd_Body(const cGH* restrict const cctkGH, const
kmul(dyi,ToReal(0.5));
const CCTK_REAL_VEC hdzi CCTK_ATTRIBUTE_UNUSED =
kmul(dzi,ToReal(0.5));
-
/* Initialize predefined quantities */
const CCTK_REAL_VEC p1o12dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dx);
const CCTK_REAL_VEC p1o12dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dy);
const CCTK_REAL_VEC p1o12dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dz);
- const CCTK_REAL_VEC p1o144dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dy,dx));
- const CCTK_REAL_VEC p1o144dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dz,dx));
- const CCTK_REAL_VEC p1o144dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dz,dy));
+ const CCTK_REAL_VEC p1o144dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dx,dy));
+ const CCTK_REAL_VEC p1o144dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dx,dz));
+ const CCTK_REAL_VEC p1o144dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dy,dz));
const CCTK_REAL_VEC p1o180dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dx,dx));
const CCTK_REAL_VEC p1o180dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dy,dy));
const CCTK_REAL_VEC p1o180dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dz,dz));
const CCTK_REAL_VEC p1o2dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dx);
const CCTK_REAL_VEC p1o2dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dy);
const CCTK_REAL_VEC p1o2dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dz);
- const CCTK_REAL_VEC p1o3600dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dy,dx));
- const CCTK_REAL_VEC p1o3600dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dz,dx));
- const CCTK_REAL_VEC p1o3600dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dz,dy));
- const CCTK_REAL_VEC p1o4dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dy,dx));
- const CCTK_REAL_VEC p1o4dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dz,dx));
- const CCTK_REAL_VEC p1o4dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dz,dy));
+ const CCTK_REAL_VEC p1o3600dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dx,dy));
+ const CCTK_REAL_VEC p1o3600dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dx,dz));
+ const CCTK_REAL_VEC p1o3600dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dy,dz));
+ const CCTK_REAL_VEC p1o4dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dx,dy));
+ const CCTK_REAL_VEC p1o4dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dx,dz));
+ const CCTK_REAL_VEC p1o4dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dy,dz));
const CCTK_REAL_VEC p1o5040dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dx,dx));
const CCTK_REAL_VEC p1o5040dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dy,dy));
const CCTK_REAL_VEC p1o5040dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dz,dz));
const CCTK_REAL_VEC p1o60dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dx);
const CCTK_REAL_VEC p1o60dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dy);
const CCTK_REAL_VEC p1o60dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dz);
- const CCTK_REAL_VEC p1o705600dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dy,dx));
- const CCTK_REAL_VEC p1o705600dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dz,dx));
- const CCTK_REAL_VEC p1o705600dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dz,dy));
+ const CCTK_REAL_VEC p1o705600dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dx,dy));
+ const CCTK_REAL_VEC p1o705600dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dx,dz));
+ const CCTK_REAL_VEC p1o705600dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dy,dz));
const CCTK_REAL_VEC p1o840dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dx);
const CCTK_REAL_VEC p1o840dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dy);
const CCTK_REAL_VEC p1o840dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dz);
@@ -118,62 +121,76 @@ static void WeylScal4_psi4_calc_2nd_Body(const cGH* restrict const cctkGH, const
const CCTK_REAL_VEC pm1o12dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dx,dx));
const CCTK_REAL_VEC pm1o12dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dy,dy));
const CCTK_REAL_VEC pm1o12dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dz,dz));
-
/* Jacobian variable pointers */
- const bool use_jacobian1 = (!CCTK_IsFunctionAliased("MultiPatch_GetMap") || MultiPatch_GetMap(cctkGH) != jacobian_identity_map)
+ const bool usejacobian1 = (!CCTK_IsFunctionAliased("MultiPatch_GetMap") || MultiPatch_GetMap(cctkGH) != jacobian_identity_map)
&& strlen(jacobian_group) > 0;
- const bool use_jacobian = assume_use_jacobian>=0 ? assume_use_jacobian : use_jacobian1;
- const bool usejacobian CCTK_ATTRIBUTE_UNUSED = use_jacobian;
- if (use_jacobian && (strlen(jacobian_derivative_group) == 0))
+ const bool usejacobian = assume_use_jacobian>=0 ? assume_use_jacobian : usejacobian1;
+ if (usejacobian && (strlen(jacobian_derivative_group) == 0))
{
CCTK_WARN(1, "GenericFD::jacobian_group and GenericFD::jacobian_derivative_group must both be set to valid group names");
}
const CCTK_REAL* restrict jacobian_ptrs[9];
- if (use_jacobian) GenericFD_GroupDataPointers(cctkGH, jacobian_group,
+ if (usejacobian) GroupDataPointers(cctkGH, jacobian_group,
9, jacobian_ptrs);
- const CCTK_REAL* restrict const J11 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[0] : 0;
- const CCTK_REAL* restrict const J12 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[1] : 0;
- const CCTK_REAL* restrict const J13 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[2] : 0;
- const CCTK_REAL* restrict const J21 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[3] : 0;
- const CCTK_REAL* restrict const J22 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[4] : 0;
- const CCTK_REAL* restrict const J23 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[5] : 0;
- const CCTK_REAL* restrict const J31 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[6] : 0;
- const CCTK_REAL* restrict const J32 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[7] : 0;
- const CCTK_REAL* restrict const J33 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[8] : 0;
+ const CCTK_REAL* restrict const J11 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_ptrs[0] : 0;
+ const CCTK_REAL* restrict const J12 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_ptrs[1] : 0;
+ const CCTK_REAL* restrict const J13 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_ptrs[2] : 0;
+ const CCTK_REAL* restrict const J21 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_ptrs[3] : 0;
+ const CCTK_REAL* restrict const J22 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_ptrs[4] : 0;
+ const CCTK_REAL* restrict const J23 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_ptrs[5] : 0;
+ const CCTK_REAL* restrict const J31 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_ptrs[6] : 0;
+ const CCTK_REAL* restrict const J32 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_ptrs[7] : 0;
+ const CCTK_REAL* restrict const J33 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_ptrs[8] : 0;
- const CCTK_REAL* restrict jacobian_derivative_ptrs[18] CCTK_ATTRIBUTE_UNUSED;
- if (use_jacobian) GenericFD_GroupDataPointers(cctkGH, jacobian_derivative_group,
- 18, jacobian_derivative_ptrs);
+ const CCTK_REAL* restrict jacobian_determinant_ptrs[1] CCTK_ATTRIBUTE_UNUSED;
+ if (usejacobian && strlen(jacobian_determinant_group) > 0) GroupDataPointers(cctkGH, jacobian_determinant_group,
+ 1, jacobian_determinant_ptrs);
- const CCTK_REAL* restrict const dJ111 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[0] : 0;
- const CCTK_REAL* restrict const dJ112 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[1] : 0;
- const CCTK_REAL* restrict const dJ113 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[2] : 0;
- const CCTK_REAL* restrict const dJ122 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[3] : 0;
- const CCTK_REAL* restrict const dJ123 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[4] : 0;
- const CCTK_REAL* restrict const dJ133 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[5] : 0;
- const CCTK_REAL* restrict const dJ211 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[6] : 0;
- const CCTK_REAL* restrict const dJ212 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[7] : 0;
- const CCTK_REAL* restrict const dJ213 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[8] : 0;
- const CCTK_REAL* restrict const dJ222 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[9] : 0;
- const CCTK_REAL* restrict const dJ223 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[10] : 0;
- const CCTK_REAL* restrict const dJ233 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[11] : 0;
- const CCTK_REAL* restrict const dJ311 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[12] : 0;
- const CCTK_REAL* restrict const dJ312 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[13] : 0;
- const CCTK_REAL* restrict const dJ313 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[14] : 0;
- const CCTK_REAL* restrict const dJ322 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[15] : 0;
- const CCTK_REAL* restrict const dJ323 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[16] : 0;
- const CCTK_REAL* restrict const dJ333 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[17] : 0;
+ const CCTK_REAL* restrict const detJ CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_determinant_ptrs[0] : 0;
- /* Assign local copies of arrays functions */
+ const CCTK_REAL* restrict jacobian_inverse_ptrs[9] CCTK_ATTRIBUTE_UNUSED;
+ if (usejacobian && strlen(jacobian_inverse_group) > 0) GroupDataPointers(cctkGH, jacobian_inverse_group,
+ 9, jacobian_inverse_ptrs);
+ const CCTK_REAL* restrict const iJ11 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_inverse_ptrs[0] : 0;
+ const CCTK_REAL* restrict const iJ12 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_inverse_ptrs[1] : 0;
+ const CCTK_REAL* restrict const iJ13 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_inverse_ptrs[2] : 0;
+ const CCTK_REAL* restrict const iJ21 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_inverse_ptrs[3] : 0;
+ const CCTK_REAL* restrict const iJ22 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_inverse_ptrs[4] : 0;
+ const CCTK_REAL* restrict const iJ23 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_inverse_ptrs[5] : 0;
+ const CCTK_REAL* restrict const iJ31 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_inverse_ptrs[6] : 0;
+ const CCTK_REAL* restrict const iJ32 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_inverse_ptrs[7] : 0;
+ const CCTK_REAL* restrict const iJ33 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_inverse_ptrs[8] : 0;
+ const CCTK_REAL* restrict jacobian_derivative_ptrs[18] CCTK_ATTRIBUTE_UNUSED;
+ if (usejacobian) GroupDataPointers(cctkGH, jacobian_derivative_group,
+ 18, jacobian_derivative_ptrs);
- /* Calculate temporaries and arrays functions */
+ const CCTK_REAL* restrict const dJ111 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_derivative_ptrs[0] : 0;
+ const CCTK_REAL* restrict const dJ112 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_derivative_ptrs[1] : 0;
+ const CCTK_REAL* restrict const dJ113 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_derivative_ptrs[2] : 0;
+ const CCTK_REAL* restrict const dJ122 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_derivative_ptrs[3] : 0;
+ const CCTK_REAL* restrict const dJ123 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_derivative_ptrs[4] : 0;
+ const CCTK_REAL* restrict const dJ133 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_derivative_ptrs[5] : 0;
+ const CCTK_REAL* restrict const dJ211 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_derivative_ptrs[6] : 0;
+ const CCTK_REAL* restrict const dJ212 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_derivative_ptrs[7] : 0;
+ const CCTK_REAL* restrict const dJ213 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_derivative_ptrs[8] : 0;
+ const CCTK_REAL* restrict const dJ222 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_derivative_ptrs[9] : 0;
+ const CCTK_REAL* restrict const dJ223 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_derivative_ptrs[10] : 0;
+ const CCTK_REAL* restrict const dJ233 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_derivative_ptrs[11] : 0;
+ const CCTK_REAL* restrict const dJ311 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_derivative_ptrs[12] : 0;
+ const CCTK_REAL* restrict const dJ312 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_derivative_ptrs[13] : 0;
+ const CCTK_REAL* restrict const dJ313 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_derivative_ptrs[14] : 0;
+ const CCTK_REAL* restrict const dJ322 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_derivative_ptrs[15] : 0;
+ const CCTK_REAL* restrict const dJ323 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_derivative_ptrs[16] : 0;
+ const CCTK_REAL* restrict const dJ333 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_derivative_ptrs[17] : 0;
+ /* Assign local copies of arrays functions */
- /* Copy local copies back to grid functions */
+ /* Calculate temporaries and arrays functions */
+ /* Copy local copies back to grid functions */
/* Loop over the grid points */
const int imin0=imin[0];
const int imin1=imin[1];
@@ -181,15 +198,13 @@ static void WeylScal4_psi4_calc_2nd_Body(const cGH* restrict const cctkGH, const
const int imax0=imax[0];
const int imax1=imax[1];
const int imax2=imax[2];
- #pragma omp parallel // reduction(+: vec_iter_counter, vec_op_counter, vec_mem_counter)
+ #pragma omp parallel
CCTK_LOOP3STR(WeylScal4_psi4_calc_2nd,
i,j,k, imin0,imin1,imin2, imax0,imax1,imax2,
cctk_ash[0],cctk_ash[1],cctk_ash[2],
vecimin,vecimax, CCTK_REAL_VEC_SIZE)
{
const ptrdiff_t index CCTK_ATTRIBUTE_UNUSED = di*i + dj*j + dk*k;
- // vec_iter_counter+=CCTK_REAL_VEC_SIZE;
-
/* Assign local copies of grid functions */
CCTK_REAL_VEC gxxL CCTK_ATTRIBUTE_UNUSED = vec_load(gxx[index]);
@@ -211,7 +226,7 @@ static void WeylScal4_psi4_calc_2nd_Body(const cGH* restrict const cctkGH, const
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 CCTK_ATTRIBUTE_UNUSED ;
- if (use_jacobian)
+ if (usejacobian)
{
dJ111L = vec_load(dJ111[index]);
dJ112L = vec_load(dJ112[index]);
@@ -241,9 +256,7 @@ static void WeylScal4_psi4_calc_2nd_Body(const cGH* restrict const cctkGH, const
J32L = vec_load(J32[index]);
J33L = vec_load(J33[index]);
}
-
/* Include user supplied include files */
-
/* Precompute derivatives */
CCTK_REAL_VEC PDstandard2nd1gxx CCTK_ATTRIBUTE_UNUSED;
CCTK_REAL_VEC PDstandard2nd2gxx CCTK_ATTRIBUTE_UNUSED;
@@ -630,7 +643,6 @@ static void WeylScal4_psi4_calc_2nd_Body(const cGH* restrict const cctkGH, const
default:
CCTK_BUILTIN_UNREACHABLE();
}
-
/* Calculate temporaries and grid functions */
CCTK_REAL_VEC JacPDstandard2nd11gyy CCTK_ATTRIBUTE_UNUSED;
CCTK_REAL_VEC JacPDstandard2nd11gyz CCTK_ATTRIBUTE_UNUSED;
@@ -690,7 +702,7 @@ static void WeylScal4_psi4_calc_2nd_Body(const cGH* restrict const cctkGH, const
CCTK_REAL_VEC JacPDstandard2nd3kyy CCTK_ATTRIBUTE_UNUSED;
CCTK_REAL_VEC JacPDstandard2nd3kyz CCTK_ATTRIBUTE_UNUSED;
- if (use_jacobian)
+ if (usejacobian)
{
JacPDstandard2nd1gxx =
kmadd(J11L,PDstandard2nd1gxx,kmadd(J21L,PDstandard2nd2gxx,kmul(J31L,PDstandard2nd3gxx)));
@@ -792,31 +804,31 @@ static void WeylScal4_psi4_calc_2nd_Body(const cGH* restrict const cctkGH, const
kmadd(J13L,PDstandard2nd1kyz,kmadd(J23L,PDstandard2nd2kyz,kmul(J33L,PDstandard2nd3kyz)));
JacPDstandard2nd11gyy =
- kmadd(dJ111L,PDstandard2nd1gyy,kmadd(dJ211L,PDstandard2nd2gyy,kmadd(dJ311L,PDstandard2nd3gyy,kmadd(PDstandard2nd11gyy,kmul(J11L,J11L),kmadd(PDstandard2nd22gyy,kmul(J21L,J21L),kmadd(PDstandard2nd33gyy,kmul(J31L,J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandard2nd12gyy,kmul(J31L,PDstandard2nd13gyy)),kmul(J21L,kmul(J31L,PDstandard2nd23gyy))),ToReal(2))))))));
+ kmadd(dJ111L,PDstandard2nd1gyy,kmadd(ToReal(2),kmadd(J11L,kmadd(J21L,PDstandard2nd12gyy,kmul(J31L,PDstandard2nd13gyy)),kmul(J21L,kmul(J31L,PDstandard2nd23gyy))),kmadd(dJ211L,PDstandard2nd2gyy,kmadd(dJ311L,PDstandard2nd3gyy,kmadd(PDstandard2nd11gyy,kmul(J11L,J11L),kmadd(PDstandard2nd22gyy,kmul(J21L,J21L),kmul(PDstandard2nd33gyy,kmul(J31L,J31L))))))));
JacPDstandard2nd11gyz =
- kmadd(dJ111L,PDstandard2nd1gyz,kmadd(dJ211L,PDstandard2nd2gyz,kmadd(dJ311L,PDstandard2nd3gyz,kmadd(PDstandard2nd11gyz,kmul(J11L,J11L),kmadd(PDstandard2nd22gyz,kmul(J21L,J21L),kmadd(PDstandard2nd33gyz,kmul(J31L,J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandard2nd12gyz,kmul(J31L,PDstandard2nd13gyz)),kmul(J21L,kmul(J31L,PDstandard2nd23gyz))),ToReal(2))))))));
+ kmadd(dJ111L,PDstandard2nd1gyz,kmadd(ToReal(2),kmadd(J11L,kmadd(J21L,PDstandard2nd12gyz,kmul(J31L,PDstandard2nd13gyz)),kmul(J21L,kmul(J31L,PDstandard2nd23gyz))),kmadd(dJ211L,PDstandard2nd2gyz,kmadd(dJ311L,PDstandard2nd3gyz,kmadd(PDstandard2nd11gyz,kmul(J11L,J11L),kmadd(PDstandard2nd22gyz,kmul(J21L,J21L),kmul(PDstandard2nd33gyz,kmul(J31L,J31L))))))));
JacPDstandard2nd11gzz =
- kmadd(dJ111L,PDstandard2nd1gzz,kmadd(dJ211L,PDstandard2nd2gzz,kmadd(dJ311L,PDstandard2nd3gzz,kmadd(PDstandard2nd11gzz,kmul(J11L,J11L),kmadd(PDstandard2nd22gzz,kmul(J21L,J21L),kmadd(PDstandard2nd33gzz,kmul(J31L,J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandard2nd12gzz,kmul(J31L,PDstandard2nd13gzz)),kmul(J21L,kmul(J31L,PDstandard2nd23gzz))),ToReal(2))))))));
+ kmadd(dJ111L,PDstandard2nd1gzz,kmadd(ToReal(2),kmadd(J11L,kmadd(J21L,PDstandard2nd12gzz,kmul(J31L,PDstandard2nd13gzz)),kmul(J21L,kmul(J31L,PDstandard2nd23gzz))),kmadd(dJ211L,PDstandard2nd2gzz,kmadd(dJ311L,PDstandard2nd3gzz,kmadd(PDstandard2nd11gzz,kmul(J11L,J11L),kmadd(PDstandard2nd22gzz,kmul(J21L,J21L),kmul(PDstandard2nd33gzz,kmul(J31L,J31L))))))));
JacPDstandard2nd22gxx =
- kmadd(dJ122L,PDstandard2nd1gxx,kmadd(dJ222L,PDstandard2nd2gxx,kmadd(dJ322L,PDstandard2nd3gxx,kmadd(PDstandard2nd11gxx,kmul(J12L,J12L),kmadd(PDstandard2nd22gxx,kmul(J22L,J22L),kmadd(PDstandard2nd33gxx,kmul(J32L,J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandard2nd12gxx,kmul(J32L,PDstandard2nd13gxx)),kmul(J22L,kmul(J32L,PDstandard2nd23gxx))),ToReal(2))))))));
+ kmadd(dJ122L,PDstandard2nd1gxx,kmadd(ToReal(2),kmadd(J12L,kmadd(J22L,PDstandard2nd12gxx,kmul(J32L,PDstandard2nd13gxx)),kmul(J22L,kmul(J32L,PDstandard2nd23gxx))),kmadd(dJ222L,PDstandard2nd2gxx,kmadd(dJ322L,PDstandard2nd3gxx,kmadd(PDstandard2nd11gxx,kmul(J12L,J12L),kmadd(PDstandard2nd22gxx,kmul(J22L,J22L),kmul(PDstandard2nd33gxx,kmul(J32L,J32L))))))));
JacPDstandard2nd22gxz =
- kmadd(dJ122L,PDstandard2nd1gxz,kmadd(dJ222L,PDstandard2nd2gxz,kmadd(dJ322L,PDstandard2nd3gxz,kmadd(PDstandard2nd11gxz,kmul(J12L,J12L),kmadd(PDstandard2nd22gxz,kmul(J22L,J22L),kmadd(PDstandard2nd33gxz,kmul(J32L,J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandard2nd12gxz,kmul(J32L,PDstandard2nd13gxz)),kmul(J22L,kmul(J32L,PDstandard2nd23gxz))),ToReal(2))))))));
+ kmadd(dJ122L,PDstandard2nd1gxz,kmadd(ToReal(2),kmadd(J12L,kmadd(J22L,PDstandard2nd12gxz,kmul(J32L,PDstandard2nd13gxz)),kmul(J22L,kmul(J32L,PDstandard2nd23gxz))),kmadd(dJ222L,PDstandard2nd2gxz,kmadd(dJ322L,PDstandard2nd3gxz,kmadd(PDstandard2nd11gxz,kmul(J12L,J12L),kmadd(PDstandard2nd22gxz,kmul(J22L,J22L),kmul(PDstandard2nd33gxz,kmul(J32L,J32L))))))));
JacPDstandard2nd22gzz =
- kmadd(dJ122L,PDstandard2nd1gzz,kmadd(dJ222L,PDstandard2nd2gzz,kmadd(dJ322L,PDstandard2nd3gzz,kmadd(PDstandard2nd11gzz,kmul(J12L,J12L),kmadd(PDstandard2nd22gzz,kmul(J22L,J22L),kmadd(PDstandard2nd33gzz,kmul(J32L,J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandard2nd12gzz,kmul(J32L,PDstandard2nd13gzz)),kmul(J22L,kmul(J32L,PDstandard2nd23gzz))),ToReal(2))))))));
+ kmadd(dJ122L,PDstandard2nd1gzz,kmadd(ToReal(2),kmadd(J12L,kmadd(J22L,PDstandard2nd12gzz,kmul(J32L,PDstandard2nd13gzz)),kmul(J22L,kmul(J32L,PDstandard2nd23gzz))),kmadd(dJ222L,PDstandard2nd2gzz,kmadd(dJ322L,PDstandard2nd3gzz,kmadd(PDstandard2nd11gzz,kmul(J12L,J12L),kmadd(PDstandard2nd22gzz,kmul(J22L,J22L),kmul(PDstandard2nd33gzz,kmul(J32L,J32L))))))));
JacPDstandard2nd33gxx =
- kmadd(dJ133L,PDstandard2nd1gxx,kmadd(dJ233L,PDstandard2nd2gxx,kmadd(dJ333L,PDstandard2nd3gxx,kmadd(PDstandard2nd11gxx,kmul(J13L,J13L),kmadd(PDstandard2nd22gxx,kmul(J23L,J23L),kmadd(PDstandard2nd33gxx,kmul(J33L,J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandard2nd12gxx,kmul(J33L,PDstandard2nd13gxx)),kmul(J23L,kmul(J33L,PDstandard2nd23gxx))),ToReal(2))))))));
+ kmadd(dJ133L,PDstandard2nd1gxx,kmadd(ToReal(2),kmadd(J13L,kmadd(J23L,PDstandard2nd12gxx,kmul(J33L,PDstandard2nd13gxx)),kmul(J23L,kmul(J33L,PDstandard2nd23gxx))),kmadd(dJ233L,PDstandard2nd2gxx,kmadd(dJ333L,PDstandard2nd3gxx,kmadd(PDstandard2nd11gxx,kmul(J13L,J13L),kmadd(PDstandard2nd22gxx,kmul(J23L,J23L),kmul(PDstandard2nd33gxx,kmul(J33L,J33L))))))));
JacPDstandard2nd33gxy =
- kmadd(dJ133L,PDstandard2nd1gxy,kmadd(dJ233L,PDstandard2nd2gxy,kmadd(dJ333L,PDstandard2nd3gxy,kmadd(PDstandard2nd11gxy,kmul(J13L,J13L),kmadd(PDstandard2nd22gxy,kmul(J23L,J23L),kmadd(PDstandard2nd33gxy,kmul(J33L,J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandard2nd12gxy,kmul(J33L,PDstandard2nd13gxy)),kmul(J23L,kmul(J33L,PDstandard2nd23gxy))),ToReal(2))))))));
+ kmadd(dJ133L,PDstandard2nd1gxy,kmadd(ToReal(2),kmadd(J13L,kmadd(J23L,PDstandard2nd12gxy,kmul(J33L,PDstandard2nd13gxy)),kmul(J23L,kmul(J33L,PDstandard2nd23gxy))),kmadd(dJ233L,PDstandard2nd2gxy,kmadd(dJ333L,PDstandard2nd3gxy,kmadd(PDstandard2nd11gxy,kmul(J13L,J13L),kmadd(PDstandard2nd22gxy,kmul(J23L,J23L),kmul(PDstandard2nd33gxy,kmul(J33L,J33L))))))));
JacPDstandard2nd33gyy =
- kmadd(dJ133L,PDstandard2nd1gyy,kmadd(dJ233L,PDstandard2nd2gyy,kmadd(dJ333L,PDstandard2nd3gyy,kmadd(PDstandard2nd11gyy,kmul(J13L,J13L),kmadd(PDstandard2nd22gyy,kmul(J23L,J23L),kmadd(PDstandard2nd33gyy,kmul(J33L,J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandard2nd12gyy,kmul(J33L,PDstandard2nd13gyy)),kmul(J23L,kmul(J33L,PDstandard2nd23gyy))),ToReal(2))))))));
+ kmadd(dJ133L,PDstandard2nd1gyy,kmadd(ToReal(2),kmadd(J13L,kmadd(J23L,PDstandard2nd12gyy,kmul(J33L,PDstandard2nd13gyy)),kmul(J23L,kmul(J33L,PDstandard2nd23gyy))),kmadd(dJ233L,PDstandard2nd2gyy,kmadd(dJ333L,PDstandard2nd3gyy,kmadd(PDstandard2nd11gyy,kmul(J13L,J13L),kmadd(PDstandard2nd22gyy,kmul(J23L,J23L),kmul(PDstandard2nd33gyy,kmul(J33L,J33L))))))));
JacPDstandard2nd12gxy =
kmadd(J12L,kmadd(J11L,PDstandard2nd11gxy,kmadd(J21L,PDstandard2nd12gxy,kmul(J31L,PDstandard2nd13gxy))),kmadd(J11L,kmadd(J22L,PDstandard2nd12gxy,kmul(J32L,PDstandard2nd13gxy)),kmadd(dJ112L,PDstandard2nd1gxy,kmadd(J22L,kmadd(J21L,PDstandard2nd22gxy,kmul(J31L,PDstandard2nd23gxy)),kmadd(dJ212L,PDstandard2nd2gxy,kmadd(J32L,kmadd(J21L,PDstandard2nd23gxy,kmul(J31L,PDstandard2nd33gxy)),kmul(dJ312L,PDstandard2nd3gxy)))))));
@@ -981,7 +993,7 @@ static void WeylScal4_psi4_calc_2nd_Body(const cGH* restrict const cctkGH, const
}
CCTK_REAL_VEC detg CCTK_ATTRIBUTE_UNUSED =
- knmsub(gyyL,kmul(gxzL,gxzL),knmsub(gxxL,kmul(gyzL,gyzL),kmadd(gzzL,kmsub(gxxL,gyyL,kmul(gxyL,gxyL)),kmul(gxyL,kmul(gxzL,kmul(gyzL,ToReal(2)))))));
+ kmadd(ToReal(2),kmul(gxyL,kmul(gxzL,gyzL)),knmsub(gzzL,kmul(gxyL,gxyL),kmsub(gyyL,kmsub(gxxL,gzzL,kmul(gxzL,gxzL)),kmul(gxxL,kmul(gyzL,gyzL)))));
CCTK_REAL_VEC invdetg CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),detg);
@@ -1013,13 +1025,13 @@ static void WeylScal4_psi4_calc_2nd_Body(const cGH* restrict const cctkGH, const
kmul(invdetg,kmsub(gxxL,gyyL,kmul(gxyL,gxyL)));
CCTK_REAL_VEC gamma111 CCTK_ATTRIBUTE_UNUSED =
- kmul(ToReal(0.5),kmadd(gInv11,JacPDstandard2nd1gxx,knmsub(gInv12,JacPDstandard2nd2gxx,kmsub(kmadd(gInv12,JacPDstandard2nd1gxy,kmul(gInv13,JacPDstandard2nd1gxz)),ToReal(2),kmul(gInv13,JacPDstandard2nd3gxx)))));
+ kmul(kmadd(gInv11,JacPDstandard2nd1gxx,kmsub(ToReal(2),kmadd(gInv12,JacPDstandard2nd1gxy,kmul(gInv13,JacPDstandard2nd1gxz)),kmadd(gInv13,JacPDstandard2nd3gxx,kmul(gInv12,JacPDstandard2nd2gxx)))),ToReal(0.5));
CCTK_REAL_VEC gamma211 CCTK_ATTRIBUTE_UNUSED =
- kmul(ToReal(0.5),kmadd(gInv21,JacPDstandard2nd1gxx,knmsub(gInv22,JacPDstandard2nd2gxx,kmsub(kmadd(gInv22,JacPDstandard2nd1gxy,kmul(gInv23,JacPDstandard2nd1gxz)),ToReal(2),kmul(gInv23,JacPDstandard2nd3gxx)))));
+ kmul(kmadd(gInv21,JacPDstandard2nd1gxx,kmsub(ToReal(2),kmadd(gInv22,JacPDstandard2nd1gxy,kmul(gInv23,JacPDstandard2nd1gxz)),kmadd(gInv23,JacPDstandard2nd3gxx,kmul(gInv22,JacPDstandard2nd2gxx)))),ToReal(0.5));
CCTK_REAL_VEC gamma311 CCTK_ATTRIBUTE_UNUSED =
- kmul(ToReal(0.5),kmadd(gInv31,JacPDstandard2nd1gxx,knmsub(gInv32,JacPDstandard2nd2gxx,kmsub(kmadd(gInv32,JacPDstandard2nd1gxy,kmul(gInv33,JacPDstandard2nd1gxz)),ToReal(2),kmul(gInv33,JacPDstandard2nd3gxx)))));
+ kmul(kmadd(gInv31,JacPDstandard2nd1gxx,kmsub(ToReal(2),kmadd(gInv32,JacPDstandard2nd1gxy,kmul(gInv33,JacPDstandard2nd1gxz)),kmadd(gInv33,JacPDstandard2nd3gxx,kmul(gInv32,JacPDstandard2nd2gxx)))),ToReal(0.5));
CCTK_REAL_VEC gamma121 CCTK_ATTRIBUTE_UNUSED =
kmul(kmadd(gInv12,JacPDstandard2nd1gyy,kmadd(gInv11,JacPDstandard2nd2gxx,kmul(gInv13,kadd(JacPDstandard2nd1gyz,ksub(JacPDstandard2nd2gxz,JacPDstandard2nd3gxy))))),ToReal(0.5));
@@ -1040,31 +1052,31 @@ static void WeylScal4_psi4_calc_2nd_Body(const cGH* restrict const cctkGH, const
kmul(kmadd(gInv33,JacPDstandard2nd1gzz,kmadd(gInv31,JacPDstandard2nd3gxx,kmul(gInv32,kadd(JacPDstandard2nd1gyz,ksub(JacPDstandard2nd3gxy,JacPDstandard2nd2gxz))))),ToReal(0.5));
CCTK_REAL_VEC gamma122 CCTK_ATTRIBUTE_UNUSED =
- kmul(ToReal(0.5),kmadd(gInv12,JacPDstandard2nd2gyy,kmadd(gInv11,kmsub(JacPDstandard2nd2gxy,ToReal(2),JacPDstandard2nd1gyy),kmul(gInv13,kmsub(JacPDstandard2nd2gyz,ToReal(2),JacPDstandard2nd3gyy)))));
+ kmul(kmadd(gInv11,kmsub(ToReal(2),JacPDstandard2nd2gxy,JacPDstandard2nd1gyy),kmadd(gInv12,JacPDstandard2nd2gyy,kmul(gInv13,kmsub(ToReal(2),JacPDstandard2nd2gyz,JacPDstandard2nd3gyy)))),ToReal(0.5));
CCTK_REAL_VEC gamma222 CCTK_ATTRIBUTE_UNUSED =
- kmul(ToReal(0.5),kmadd(gInv22,JacPDstandard2nd2gyy,kmadd(gInv21,kmsub(JacPDstandard2nd2gxy,ToReal(2),JacPDstandard2nd1gyy),kmul(gInv23,kmsub(JacPDstandard2nd2gyz,ToReal(2),JacPDstandard2nd3gyy)))));
+ kmul(kmadd(gInv21,kmsub(ToReal(2),JacPDstandard2nd2gxy,JacPDstandard2nd1gyy),kmadd(gInv22,JacPDstandard2nd2gyy,kmul(gInv23,kmsub(ToReal(2),JacPDstandard2nd2gyz,JacPDstandard2nd3gyy)))),ToReal(0.5));
CCTK_REAL_VEC gamma322 CCTK_ATTRIBUTE_UNUSED =
- kmul(ToReal(0.5),kmadd(gInv32,JacPDstandard2nd2gyy,kmadd(gInv31,kmsub(JacPDstandard2nd2gxy,ToReal(2),JacPDstandard2nd1gyy),kmul(gInv33,kmsub(JacPDstandard2nd2gyz,ToReal(2),JacPDstandard2nd3gyy)))));
+ kmul(kmadd(gInv31,kmsub(ToReal(2),JacPDstandard2nd2gxy,JacPDstandard2nd1gyy),kmadd(gInv32,JacPDstandard2nd2gyy,kmul(gInv33,kmsub(ToReal(2),JacPDstandard2nd2gyz,JacPDstandard2nd3gyy)))),ToReal(0.5));
CCTK_REAL_VEC gamma132 CCTK_ATTRIBUTE_UNUSED =
- kmul(kmadd(gInv13,JacPDstandard2nd2gzz,kmadd(gInv12,JacPDstandard2nd3gyy,kmul(gInv11,kadd(JacPDstandard2nd2gxz,ksub(JacPDstandard2nd3gxy,JacPDstandard2nd1gyz))))),ToReal(0.5));
+ kmul(kmadd(gInv13,JacPDstandard2nd2gzz,kmadd(gInv11,ksub(kadd(JacPDstandard2nd2gxz,JacPDstandard2nd3gxy),JacPDstandard2nd1gyz),kmul(gInv12,JacPDstandard2nd3gyy))),ToReal(0.5));
CCTK_REAL_VEC gamma232 CCTK_ATTRIBUTE_UNUSED =
- kmul(kmadd(gInv23,JacPDstandard2nd2gzz,kmadd(gInv22,JacPDstandard2nd3gyy,kmul(gInv21,kadd(JacPDstandard2nd2gxz,ksub(JacPDstandard2nd3gxy,JacPDstandard2nd1gyz))))),ToReal(0.5));
+ kmul(kmadd(gInv23,JacPDstandard2nd2gzz,kmadd(gInv21,ksub(kadd(JacPDstandard2nd2gxz,JacPDstandard2nd3gxy),JacPDstandard2nd1gyz),kmul(gInv22,JacPDstandard2nd3gyy))),ToReal(0.5));
CCTK_REAL_VEC gamma332 CCTK_ATTRIBUTE_UNUSED =
- kmul(kmadd(gInv33,JacPDstandard2nd2gzz,kmadd(gInv32,JacPDstandard2nd3gyy,kmul(gInv31,kadd(JacPDstandard2nd2gxz,ksub(JacPDstandard2nd3gxy,JacPDstandard2nd1gyz))))),ToReal(0.5));
+ kmul(kmadd(gInv33,JacPDstandard2nd2gzz,kmadd(gInv31,ksub(kadd(JacPDstandard2nd2gxz,JacPDstandard2nd3gxy),JacPDstandard2nd1gyz),kmul(gInv32,JacPDstandard2nd3gyy))),ToReal(0.5));
CCTK_REAL_VEC gamma133 CCTK_ATTRIBUTE_UNUSED =
- kmul(ToReal(0.5),kmadd(gInv13,JacPDstandard2nd3gzz,kmadd(gInv11,kmsub(JacPDstandard2nd3gxz,ToReal(2),JacPDstandard2nd1gzz),kmul(gInv12,kmsub(JacPDstandard2nd3gyz,ToReal(2),JacPDstandard2nd2gzz)))));
+ kmul(kmadd(gInv11,kmsub(ToReal(2),JacPDstandard2nd3gxz,JacPDstandard2nd1gzz),kmadd(gInv12,kmsub(ToReal(2),JacPDstandard2nd3gyz,JacPDstandard2nd2gzz),kmul(gInv13,JacPDstandard2nd3gzz))),ToReal(0.5));
CCTK_REAL_VEC gamma233 CCTK_ATTRIBUTE_UNUSED =
- kmul(ToReal(0.5),kmadd(gInv23,JacPDstandard2nd3gzz,kmadd(gInv21,kmsub(JacPDstandard2nd3gxz,ToReal(2),JacPDstandard2nd1gzz),kmul(gInv22,kmsub(JacPDstandard2nd3gyz,ToReal(2),JacPDstandard2nd2gzz)))));
+ kmul(kmadd(gInv21,kmsub(ToReal(2),JacPDstandard2nd3gxz,JacPDstandard2nd1gzz),kmadd(gInv22,kmsub(ToReal(2),JacPDstandard2nd3gyz,JacPDstandard2nd2gzz),kmul(gInv23,JacPDstandard2nd3gzz))),ToReal(0.5));
CCTK_REAL_VEC gamma333 CCTK_ATTRIBUTE_UNUSED =
- kmul(ToReal(0.5),kmadd(gInv33,JacPDstandard2nd3gzz,kmadd(gInv31,kmsub(JacPDstandard2nd3gxz,ToReal(2),JacPDstandard2nd1gzz),kmul(gInv32,kmsub(JacPDstandard2nd3gyz,ToReal(2),JacPDstandard2nd2gzz)))));
+ kmul(kmadd(gInv31,kmsub(ToReal(2),JacPDstandard2nd3gxz,JacPDstandard2nd1gzz),kmadd(gInv32,kmsub(ToReal(2),JacPDstandard2nd3gyz,JacPDstandard2nd2gzz),kmul(gInv33,JacPDstandard2nd3gzz))),ToReal(0.5));
CCTK_REAL_VEC xmoved CCTK_ATTRIBUTE_UNUSED = ksub(xL,ToReal(xorig));
@@ -1085,13 +1097,13 @@ static void WeylScal4_psi4_calc_2nd_Body(const cGH* restrict const cctkGH, const
CCTK_REAL_VEC vb3 CCTK_ATTRIBUTE_UNUSED = zmoved;
CCTK_REAL_VEC vc1 CCTK_ATTRIBUTE_UNUSED =
- kmul(ksqrt(detg),kmadd(vb3,kmsub(gInv11,va2,kmul(gInv12,va1)),kmadd(vb1,kmsub(gInv12,va3,kmul(gInv13,va2)),kmul(vb2,kmsub(gInv13,va1,kmul(gInv11,va3))))));
+ kmul(kmadd(kmsub(gInv12,va3,kmul(gInv13,va2)),vb1,kmadd(kmsub(gInv13,va1,kmul(gInv11,va3)),vb2,kmul(vb3,kmsub(gInv11,va2,kmul(gInv12,va1))))),kpow(detg,0.5));
CCTK_REAL_VEC vc2 CCTK_ATTRIBUTE_UNUSED =
- kmul(ksqrt(detg),kmadd(vb3,kmsub(gInv21,va2,kmul(gInv22,va1)),kmadd(vb1,kmsub(gInv22,va3,kmul(gInv23,va2)),kmul(vb2,kmsub(gInv23,va1,kmul(gInv21,va3))))));
+ kmul(kmadd(kmsub(gInv22,va3,kmul(gInv23,va2)),vb1,kmadd(kmsub(gInv23,va1,kmul(gInv21,va3)),vb2,kmul(vb3,kmsub(gInv21,va2,kmul(gInv22,va1))))),kpow(detg,0.5));
CCTK_REAL_VEC vc3 CCTK_ATTRIBUTE_UNUSED =
- kmul(ksqrt(detg),kmadd(vb3,kmsub(gInv31,va2,kmul(gInv32,va1)),kmadd(vb1,kmsub(gInv32,va3,kmul(gInv33,va2)),kmul(vb2,kmsub(gInv33,va1,kmul(gInv31,va3))))));
+ kmul(kmadd(kmsub(gInv32,va3,kmul(gInv33,va2)),vb1,kmadd(kmsub(gInv33,va1,kmul(gInv31,va3)),vb2,kmul(vb3,kmsub(gInv31,va2,kmul(gInv32,va1))))),kpow(detg,0.5));
CCTK_REAL_VEC wa1 CCTK_ATTRIBUTE_UNUSED = va1;
@@ -1100,13 +1112,16 @@ static void WeylScal4_psi4_calc_2nd_Body(const cGH* restrict const cctkGH, const
CCTK_REAL_VEC wa3 CCTK_ATTRIBUTE_UNUSED = va3;
CCTK_REAL_VEC omega11 CCTK_ATTRIBUTE_UNUSED =
- kmadd(gxxL,kmul(wa1,wa1),kmadd(gyyL,kmul(wa2,wa2),kmadd(gzzL,kmul(wa3,wa3),kmul(kmadd(gyzL,kmul(wa2,wa3),kmul(wa1,kmadd(gxyL,wa2,kmul(gxzL,wa3)))),ToReal(2)))));
+ kmadd(ToReal(2),kmadd(gyzL,kmul(wa2,wa3),kmul(wa1,kmadd(gxyL,wa2,kmul(gxzL,wa3)))),kmadd(gxxL,kmul(wa1,wa1),kmadd(gyyL,kmul(wa2,wa2),kmul(gzzL,kmul(wa3,wa3)))));
- CCTK_REAL_VEC ea1 CCTK_ATTRIBUTE_UNUSED = kdiv(wa1,ksqrt(omega11));
+ CCTK_REAL_VEC ea1 CCTK_ATTRIBUTE_UNUSED =
+ kmul(wa1,kpow(omega11,-0.5));
- CCTK_REAL_VEC ea2 CCTK_ATTRIBUTE_UNUSED = kdiv(wa2,ksqrt(omega11));
+ CCTK_REAL_VEC ea2 CCTK_ATTRIBUTE_UNUSED =
+ kmul(wa2,kpow(omega11,-0.5));
- CCTK_REAL_VEC ea3 CCTK_ATTRIBUTE_UNUSED = kdiv(wa3,ksqrt(omega11));
+ CCTK_REAL_VEC ea3 CCTK_ATTRIBUTE_UNUSED =
+ kmul(wa3,kpow(omega11,-0.5));
CCTK_REAL_VEC omega12 CCTK_ATTRIBUTE_UNUSED =
kmadd(ea1,kmadd(gxxL,vb1,kmadd(gxyL,vb2,kmul(gxzL,vb3))),kmadd(ea2,kmadd(gxyL,vb1,kmadd(gyyL,vb2,kmul(gyzL,vb3))),kmul(ea3,kmadd(gxzL,vb1,kmadd(gyzL,vb2,kmul(gzzL,vb3))))));
@@ -1118,13 +1133,16 @@ static void WeylScal4_psi4_calc_2nd_Body(const cGH* restrict const cctkGH, const
CCTK_REAL_VEC wb3 CCTK_ATTRIBUTE_UNUSED = knmsub(ea3,omega12,vb3);
CCTK_REAL_VEC omega22 CCTK_ATTRIBUTE_UNUSED =
- kmadd(gxxL,kmul(wb1,wb1),kmadd(gyyL,kmul(wb2,wb2),kmadd(gzzL,kmul(wb3,wb3),kmul(kmadd(gyzL,kmul(wb2,wb3),kmul(wb1,kmadd(gxyL,wb2,kmul(gxzL,wb3)))),ToReal(2)))));
+ kmadd(ToReal(2),kmadd(gyzL,kmul(wb2,wb3),kmul(wb1,kmadd(gxyL,wb2,kmul(gxzL,wb3)))),kmadd(gxxL,kmul(wb1,wb1),kmadd(gyyL,kmul(wb2,wb2),kmul(gzzL,kmul(wb3,wb3)))));
- CCTK_REAL_VEC eb1 CCTK_ATTRIBUTE_UNUSED = kdiv(wb1,ksqrt(omega22));
+ CCTK_REAL_VEC eb1 CCTK_ATTRIBUTE_UNUSED =
+ kmul(wb1,kpow(omega22,-0.5));
- CCTK_REAL_VEC eb2 CCTK_ATTRIBUTE_UNUSED = kdiv(wb2,ksqrt(omega22));
+ CCTK_REAL_VEC eb2 CCTK_ATTRIBUTE_UNUSED =
+ kmul(wb2,kpow(omega22,-0.5));
- CCTK_REAL_VEC eb3 CCTK_ATTRIBUTE_UNUSED = kdiv(wb3,ksqrt(omega22));
+ CCTK_REAL_VEC eb3 CCTK_ATTRIBUTE_UNUSED =
+ kmul(wb3,kpow(omega22,-0.5));
CCTK_REAL_VEC omega13 CCTK_ATTRIBUTE_UNUSED =
kmadd(ea1,kmadd(gxxL,vc1,kmadd(gxyL,vc2,kmul(gxzL,vc3))),kmadd(ea2,kmadd(gxyL,vc1,kmadd(gyyL,vc2,kmul(gyzL,vc3))),kmul(ea3,kmadd(gxzL,vc1,kmadd(gyzL,vc2,kmul(gzzL,vc3))))));
@@ -1133,22 +1151,25 @@ static void WeylScal4_psi4_calc_2nd_Body(const cGH* restrict const cctkGH, const
kmadd(eb1,kmadd(gxxL,vc1,kmadd(gxyL,vc2,kmul(gxzL,vc3))),kmadd(eb2,kmadd(gxyL,vc1,kmadd(gyyL,vc2,kmul(gyzL,vc3))),kmul(eb3,kmadd(gxzL,vc1,kmadd(gyzL,vc2,kmul(gzzL,vc3))))));
CCTK_REAL_VEC wc1 CCTK_ATTRIBUTE_UNUSED =
- ksub(vc1,kmadd(eb1,omega23,kmul(ea1,omega13)));
+ knmsub(ea1,omega13,knmsub(eb1,omega23,vc1));
CCTK_REAL_VEC wc2 CCTK_ATTRIBUTE_UNUSED =
- ksub(vc2,kmadd(eb2,omega23,kmul(ea2,omega13)));
+ knmsub(ea2,omega13,knmsub(eb2,omega23,vc2));
CCTK_REAL_VEC wc3 CCTK_ATTRIBUTE_UNUSED =
- ksub(vc3,kmadd(eb3,omega23,kmul(ea3,omega13)));
+ knmsub(ea3,omega13,knmsub(eb3,omega23,vc3));
CCTK_REAL_VEC omega33 CCTK_ATTRIBUTE_UNUSED =
- kmadd(gxxL,kmul(wc1,wc1),kmadd(gyyL,kmul(wc2,wc2),kmadd(gzzL,kmul(wc3,wc3),kmul(kmadd(gyzL,kmul(wc2,wc3),kmul(wc1,kmadd(gxyL,wc2,kmul(gxzL,wc3)))),ToReal(2)))));
+ kmadd(ToReal(2),kmadd(gyzL,kmul(wc2,wc3),kmul(wc1,kmadd(gxyL,wc2,kmul(gxzL,wc3)))),kmadd(gxxL,kmul(wc1,wc1),kmadd(gyyL,kmul(wc2,wc2),kmul(gzzL,kmul(wc3,wc3)))));
- CCTK_REAL_VEC ec1 CCTK_ATTRIBUTE_UNUSED = kdiv(wc1,ksqrt(omega33));
+ CCTK_REAL_VEC ec1 CCTK_ATTRIBUTE_UNUSED =
+ kmul(wc1,kpow(omega33,-0.5));
- CCTK_REAL_VEC ec2 CCTK_ATTRIBUTE_UNUSED = kdiv(wc2,ksqrt(omega33));
+ CCTK_REAL_VEC ec2 CCTK_ATTRIBUTE_UNUSED =
+ kmul(wc2,kpow(omega33,-0.5));
- CCTK_REAL_VEC ec3 CCTK_ATTRIBUTE_UNUSED = kdiv(wc3,ksqrt(omega33));
+ CCTK_REAL_VEC ec3 CCTK_ATTRIBUTE_UNUSED =
+ kmul(wc3,kpow(omega33,-0.5));
CCTK_REAL_VEC isqrt2 CCTK_ATTRIBUTE_UNUSED =
ToReal(0.707106781186547524);
@@ -1186,37 +1207,37 @@ static void WeylScal4_psi4_calc_2nd_Body(const cGH* restrict const cctkGH, const
CCTK_REAL_VEC nn CCTK_ATTRIBUTE_UNUSED = isqrt2;
CCTK_REAL_VEC R1212 CCTK_ATTRIBUTE_UNUSED =
- kmul(ToReal(0.5),kadd(JacPDstandard2nd12gxy,kadd(JacPDstandard2nd21gxy,kmadd(kmadd(gamma122,kmadd(gxxL,gamma111,kmadd(gxyL,gamma211,kmul(gxzL,gamma311))),kmadd(gamma222,kmadd(gxyL,gamma111,kmadd(gyyL,gamma211,kmul(gyzL,gamma311))),kmul(kmadd(gxzL,gamma111,kmadd(gyzL,gamma211,kmul(gzzL,gamma311))),gamma322))),ToReal(-2),ksub(kmsub(kmadd(gamma121,kmadd(gxxL,gamma121,kmadd(gxyL,gamma221,kmul(gxzL,gamma321))),kmadd(gamma221,kmadd(gxyL,gamma121,kmadd(gyyL,gamma221,kmul(gyzL,gamma321))),kmul(gamma321,kmadd(gxzL,gamma121,kmadd(gyzL,gamma221,kmul(gzzL,gamma321)))))),ToReal(2),JacPDstandard2nd22gxx),JacPDstandard2nd11gyy)))));
+ kmul(kmadd(ToReal(2),kmadd(gamma121,kmadd(gxxL,gamma121,kmadd(gxyL,gamma221,kmul(gxzL,gamma321))),kmadd(gamma221,kmadd(gxyL,gamma121,kmadd(gyyL,gamma221,kmul(gyzL,gamma321))),kmul(gamma321,kmadd(gxzL,gamma121,kmadd(gyzL,gamma221,kmul(gzzL,gamma321)))))),kmadd(ToReal(-2),kmadd(gamma122,kmadd(gxxL,gamma111,kmadd(gxyL,gamma211,kmul(gxzL,gamma311))),kmadd(gamma222,kmadd(gxyL,gamma111,kmadd(gyyL,gamma211,kmul(gyzL,gamma311))),kmul(kmadd(gxzL,gamma111,kmadd(gyzL,gamma211,kmul(gzzL,gamma311))),gamma322))),ksub(kadd(JacPDstandard2nd12gxy,ksub(JacPDstandard2nd21gxy,JacPDstandard2nd22gxx)),JacPDstandard2nd11gyy))),ToReal(0.5));
CCTK_REAL_VEC R1213 CCTK_ATTRIBUTE_UNUSED =
- kmul(ToReal(0.5),kadd(JacPDstandard2nd12gxz,kadd(JacPDstandard2nd31gxy,kmadd(kmadd(gamma132,kmadd(gxxL,gamma111,kmadd(gxyL,gamma211,kmul(gxzL,gamma311))),kmadd(gamma232,kmadd(gxyL,gamma111,kmadd(gyyL,gamma211,kmul(gyzL,gamma311))),kmul(kmadd(gxzL,gamma111,kmadd(gyzL,gamma211,kmul(gzzL,gamma311))),gamma332))),ToReal(-2),ksub(kmsub(kmadd(gamma121,kmadd(gxxL,gamma131,kmadd(gxyL,gamma231,kmul(gxzL,gamma331))),kmadd(gamma221,kmadd(gxyL,gamma131,kmadd(gyyL,gamma231,kmul(gyzL,gamma331))),kmul(gamma321,kmadd(gxzL,gamma131,kmadd(gyzL,gamma231,kmul(gzzL,gamma331)))))),ToReal(2),JacPDstandard2nd23gxx),JacPDstandard2nd11gyz)))));
+ kmul(kmadd(ToReal(2),kmadd(gamma121,kmadd(gxxL,gamma131,kmadd(gxyL,gamma231,kmul(gxzL,gamma331))),kmadd(gamma221,kmadd(gxyL,gamma131,kmadd(gyyL,gamma231,kmul(gyzL,gamma331))),kmul(gamma321,kmadd(gxzL,gamma131,kmadd(gyzL,gamma231,kmul(gzzL,gamma331)))))),kmadd(ToReal(-2),kmadd(gamma132,kmadd(gxxL,gamma111,kmadd(gxyL,gamma211,kmul(gxzL,gamma311))),kmadd(gamma232,kmadd(gxyL,gamma111,kmadd(gyyL,gamma211,kmul(gyzL,gamma311))),kmul(kmadd(gxzL,gamma111,kmadd(gyzL,gamma211,kmul(gzzL,gamma311))),gamma332))),ksub(kadd(JacPDstandard2nd12gxz,ksub(JacPDstandard2nd31gxy,JacPDstandard2nd23gxx)),JacPDstandard2nd11gyz))),ToReal(0.5));
CCTK_REAL_VEC R1223 CCTK_ATTRIBUTE_UNUSED =
- kmul(ToReal(0.5),kadd(JacPDstandard2nd22gxz,kadd(JacPDstandard2nd31gyy,kmadd(kmadd(gamma132,kmadd(gxxL,gamma121,kmadd(gxyL,gamma221,kmul(gxzL,gamma321))),kmadd(gamma232,kmadd(gxyL,gamma121,kmadd(gyyL,gamma221,kmul(gyzL,gamma321))),kmul(kmadd(gxzL,gamma121,kmadd(gyzL,gamma221,kmul(gzzL,gamma321))),gamma332))),ToReal(-2),ksub(kmsub(kmadd(gamma122,kmadd(gxxL,gamma131,kmadd(gxyL,gamma231,kmul(gxzL,gamma331))),kmadd(gamma222,kmadd(gxyL,gamma131,kmadd(gyyL,gamma231,kmul(gyzL,gamma331))),kmul(gamma322,kmadd(gxzL,gamma131,kmadd(gyzL,gamma231,kmul(gzzL,gamma331)))))),ToReal(2),JacPDstandard2nd23gxy),JacPDstandard2nd12gyz)))));
+ kmul(kmadd(ToReal(2),kmadd(gamma122,kmadd(gxxL,gamma131,kmadd(gxyL,gamma231,kmul(gxzL,gamma331))),kmadd(gamma222,kmadd(gxyL,gamma131,kmadd(gyyL,gamma231,kmul(gyzL,gamma331))),kmul(gamma322,kmadd(gxzL,gamma131,kmadd(gyzL,gamma231,kmul(gzzL,gamma331)))))),kmadd(ToReal(-2),kmadd(gamma132,kmadd(gxxL,gamma121,kmadd(gxyL,gamma221,kmul(gxzL,gamma321))),kmadd(gamma232,kmadd(gxyL,gamma121,kmadd(gyyL,gamma221,kmul(gyzL,gamma321))),kmul(kmadd(gxzL,gamma121,kmadd(gyzL,gamma221,kmul(gzzL,gamma321))),gamma332))),ksub(kadd(JacPDstandard2nd22gxz,ksub(JacPDstandard2nd31gyy,JacPDstandard2nd23gxy)),JacPDstandard2nd12gyz))),ToReal(0.5));
CCTK_REAL_VEC R1313 CCTK_ATTRIBUTE_UNUSED =
- kmul(ToReal(0.5),kadd(JacPDstandard2nd13gxz,kadd(JacPDstandard2nd31gxz,kmadd(kmadd(gamma133,kmadd(gxxL,gamma111,kmadd(gxyL,gamma211,kmul(gxzL,gamma311))),kmadd(gamma233,kmadd(gxyL,gamma111,kmadd(gyyL,gamma211,kmul(gyzL,gamma311))),kmul(kmadd(gxzL,gamma111,kmadd(gyzL,gamma211,kmul(gzzL,gamma311))),gamma333))),ToReal(-2),ksub(kmsub(kmadd(gamma131,kmadd(gxxL,gamma131,kmadd(gxyL,gamma231,kmul(gxzL,gamma331))),kmadd(gamma231,kmadd(gxyL,gamma131,kmadd(gyyL,gamma231,kmul(gyzL,gamma331))),kmul(gamma331,kmadd(gxzL,gamma131,kmadd(gyzL,gamma231,kmul(gzzL,gamma331)))))),ToReal(2),JacPDstandard2nd33gxx),JacPDstandard2nd11gzz)))));
+ kmul(kmadd(ToReal(2),kmadd(gamma131,kmadd(gxxL,gamma131,kmadd(gxyL,gamma231,kmul(gxzL,gamma331))),kmadd(gamma231,kmadd(gxyL,gamma131,kmadd(gyyL,gamma231,kmul(gyzL,gamma331))),kmul(gamma331,kmadd(gxzL,gamma131,kmadd(gyzL,gamma231,kmul(gzzL,gamma331)))))),kmadd(ToReal(-2),kmadd(gamma133,kmadd(gxxL,gamma111,kmadd(gxyL,gamma211,kmul(gxzL,gamma311))),kmadd(gamma233,kmadd(gxyL,gamma111,kmadd(gyyL,gamma211,kmul(gyzL,gamma311))),kmul(kmadd(gxzL,gamma111,kmadd(gyzL,gamma211,kmul(gzzL,gamma311))),gamma333))),ksub(kadd(JacPDstandard2nd13gxz,ksub(JacPDstandard2nd31gxz,JacPDstandard2nd33gxx)),JacPDstandard2nd11gzz))),ToReal(0.5));
CCTK_REAL_VEC R1323 CCTK_ATTRIBUTE_UNUSED =
- kmul(ToReal(0.5),kadd(JacPDstandard2nd23gxz,kadd(JacPDstandard2nd31gyz,kmadd(kmadd(gamma133,kmadd(gxxL,gamma121,kmadd(gxyL,gamma221,kmul(gxzL,gamma321))),kmadd(gamma233,kmadd(gxyL,gamma121,kmadd(gyyL,gamma221,kmul(gyzL,gamma321))),kmul(kmadd(gxzL,gamma121,kmadd(gyzL,gamma221,kmul(gzzL,gamma321))),gamma333))),ToReal(-2),ksub(kmsub(kmadd(gamma132,kmadd(gxxL,gamma131,kmadd(gxyL,gamma231,kmul(gxzL,gamma331))),kmadd(gamma232,kmadd(gxyL,gamma131,kmadd(gyyL,gamma231,kmul(gyzL,gamma331))),kmul(kmadd(gxzL,gamma131,kmadd(gyzL,gamma231,kmul(gzzL,gamma331))),gamma332))),ToReal(2),JacPDstandard2nd33gxy),JacPDstandard2nd12gzz)))));
+ kmul(kmadd(ToReal(2),kmadd(gamma132,kmadd(gxxL,gamma131,kmadd(gxyL,gamma231,kmul(gxzL,gamma331))),kmadd(gamma232,kmadd(gxyL,gamma131,kmadd(gyyL,gamma231,kmul(gyzL,gamma331))),kmul(kmadd(gxzL,gamma131,kmadd(gyzL,gamma231,kmul(gzzL,gamma331))),gamma332))),kmadd(ToReal(-2),kmadd(gamma133,kmadd(gxxL,gamma121,kmadd(gxyL,gamma221,kmul(gxzL,gamma321))),kmadd(gamma233,kmadd(gxyL,gamma121,kmadd(gyyL,gamma221,kmul(gyzL,gamma321))),kmul(kmadd(gxzL,gamma121,kmadd(gyzL,gamma221,kmul(gzzL,gamma321))),gamma333))),ksub(kadd(JacPDstandard2nd23gxz,ksub(JacPDstandard2nd31gyz,JacPDstandard2nd33gxy)),JacPDstandard2nd12gzz))),ToReal(0.5));
CCTK_REAL_VEC R2323 CCTK_ATTRIBUTE_UNUSED =
- kmul(ToReal(0.5),kadd(JacPDstandard2nd23gyz,kadd(JacPDstandard2nd32gyz,kmadd(kmadd(gamma133,kmadd(gxxL,gamma122,kmadd(gxyL,gamma222,kmul(gxzL,gamma322))),kmadd(gamma233,kmadd(gxyL,gamma122,kmadd(gyyL,gamma222,kmul(gyzL,gamma322))),kmul(kmadd(gxzL,gamma122,kmadd(gyzL,gamma222,kmul(gzzL,gamma322))),gamma333))),ToReal(-2),ksub(kmsub(kmadd(gamma132,kmadd(gxxL,gamma132,kmadd(gxyL,gamma232,kmul(gxzL,gamma332))),kmadd(gamma232,kmadd(gxyL,gamma132,kmadd(gyyL,gamma232,kmul(gyzL,gamma332))),kmul(gamma332,kmadd(gxzL,gamma132,kmadd(gyzL,gamma232,kmul(gzzL,gamma332)))))),ToReal(2),JacPDstandard2nd33gyy),JacPDstandard2nd22gzz)))));
+ kmul(kmadd(ToReal(2),kmadd(gamma132,kmadd(gxxL,gamma132,kmadd(gxyL,gamma232,kmul(gxzL,gamma332))),kmadd(gamma232,kmadd(gxyL,gamma132,kmadd(gyyL,gamma232,kmul(gyzL,gamma332))),kmul(gamma332,kmadd(gxzL,gamma132,kmadd(gyzL,gamma232,kmul(gzzL,gamma332)))))),kmadd(ToReal(-2),kmadd(gamma133,kmadd(gxxL,gamma122,kmadd(gxyL,gamma222,kmul(gxzL,gamma322))),kmadd(gamma233,kmadd(gxyL,gamma122,kmadd(gyyL,gamma222,kmul(gyzL,gamma322))),kmul(kmadd(gxzL,gamma122,kmadd(gyzL,gamma222,kmul(gzzL,gamma322))),gamma333))),ksub(kadd(JacPDstandard2nd23gyz,ksub(JacPDstandard2nd32gyz,JacPDstandard2nd33gyy)),JacPDstandard2nd22gzz))),ToReal(0.5));
CCTK_REAL_VEC R4p1212 CCTK_ATTRIBUTE_UNUSED =
kmadd(kxxL,kyyL,knmsub(kxyL,kxyL,R1212));
CCTK_REAL_VEC R4p1213 CCTK_ATTRIBUTE_UNUSED =
- kmadd(kxxL,kyzL,knmsub(kxyL,kxzL,R1213));
+ knmsub(kxyL,kxzL,kmadd(kxxL,kyzL,R1213));
CCTK_REAL_VEC R4p1223 CCTK_ATTRIBUTE_UNUSED =
- kmadd(kxyL,kyzL,knmsub(kxzL,kyyL,R1223));
+ knmsub(kxzL,kyyL,kmadd(kxyL,kyzL,R1223));
CCTK_REAL_VEC R4p1313 CCTK_ATTRIBUTE_UNUSED =
kmadd(kxxL,kzzL,knmsub(kxzL,kxzL,R1313));
CCTK_REAL_VEC R4p1323 CCTK_ATTRIBUTE_UNUSED =
- kmadd(kxyL,kzzL,knmsub(kxzL,kyzL,R1323));
+ knmsub(kxzL,kyzL,kmadd(kxyL,kzzL,R1323));
CCTK_REAL_VEC R4p2323 CCTK_ATTRIBUTE_UNUSED =
kmadd(kyyL,kzzL,knmsub(kyzL,kyzL,R2323));
@@ -1224,108 +1245,107 @@ static void WeylScal4_psi4_calc_2nd_Body(const cGH* restrict const cctkGH, const
CCTK_REAL_VEC Ro111 CCTK_ATTRIBUTE_UNUSED = ToReal(0);
CCTK_REAL_VEC Ro112 CCTK_ATTRIBUTE_UNUSED =
- kmadd(kxxL,gamma121,kmadd(kxzL,gamma321,kadd(JacPDstandard2nd1kxy,knmsub(kyyL,gamma211,knmsub(kyzL,gamma311,kmsub(kxyL,ksub(gamma221,gamma111),JacPDstandard2nd2kxx))))));
+ kmadd(kxxL,gamma121,knmsub(kyyL,gamma211,kmadd(kxyL,ksub(gamma221,gamma111),knmsub(kyzL,gamma311,kmadd(kxzL,gamma321,ksub(JacPDstandard2nd1kxy,JacPDstandard2nd2kxx))))));
CCTK_REAL_VEC Ro113 CCTK_ATTRIBUTE_UNUSED =
- kmadd(kxxL,gamma131,kmadd(kxyL,gamma231,kadd(JacPDstandard2nd1kxz,knmsub(kyzL,gamma211,knmsub(kzzL,gamma311,kmsub(kxzL,ksub(gamma331,gamma111),JacPDstandard2nd3kxx))))));
+ kmadd(kxxL,gamma131,knmsub(kyzL,gamma211,kmadd(kxyL,gamma231,knmsub(kzzL,gamma311,kmadd(kxzL,ksub(gamma331,gamma111),ksub(JacPDstandard2nd1kxz,JacPDstandard2nd3kxx))))));
CCTK_REAL_VEC Ro121 CCTK_ATTRIBUTE_UNUSED =
- kmadd(kyyL,gamma211,kmadd(kyzL,gamma311,kadd(JacPDstandard2nd2kxx,knmsub(kxxL,gamma121,knmsub(kxzL,gamma321,kmsub(kxyL,ksub(gamma111,gamma221),JacPDstandard2nd1kxy))))));
+ knmsub(kxxL,gamma121,kmadd(kyyL,gamma211,kmadd(kxyL,ksub(gamma111,gamma221),kmadd(kyzL,gamma311,knmsub(kxzL,gamma321,ksub(JacPDstandard2nd2kxx,JacPDstandard2nd1kxy))))));
CCTK_REAL_VEC Ro122 CCTK_ATTRIBUTE_UNUSED = ToReal(0);
CCTK_REAL_VEC Ro123 CCTK_ATTRIBUTE_UNUSED =
- kmadd(kxyL,gamma131,kmadd(kyyL,gamma231,kadd(JacPDstandard2nd2kxz,knmsub(kxzL,gamma121,knmsub(kzzL,gamma321,kmsub(kyzL,ksub(gamma331,gamma221),JacPDstandard2nd3kxy))))));
+ knmsub(kxzL,gamma121,kmadd(kxyL,gamma131,kmadd(kyyL,gamma231,knmsub(kzzL,gamma321,kmadd(kyzL,ksub(gamma331,gamma221),ksub(JacPDstandard2nd2kxz,JacPDstandard2nd3kxy))))));
CCTK_REAL_VEC Ro131 CCTK_ATTRIBUTE_UNUSED =
- kmadd(kyzL,gamma211,kmadd(kzzL,gamma311,kadd(JacPDstandard2nd3kxx,knmsub(kxxL,gamma131,knmsub(kxyL,gamma231,kmsub(kxzL,ksub(gamma111,gamma331),JacPDstandard2nd1kxz))))));
+ knmsub(kxxL,gamma131,kmadd(kyzL,gamma211,knmsub(kxyL,gamma231,kmadd(kzzL,gamma311,kmadd(kxzL,ksub(gamma111,gamma331),ksub(JacPDstandard2nd3kxx,JacPDstandard2nd1kxz))))));
CCTK_REAL_VEC Ro132 CCTK_ATTRIBUTE_UNUSED =
- kmadd(kxzL,gamma121,kmadd(kzzL,gamma321,kadd(JacPDstandard2nd3kxy,knmsub(kxyL,gamma131,knmsub(kyyL,gamma231,kmsub(kyzL,ksub(gamma221,gamma331),JacPDstandard2nd2kxz))))));
+ kmadd(kxzL,gamma121,knmsub(kxyL,gamma131,knmsub(kyyL,gamma231,kmadd(kzzL,gamma321,kmadd(kyzL,ksub(gamma221,gamma331),ksub(JacPDstandard2nd3kxy,JacPDstandard2nd2kxz))))));
CCTK_REAL_VEC Ro133 CCTK_ATTRIBUTE_UNUSED = ToReal(0);
CCTK_REAL_VEC Ro211 CCTK_ATTRIBUTE_UNUSED = ToReal(0);
CCTK_REAL_VEC Ro212 CCTK_ATTRIBUTE_UNUSED =
- kmadd(kxxL,gamma122,kmadd(kxzL,gamma322,kadd(JacPDstandard2nd1kyy,knmsub(kyyL,gamma221,knmsub(kyzL,gamma321,kmsub(kxyL,ksub(gamma222,gamma121),JacPDstandard2nd2kxy))))));
+ kmadd(kxxL,gamma122,knmsub(kyyL,gamma221,kmadd(kxyL,ksub(gamma222,gamma121),knmsub(kyzL,gamma321,kmadd(kxzL,gamma322,ksub(JacPDstandard2nd1kyy,JacPDstandard2nd2kxy))))));
CCTK_REAL_VEC Ro213 CCTK_ATTRIBUTE_UNUSED =
- kmadd(kxxL,gamma132,kmadd(kxyL,gamma232,kadd(JacPDstandard2nd1kyz,knmsub(kyzL,gamma221,knmsub(kzzL,gamma321,kmsub(kxzL,ksub(gamma332,gamma121),JacPDstandard2nd3kxy))))));
+ kmadd(kxxL,gamma132,knmsub(kyzL,gamma221,kmadd(kxyL,gamma232,knmsub(kzzL,gamma321,kmadd(kxzL,ksub(gamma332,gamma121),ksub(JacPDstandard2nd1kyz,JacPDstandard2nd3kxy))))));
CCTK_REAL_VEC Ro221 CCTK_ATTRIBUTE_UNUSED =
- kmadd(kyyL,gamma221,kmadd(kyzL,gamma321,kadd(JacPDstandard2nd2kxy,knmsub(kxxL,gamma122,knmsub(kxzL,gamma322,kmsub(kxyL,ksub(gamma121,gamma222),JacPDstandard2nd1kyy))))));
+ knmsub(kxxL,gamma122,kmadd(kyyL,gamma221,kmadd(kxyL,ksub(gamma121,gamma222),kmadd(kyzL,gamma321,knmsub(kxzL,gamma322,ksub(JacPDstandard2nd2kxy,JacPDstandard2nd1kyy))))));
CCTK_REAL_VEC Ro222 CCTK_ATTRIBUTE_UNUSED = ToReal(0);
CCTK_REAL_VEC Ro223 CCTK_ATTRIBUTE_UNUSED =
- kmadd(kxyL,gamma132,kmadd(kyyL,gamma232,kadd(JacPDstandard2nd2kyz,knmsub(kxzL,gamma122,knmsub(kzzL,gamma322,kmsub(kyzL,ksub(gamma332,gamma222),JacPDstandard2nd3kyy))))));
+ knmsub(kxzL,gamma122,kmadd(kxyL,gamma132,kmadd(kyyL,gamma232,knmsub(kzzL,gamma322,kmadd(kyzL,ksub(gamma332,gamma222),ksub(JacPDstandard2nd2kyz,JacPDstandard2nd3kyy))))));
CCTK_REAL_VEC Ro231 CCTK_ATTRIBUTE_UNUSED =
- kmadd(kyzL,gamma221,kmadd(kzzL,gamma321,kadd(JacPDstandard2nd3kxy,knmsub(kxxL,gamma132,knmsub(kxyL,gamma232,kmsub(kxzL,ksub(gamma121,gamma332),JacPDstandard2nd1kyz))))));
+ knmsub(kxxL,gamma132,kmadd(kyzL,gamma221,knmsub(kxyL,gamma232,kmadd(kzzL,gamma321,kmadd(kxzL,ksub(gamma121,gamma332),ksub(JacPDstandard2nd3kxy,JacPDstandard2nd1kyz))))));
CCTK_REAL_VEC Ro232 CCTK_ATTRIBUTE_UNUSED =
- kmadd(kxzL,gamma122,kmadd(kzzL,gamma322,kadd(JacPDstandard2nd3kyy,knmsub(kxyL,gamma132,knmsub(kyyL,gamma232,kmsub(kyzL,ksub(gamma222,gamma332),JacPDstandard2nd2kyz))))));
+ kmadd(kxzL,gamma122,knmsub(kxyL,gamma132,knmsub(kyyL,gamma232,kmadd(kzzL,gamma322,kmadd(kyzL,ksub(gamma222,gamma332),ksub(JacPDstandard2nd3kyy,JacPDstandard2nd2kyz))))));
CCTK_REAL_VEC Ro233 CCTK_ATTRIBUTE_UNUSED = ToReal(0);
CCTK_REAL_VEC Ro311 CCTK_ATTRIBUTE_UNUSED = ToReal(0);
CCTK_REAL_VEC Ro312 CCTK_ATTRIBUTE_UNUSED =
- kmadd(kxxL,gamma132,kmadd(kxzL,gamma332,kadd(JacPDstandard2nd1kyz,knmsub(kyyL,gamma231,knmsub(kyzL,gamma331,kmsub(kxyL,ksub(gamma232,gamma131),JacPDstandard2nd2kxz))))));
+ kmadd(kxxL,gamma132,knmsub(kyyL,gamma231,kmadd(kxyL,ksub(gamma232,gamma131),knmsub(kyzL,gamma331,kmadd(kxzL,gamma332,ksub(JacPDstandard2nd1kyz,JacPDstandard2nd2kxz))))));
CCTK_REAL_VEC Ro313 CCTK_ATTRIBUTE_UNUSED =
- kmadd(kxxL,gamma133,kmadd(kxyL,gamma233,kadd(JacPDstandard2nd1kzz,knmsub(kyzL,gamma231,knmsub(kzzL,gamma331,kmsub(kxzL,ksub(gamma333,gamma131),JacPDstandard2nd3kxz))))));
+ kmadd(kxxL,gamma133,knmsub(kyzL,gamma231,kmadd(kxyL,gamma233,knmsub(kzzL,gamma331,kmadd(kxzL,ksub(gamma333,gamma131),ksub(JacPDstandard2nd1kzz,JacPDstandard2nd3kxz))))));
CCTK_REAL_VEC Ro321 CCTK_ATTRIBUTE_UNUSED =
- kmadd(kyyL,gamma231,kmadd(kyzL,gamma331,kadd(JacPDstandard2nd2kxz,knmsub(kxxL,gamma132,knmsub(kxzL,gamma332,kmsub(kxyL,ksub(gamma131,gamma232),JacPDstandard2nd1kyz))))));
+ knmsub(kxxL,gamma132,kmadd(kyyL,gamma231,kmadd(kxyL,ksub(gamma131,gamma232),kmadd(kyzL,gamma331,knmsub(kxzL,gamma332,ksub(JacPDstandard2nd2kxz,JacPDstandard2nd1kyz))))));
CCTK_REAL_VEC Ro322 CCTK_ATTRIBUTE_UNUSED = ToReal(0);
CCTK_REAL_VEC Ro323 CCTK_ATTRIBUTE_UNUSED =
- kmadd(kxyL,gamma133,kmadd(kyyL,gamma233,kadd(JacPDstandard2nd2kzz,knmsub(kxzL,gamma132,knmsub(kzzL,gamma332,kmsub(kyzL,ksub(gamma333,gamma232),JacPDstandard2nd3kyz))))));
+ knmsub(kxzL,gamma132,kmadd(kxyL,gamma133,kmadd(kyyL,gamma233,knmsub(kzzL,gamma332,kmadd(kyzL,ksub(gamma333,gamma232),ksub(JacPDstandard2nd2kzz,JacPDstandard2nd3kyz))))));
CCTK_REAL_VEC Ro331 CCTK_ATTRIBUTE_UNUSED =
- kmadd(kyzL,gamma231,kmadd(kzzL,gamma331,kadd(JacPDstandard2nd3kxz,knmsub(kxxL,gamma133,knmsub(kxyL,gamma233,kmsub(kxzL,ksub(gamma131,gamma333),JacPDstandard2nd1kzz))))));
+ knmsub(kxxL,gamma133,kmadd(kyzL,gamma231,knmsub(kxyL,gamma233,kmadd(kzzL,gamma331,kmadd(kxzL,ksub(gamma131,gamma333),ksub(JacPDstandard2nd3kxz,JacPDstandard2nd1kzz))))));
CCTK_REAL_VEC Ro332 CCTK_ATTRIBUTE_UNUSED =
- kmadd(kxzL,gamma132,kmadd(kzzL,gamma332,kadd(JacPDstandard2nd3kyz,knmsub(kxyL,gamma133,knmsub(kyyL,gamma233,kmsub(kyzL,ksub(gamma232,gamma333),JacPDstandard2nd2kzz))))));
+ kmadd(kxzL,gamma132,knmsub(kxyL,gamma133,knmsub(kyyL,gamma233,kmadd(kzzL,gamma332,kmadd(kyzL,ksub(gamma232,gamma333),ksub(JacPDstandard2nd3kyz,JacPDstandard2nd2kzz))))));
CCTK_REAL_VEC Ro333 CCTK_ATTRIBUTE_UNUSED = ToReal(0);
CCTK_REAL_VEC Rojo11 CCTK_ATTRIBUTE_UNUSED =
- kmadd(kadd(gInv23,gInv32),kmadd(kxxL,kyzL,knmsub(kxyL,kxzL,R1213)),kmadd(gInv22,kmadd(kxxL,kyyL,knmsub(kxyL,kxyL,R1212)),kmul(gInv33,kmadd(kxxL,kzzL,knmsub(kxzL,kxzL,R1313)))));
+ kmadd(kadd(gInv23,gInv32),knmsub(kxyL,kxzL,kmadd(kxxL,kyzL,R1213)),kmadd(gInv22,kmadd(kxxL,kyyL,knmsub(kxyL,kxyL,R1212)),kmul(gInv33,kmadd(kxxL,kzzL,knmsub(kxzL,kxzL,R1313)))));
CCTK_REAL_VEC Rojo12 CCTK_ATTRIBUTE_UNUSED =
- kmadd(gInv23,R1223,knmsub(gInv21,R1212,knmsub(gInv31,R1213,kmadd(gInv12,kmsub(kxyL,kxyL,kmul(kxxL,kyyL)),kmadd(gInv32,kmsub(kxyL,kyzL,kmul(kxzL,kyyL)),kmadd(gInv13,kmsub(kxyL,kxzL,kmul(kxxL,kyzL)),kmul(gInv33,kmadd(kxyL,kzzL,knmsub(kxzL,kyzL,R1323)))))))));
+ kmadd(kmsub(kxyL,kxzL,kmul(kxxL,kyzL)),gInv13,kmadd(kmsub(kxyL,kyzL,kmul(kxzL,kyyL)),gInv32,knmsub(gInv21,R1212,knmsub(gInv31,R1213,kmadd(gInv23,R1223,kmadd(gInv33,knmsub(kxzL,kyzL,kmadd(kxyL,kzzL,R1323)),kmul(gInv12,kmsub(kxyL,kxyL,kmul(kxxL,kyyL)))))))));
CCTK_REAL_VEC Rojo13 CCTK_ATTRIBUTE_UNUSED =
- kmadd(kxzL,kmul(kyzL,gInv23),kmadd(gInv13,kmul(kxzL,kxzL),knmsub(gInv21,R1213,knmsub(gInv31,R1313,knmsub(gInv32,R1323,kmadd(gInv12,kmsub(kxyL,kxzL,kmul(kxxL,kyzL)),kmsub(gInv22,kmsub(kxzL,kyyL,kmadd(kxyL,kyzL,R1223)),kmul(kzzL,kmadd(kxyL,gInv23,kmul(kxxL,gInv13))))))))));
+ kmadd(kmsub(kxyL,kxzL,kmul(kxxL,kyzL)),gInv12,kmadd(kmsub(kxzL,kyzL,kmul(kxyL,kzzL)),gInv23,knmsub(gInv21,R1213,kmadd(gInv22,kmsub(kxzL,kyyL,kmadd(kxyL,kyzL,R1223)),knmsub(gInv31,R1313,kmsub(gInv13,kmsub(kxzL,kxzL,kmul(kxxL,kzzL)),kmul(gInv32,R1323)))))));
CCTK_REAL_VEC Rojo21 CCTK_ATTRIBUTE_UNUSED =
- kmadd(gInv32,R1223,knmsub(gInv12,R1212,knmsub(gInv13,R1213,kmadd(gInv21,kmsub(kxyL,kxyL,kmul(kxxL,kyyL)),kmadd(gInv23,kmsub(kxyL,kyzL,kmul(kxzL,kyyL)),kmadd(gInv31,kmsub(kxyL,kxzL,kmul(kxxL,kyzL)),kmul(gInv33,kmadd(kxyL,kzzL,knmsub(kxzL,kyzL,R1323)))))))));
+ kmadd(kmsub(kxyL,kyzL,kmul(kxzL,kyyL)),gInv23,kmadd(kmsub(kxyL,kxzL,kmul(kxxL,kyzL)),gInv31,knmsub(gInv12,R1212,knmsub(gInv13,R1213,kmadd(gInv32,R1223,kmadd(gInv33,knmsub(kxzL,kyzL,kmadd(kxyL,kzzL,R1323)),kmul(gInv21,kmsub(kxyL,kxyL,kmul(kxxL,kyyL)))))))));
CCTK_REAL_VEC Rojo22 CCTK_ATTRIBUTE_UNUSED =
kmadd(kadd(gInv13,gInv31),kmsub(kxzL,kyyL,kmadd(kxyL,kyzL,R1223)),kmadd(gInv11,kmadd(kxxL,kyyL,knmsub(kxyL,kxyL,R1212)),kmul(gInv33,kmadd(kyyL,kzzL,knmsub(kyzL,kyzL,R2323)))));
CCTK_REAL_VEC Rojo23 CCTK_ATTRIBUTE_UNUSED =
- kmadd(gInv12,R1223,knmsub(gInv31,R1323,knmsub(gInv32,R2323,kmadd(gInv11,kmadd(kxxL,kyzL,knmsub(kxyL,kxzL,R1213)),kmadd(gInv21,kmsub(kxyL,kyzL,kmul(kxzL,kyyL)),kmadd(gInv13,kmsub(kxzL,kyzL,kmul(kxyL,kzzL)),kmul(gInv23,kmsub(kyzL,kyzL,kmul(kyyL,kzzL)))))))));
+ kmadd(kmsub(kxzL,kyzL,kmul(kxyL,kzzL)),gInv13,kmadd(kmsub(kxyL,kyzL,kmul(kxzL,kyyL)),gInv21,kmadd(gInv11,knmsub(kxyL,kxzL,kmadd(kxxL,kyzL,R1213)),kmadd(gInv12,R1223,knmsub(gInv31,R1323,kmsub(gInv23,kmsub(kyzL,kyzL,kmul(kyyL,kzzL)),kmul(gInv32,R2323)))))));
CCTK_REAL_VEC Rojo31 CCTK_ATTRIBUTE_UNUSED =
- kmadd(kxzL,kmul(kyzL,gInv32),kmadd(gInv31,kmul(kxzL,kxzL),knmsub(gInv12,R1213,knmsub(gInv13,R1313,knmsub(gInv23,R1323,kmadd(gInv21,kmsub(kxyL,kxzL,kmul(kxxL,kyzL)),kmsub(gInv22,kmsub(kxzL,kyyL,kmadd(kxyL,kyzL,R1223)),kmul(kzzL,kmadd(kxyL,gInv32,kmul(kxxL,gInv31))))))))));
+ kmadd(kmsub(kxyL,kxzL,kmul(kxxL,kyzL)),gInv21,kmadd(kmsub(kxzL,kyzL,kmul(kxyL,kzzL)),gInv32,knmsub(gInv12,R1213,kmadd(gInv22,kmsub(kxzL,kyyL,kmadd(kxyL,kyzL,R1223)),knmsub(gInv13,R1313,kmsub(gInv31,kmsub(kxzL,kxzL,kmul(kxxL,kzzL)),kmul(gInv23,R1323)))))));
CCTK_REAL_VEC Rojo32 CCTK_ATTRIBUTE_UNUSED =
- kmadd(gInv21,R1223,knmsub(gInv13,R1323,knmsub(gInv23,R2323,kmadd(gInv11,kmadd(kxxL,kyzL,knmsub(kxyL,kxzL,R1213)),kmadd(gInv12,kmsub(kxyL,kyzL,kmul(kxzL,kyyL)),kmadd(gInv31,kmsub(kxzL,kyzL,kmul(kxyL,kzzL)),kmul(gInv32,kmsub(kyzL,kyzL,kmul(kyyL,kzzL)))))))));
+ kmadd(kmsub(kxyL,kyzL,kmul(kxzL,kyyL)),gInv12,kmadd(kmsub(kxzL,kyzL,kmul(kxyL,kzzL)),gInv31,kmadd(gInv11,knmsub(kxyL,kxzL,kmadd(kxxL,kyzL,R1213)),kmadd(gInv21,R1223,knmsub(gInv13,R1323,kmsub(gInv32,kmsub(kyzL,kyzL,kmul(kyyL,kzzL)),kmul(gInv23,R2323)))))));
CCTK_REAL_VEC Rojo33 CCTK_ATTRIBUTE_UNUSED =
- kmadd(kadd(gInv12,gInv21),kmadd(kxyL,kzzL,knmsub(kxzL,kyzL,R1323)),kmadd(gInv11,kmadd(kxxL,kzzL,knmsub(kxzL,kxzL,R1313)),kmul(gInv22,kmadd(kyyL,kzzL,knmsub(kyzL,kyzL,R2323)))));
+ kmadd(kadd(gInv12,gInv21),knmsub(kxzL,kyzL,kmadd(kxyL,kzzL,R1323)),kmadd(gInv11,kmadd(kxxL,kzzL,knmsub(kxzL,kxzL,R1313)),kmul(gInv22,kmadd(kyyL,kzzL,knmsub(kyzL,kyzL,R2323)))));
CCTK_REAL_VEC Psi4rL CCTK_ATTRIBUTE_UNUSED =
- knmsub(kmadd(R4p1212,kmul(n1,n1),kmadd(R4p2323,kmul(n3,n3),kmul(n1,kmul(n3,kmul(R4p1223,ToReal(-2)))))),kmsub(imbar2,imbar2,kmul(rmbar2,rmbar2)),knmsub(kmul(nn,nn),kmadd(imbar1,kmadd(imbar2,kadd(Rojo12,Rojo21),kmul(imbar3,kadd(Rojo13,Rojo31))),knmsub(rmbar1,kmadd(rmbar2,kadd(Rojo12,Rojo21),kmul(rmbar3,kadd(Rojo13,Rojo31))),kmadd(Rojo23,kmsub(imbar2,imbar3,kmul(rmbar2,rmbar3)),kmadd(Rojo32,kmsub(imbar2,imbar3,kmul(rmbar2,rmbar3)),kmadd(Rojo11,kmsub(imbar1,imbar1,kmul(rmbar1,rmbar1)),kmadd(Rojo22,kmsub(imbar2,imbar2,kmul(rmbar2,rmbar2)),kmul(Rojo33,kmsub(imbar3,imbar3,kmul(rmbar3,rmbar3))))))))),kmsub(kmadd(kmsub(n1,kmadd(n2,R4p1212,kmul(n3,R4p1213)),kmul(n3,kmadd(n2,R4p1223,kmul(n3,R4p1323)))),kmsub(imbar1,imbar2,kmul(rmbar1,rmbar2)),kmadd(kmadd(n1,kmul(n2,R4p1213),kmadd(n1,kmul(n3,R4p1313),kmadd(n2,kmul(n3,R4p1323),kmul(R4p1223,kmul(n2,n2))))),kmsub(imbar1,imbar3,kmul(rmbar1,rmbar3)),kmadd(kmsub(rmbar2,rmbar3,kmul(imbar2,imbar3)),kmadd(R4p1213,kmul(n1,n1),kmsub(n1,kmsub(n2,R4p1223,kmul(n3,R4p1323)),kmul(n2,kmul(n3,R4p2323)))),kmul(nn,kmadd(kmadd(n1,Ro112,kmadd(n2,Ro122,kmul(n3,Ro132))),kmsub(rmbar1,rmbar2,kmul(imbar1,imbar2)),kmadd(kmadd(n1,Ro211,kmadd(n2,Ro221,kmul(n3,Ro231))),kmsub(rmbar1,rmbar2,kmul(imbar1,imbar2)),kmadd(kmadd(n1,Ro113,kmadd(n2,Ro123,kmul(n3,Ro133))),kmsub(rmbar1,rmbar3,kmul(imbar1,imbar3)),kmadd(kmadd(n1,Ro311,kmadd(n2,Ro321,kmul(n3,Ro331))),kmsub(rmbar1,rmbar3,kmul(imbar1,imbar3)),kmadd(kmadd(n1,Ro213,kmadd(n2,Ro223,kmul(n3,Ro233))),kmsub(rmbar2,rmbar3,kmul(imbar2,imbar3)),kmadd(kmadd(n1,Ro312,kmadd(n2,Ro322,kmul(n3,Ro332))),kmsub(rmbar2,rmbar3,kmul(imbar2,imbar3)),kmadd(kmadd(n1,Ro111,kmadd(n2,Ro121,kmul(n3,Ro131))),kmsub(rmbar1,rmbar1,kmul(imbar1,imbar1)),kmadd(kmadd(n1,Ro212,kmadd(n2,Ro222,kmul(n3,Ro232))),kmsub(rmbar2,rmbar2,kmul(imbar2,imbar2)),kmul(kmadd(n1,Ro313,kmadd(n2,Ro323,kmul(n3,Ro333))),kmsub(rmbar3,rmbar3,kmul(imbar3,imbar3))))))))))))))),ToReal(2),kmadd(kmsub(imbar3,imbar3,kmul(rmbar3,rmbar3)),kmadd(R4p1313,kmul(n1,n1),kmadd(R4p2323,kmul(n2,n2),kmul(n1,kmul(n2,kmul(R4p1323,ToReal(2)))))),kmul(kmsub(imbar1,imbar1,kmul(rmbar1,rmbar1)),kmadd(R4p1212,kmul(n2,n2),kmadd(R4p1313,kmul(n3,n3),kmul(n2,kmul(n3,kmul(R4p1213,ToReal(2)))))))))));
+ kmadd(ToReal(2),kmul(kmsub(imbar1,imbar2,kmul(rmbar1,rmbar2)),kmsub(n1,kmadd(n2,R4p1212,kmul(n3,R4p1213)),kmul(n3,kmadd(n2,R4p1223,kmul(n3,R4p1323))))),kmadd(ToReal(2),kmul(kmadd(n1,kmsub(n2,R4p1223,kmul(n3,R4p1323)),kmsub(R4p1213,kmul(n1,n1),kmul(n2,kmul(n3,R4p2323)))),kmsub(rmbar2,rmbar3,kmul(imbar2,imbar3))),kmadd(ToReal(2),kmul(kmadd(n1,kmul(n2,R4p1213),kmadd(n1,kmul(n3,R4p1313),kmadd(n2,kmul(n3,R4p1323),kmul(R4p1223,kmul(n2,n2))))),kmsub(imbar1,imbar3,kmul(rmbar1,rmbar3))),knmsub(kmadd(ToReal(2),kmul(n2,kmul(n3,R4p1213)),kmadd(R4p1212,kmul(n2,n2),kmul(R4p1313,kmul(n3,n3)))),kmsub(imbar1,imbar1,kmul(rmbar1,rmbar1)),knmsub(kmadd(ToReal(-2),kmul(n1,kmul(n3,R4p1223)),kmadd(R4p1212,kmul(n1,n1),kmul(R4p2323,kmul(n3,n3)))),kmsub(imbar2,imbar2,kmul(rmbar2,rmbar2)),knmsub(kmul(nn,nn),kmadd(kmsub(imbar2,imbar3,kmul(rmbar2,rmbar3)),Rojo23,kmadd(imbar1,kmadd(imbar2,kadd(Rojo12,Rojo21),kmul(imbar3,kadd(Rojo13,Rojo31))),knmsub(rmbar1,kmadd(rmbar2,kadd(Rojo12,Rojo21),kmul(rmbar3,kadd(Rojo13,Rojo31))),kmadd(kmsub(imbar2,imbar3,kmul(rmbar2,rmbar3)),Rojo32,kmadd(Rojo11,kmsub(imbar1,imbar1,kmul(rmbar1,rmbar1)),kmadd(Rojo22,kmsub(imbar2,imbar2,kmul(rmbar2,rmbar2)),kmul(Rojo33,kmsub(imbar3,imbar3,kmul(rmbar3,rmbar3))))))))),kmsub(ToReal(2),kmul(nn,kmadd(kmsub(rmbar1,rmbar2,kmul(imbar1,imbar2)),kmadd(n1,Ro112,kmadd(n2,Ro122,kmul(n3,Ro132))),kmadd(kmsub(rmbar1,rmbar3,kmul(imbar1,imbar3)),kmadd(n1,Ro113,kmadd(n2,Ro123,kmul(n3,Ro133))),kmadd(kmsub(rmbar1,rmbar2,kmul(imbar1,imbar2)),kmadd(n1,Ro211,kmadd(n2,Ro221,kmul(n3,Ro231))),kmadd(kmsub(rmbar2,rmbar3,kmul(imbar2,imbar3)),kmadd(n1,Ro213,kmadd(n2,Ro223,kmul(n3,Ro233))),kmadd(kmsub(rmbar1,rmbar3,kmul(imbar1,imbar3)),kmadd(n1,Ro311,kmadd(n2,Ro321,kmul(n3,Ro331))),kmadd(kmsub(rmbar2,rmbar3,kmul(imbar2,imbar3)),kmadd(n1,Ro312,kmadd(n2,Ro322,kmul(n3,Ro332))),kmadd(kmadd(n1,Ro111,kmadd(n2,Ro121,kmul(n3,Ro131))),kmsub(rmbar1,rmbar1,kmul(imbar1,imbar1)),kmadd(kmadd(n1,Ro212,kmadd(n2,Ro222,kmul(n3,Ro232))),kmsub(rmbar2,rmbar2,kmul(imbar2,imbar2)),kmul(kmadd(n1,Ro313,kmadd(n2,Ro323,kmul(n3,Ro333))),kmsub(rmbar3,rmbar3,kmul(imbar3,imbar3)))))))))))),kmul(kmadd(ToReal(2),kmul(n1,kmul(n2,R4p1323)),kmadd(R4p1313,kmul(n1,n1),kmul(R4p2323,kmul(n2,n2)))),kmsub(imbar3,imbar3,kmul(rmbar3,rmbar3))))))))));
CCTK_REAL_VEC Psi4iL CCTK_ATTRIBUTE_UNUSED =
- kmadd(kmadd(kmadd(im3,rm1,kmul(im1,rm3)),kmadd(n1,kmadd(n2,R4p1213,kmul(n3,R4p1313)),kmadd(n2,kmul(n3,R4p1323),kmul(R4p1223,kmul(n2,n2)))),kmadd(kmadd(im2,rm1,kmul(im1,rm2)),kmsub(n1,kmadd(n2,R4p1212,kmul(n3,R4p1213)),kmul(n3,kmadd(n2,R4p1223,kmul(n3,R4p1323)))),kmul(nn,kmadd(kmadd(im1,kmul(rm1,kmadd(n1,Ro111,kmadd(n2,Ro121,kmul(n3,Ro131)))),kmul(im2,kmul(rm2,kmadd(n1,Ro212,kmadd(n2,Ro222,kmul(n3,Ro232)))))),ToReal(-2),kmsub(im3,kmul(rm3,kmul(kmadd(n1,Ro313,kmadd(n2,Ro323,kmul(n3,Ro333))),ToReal(-2))),kmadd(kmadd(im2,rm1,kmul(im1,rm2)),kmadd(n1,kadd(Ro211,Ro112),kmadd(n3,kadd(Ro231,Ro132),kmul(n2,kadd(Ro221,Ro122)))),kmadd(kmadd(im3,rm2,kmul(im2,rm3)),kmadd(n1,kadd(Ro312,Ro213),kmadd(n3,kadd(Ro332,Ro233),kmul(n2,kadd(Ro322,Ro223)))),kmul(kmadd(im3,rm1,kmul(im1,rm3)),kmadd(n1,kadd(Ro311,Ro113),kmadd(n3,kadd(Ro331,Ro133),kmul(n2,kadd(Ro321,Ro123)))))))))))),ToReal(2),kmsub(ToReal(-2),kmadd(im2,kmul(rm2,kmadd(R4p1212,kmul(n1,n1),kmadd(R4p2323,kmul(n3,n3),kmul(n1,kmul(n3,kmul(R4p1223,ToReal(-2))))))),kmadd(kmadd(im3,rm2,kmul(im2,rm3)),kmadd(R4p1213,kmul(n1,n1),kmsub(n1,kmsub(n2,R4p1223,kmul(n3,R4p1323)),kmul(n2,kmul(n3,R4p2323)))),kmadd(im1,kmul(rm1,kmadd(R4p1212,kmul(n2,n2),kmadd(R4p1313,kmul(n3,n3),kmul(n2,kmul(n3,kmul(R4p1213,ToReal(2))))))),kmul(im3,kmul(rm3,kmadd(R4p1313,kmul(n1,n1),kmadd(R4p2323,kmul(n2,n2),kmul(n1,kmul(n2,kmul(R4p1323,ToReal(2))))))))))),kmul(kmul(nn,nn),kmadd(im1,kmadd(rm2,kadd(Rojo12,Rojo21),kmadd(rm3,kadd(Rojo13,Rojo31),kmul(rm1,kmul(Rojo11,ToReal(2))))),kmadd(im2,kmadd(rm1,kadd(Rojo12,Rojo21),kmadd(rm3,kadd(Rojo23,Rojo32),kmul(rm2,kmul(Rojo22,ToReal(2))))),kmul(im3,kmadd(rm1,kadd(Rojo13,Rojo31),kmadd(rm2,kadd(Rojo23,Rojo32),kmul(rm3,kmul(Rojo33,ToReal(2)))))))))));
-
+ kmadd(ToReal(2),kmadd(kmsub(n1,kmadd(n2,R4p1212,kmul(n3,R4p1213)),kmul(n3,kmadd(n2,R4p1223,kmul(n3,R4p1323)))),kmadd(im2,rm1,kmul(im1,rm2)),kmadd(nn,knmsub(kmadd(im2,rm1,kmul(im1,rm2)),kmadd(n1,kadd(Ro112,Ro211),kmadd(n3,kadd(Ro132,Ro231),kmul(n2,kadd(Ro122,Ro221)))),kmadd(ToReal(-2),kmadd(im1,kmul(rm1,kmadd(n1,Ro111,kmadd(n2,Ro121,kmul(n3,Ro131)))),kmul(im2,kmul(rm2,kmadd(n1,Ro212,kmadd(n2,Ro222,kmul(n3,Ro232)))))),knmsub(kmadd(im3,rm1,kmul(im1,rm3)),kmadd(n1,kadd(Ro113,Ro311),kmadd(n3,kadd(Ro133,Ro331),kmul(n2,kadd(Ro123,Ro321)))),kmsub(ToReal(-2),kmul(im3,kmul(rm3,kmadd(n1,Ro313,kmadd(n2,Ro323,kmul(n3,Ro333))))),kmul(kmadd(im3,rm2,kmul(im2,rm3)),kmadd(n1,kadd(Ro213,Ro312),kmadd(n3,kadd(Ro233,Ro332),kmul(n2,kadd(Ro223,Ro322))))))))),kmul(kmadd(im3,rm1,kmul(im1,rm3)),kmadd(n1,kmadd(n2,R4p1213,kmul(n3,R4p1313)),kmadd(n2,kmul(n3,R4p1323),kmul(R4p1223,kmul(n2,n2))))))),kmsub(ToReal(-2),kmadd(kmadd(im3,rm2,kmul(im2,rm3)),kmadd(n1,kmsub(n2,R4p1223,kmul(n3,R4p1323)),kmsub(R4p1213,kmul(n1,n1),kmul(n2,kmul(n3,R4p2323)))),kmadd(im3,kmul(rm3,kmadd(ToReal(2),kmul(n1,kmul(n2,R4p1323)),kmadd(R4p1313,kmul(n1,n1),kmul(R4p2323,kmul(n2,n2))))),kmadd(im1,kmul(rm1,kmadd(ToReal(2),kmul(n2,kmul(n3,R4p1213)),kmadd(R4p1212,kmul(n2,n2),kmul(R4p1313,kmul(n3,n3))))),kmul(im2,kmul(rm2,kmadd(ToReal(-2),kmul(n1,kmul(n3,R4p1223)),kmadd(R4p1212,kmul(n1,n1),kmul(R4p2323,kmul(n3,n3))))))))),kmul(kmadd(im1,kmadd(ToReal(2),kmul(rm1,Rojo11),kmadd(rm2,kadd(Rojo12,Rojo21),kmul(rm3,kadd(Rojo13,Rojo31)))),kmadd(im2,kmadd(rm1,kadd(Rojo12,Rojo21),kmadd(ToReal(2),kmul(rm2,Rojo22),kmul(rm3,kadd(Rojo23,Rojo32)))),kmul(im3,kmadd(rm1,kadd(Rojo13,Rojo31),kmadd(rm2,kadd(Rojo23,Rojo32),kmul(kmul(rm3,Rojo33),ToReal(2))))))),kmul(nn,nn))));
/* Copy local copies back to grid functions */
vec_store_partial_prepare(i,vecimin,vecimax);
vec_store_nta_partial(Psi4i[index],Psi4iL);
@@ -1333,18 +1353,15 @@ static void WeylScal4_psi4_calc_2nd_Body(const cGH* restrict const cctkGH, const
}
CCTK_ENDLOOP3STR(WeylScal4_psi4_calc_2nd);
}
-
extern "C" void WeylScal4_psi4_calc_2nd(CCTK_ARGUMENTS)
{
DECLARE_CCTK_ARGUMENTS;
DECLARE_CCTK_PARAMETERS;
-
if (verbose > 1)
{
CCTK_VInfo(CCTK_THORNSTRING,"Entering WeylScal4_psi4_calc_2nd_Body");
}
-
if (cctk_iteration % WeylScal4_psi4_calc_2nd_calc_every != WeylScal4_psi4_calc_2nd_calc_offset)
{
return;
@@ -1356,41 +1373,42 @@ extern "C" void WeylScal4_psi4_calc_2nd(CCTK_ARGUMENTS)
"grid::coordinates",
"WeylScal4::Psi4i_group",
"WeylScal4::Psi4r_group"};
- GenericFD_AssertGroupStorage(cctkGH, "WeylScal4_psi4_calc_2nd", 5, groups);
+ AssertGroupStorage(cctkGH, "WeylScal4_psi4_calc_2nd", 5, groups);
switch (fdOrder)
{
case 2:
{
- GenericFD_EnsureStencilFits(cctkGH, "WeylScal4_psi4_calc_2nd", 1, 1, 1);
+ EnsureStencilFits(cctkGH, "WeylScal4_psi4_calc_2nd", 1, 1, 1);
break;
}
case 4:
{
- GenericFD_EnsureStencilFits(cctkGH, "WeylScal4_psi4_calc_2nd", 1, 1, 1);
+ EnsureStencilFits(cctkGH, "WeylScal4_psi4_calc_2nd", 1, 1, 1);
break;
}
case 6:
{
- GenericFD_EnsureStencilFits(cctkGH, "WeylScal4_psi4_calc_2nd", 1, 1, 1);
+ EnsureStencilFits(cctkGH, "WeylScal4_psi4_calc_2nd", 1, 1, 1);
break;
}
case 8:
{
- GenericFD_EnsureStencilFits(cctkGH, "WeylScal4_psi4_calc_2nd", 1, 1, 1);
+ EnsureStencilFits(cctkGH, "WeylScal4_psi4_calc_2nd", 1, 1, 1);
break;
}
default:
CCTK_BUILTIN_UNREACHABLE();
}
- GenericFD_LoopOverInterior(cctkGH, WeylScal4_psi4_calc_2nd_Body);
-
+ LoopOverInterior(cctkGH, WeylScal4_psi4_calc_2nd_Body);
if (verbose > 1)
{
CCTK_VInfo(CCTK_THORNSTRING,"Leaving WeylScal4_psi4_calc_2nd_Body");
}
}
+
+} // namespace WeylScal4
diff --git a/src/WeylScal4_psi4_calc_4th.cc b/src/WeylScal4_psi4_calc_4th.cc
index 0c75849..cbf5375 100644
--- a/src/WeylScal4_psi4_calc_4th.cc
+++ b/src/WeylScal4_psi4_calc_4th.cc
@@ -2,6 +2,7 @@
#define KRANC_C
+#include <algorithm>
#include <assert.h>
#include <math.h>
#include <stdio.h>
@@ -10,22 +11,12 @@
#include "cctk.h"
#include "cctk_Arguments.h"
#include "cctk_Parameters.h"
-#include "GenericFD.h"
+#include "Kranc.hh"
#include "Differencing.h"
-#include "cctk_Loop.h"
#include "loopcontrol.h"
#include "vectors.h"
-/* Define macros used in calculations */
-#define INITVALUE (42)
-#define ScalarINV(x) ((CCTK_REAL)1.0 / (x))
-#define ScalarSQR(x) ((x) * (x))
-#define ScalarCUB(x) ((x) * ScalarSQR(x))
-#define ScalarQAD(x) (ScalarSQR(ScalarSQR(x)))
-#define INV(x) (kdiv(ToReal(1.0),x))
-#define SQR(x) (kmul(x,x))
-#define CUB(x) (kmul(x,SQR(x)))
-#define QAD(x) (SQR(SQR(x)))
+namespace WeylScal4 {
extern "C" void WeylScal4_psi4_calc_4th_SelectBCs(CCTK_ARGUMENTS)
{
@@ -35,10 +26,10 @@ extern "C" void WeylScal4_psi4_calc_4th_SelectBCs(CCTK_ARGUMENTS)
if (cctk_iteration % WeylScal4_psi4_calc_4th_calc_every != WeylScal4_psi4_calc_4th_calc_offset)
return;
CCTK_INT ierr CCTK_ATTRIBUTE_UNUSED = 0;
- ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "WeylScal4::Psi4i_group","flat");
+ ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GetBoundaryWidth(cctkGH), -1 /* no table */, "WeylScal4::Psi4i_group","flat");
if (ierr < 0)
CCTK_WARN(1, "Failed to register flat BC for WeylScal4::Psi4i_group.");
- ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "WeylScal4::Psi4r_group","flat");
+ ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GetBoundaryWidth(cctkGH), -1 /* no table */, "WeylScal4::Psi4r_group","flat");
if (ierr < 0)
CCTK_WARN(1, "Failed to register flat BC for WeylScal4::Psi4r_group.");
return;
@@ -49,24 +40,37 @@ static void WeylScal4_psi4_calc_4th_Body(const cGH* restrict const cctkGH, const
DECLARE_CCTK_ARGUMENTS;
DECLARE_CCTK_PARAMETERS;
-
/* Include user-supplied include files */
-
/* Initialise finite differencing variables */
const ptrdiff_t di CCTK_ATTRIBUTE_UNUSED = 1;
- const ptrdiff_t dj CCTK_ATTRIBUTE_UNUSED = CCTK_GFINDEX3D(cctkGH,0,1,0) - CCTK_GFINDEX3D(cctkGH,0,0,0);
- const ptrdiff_t dk CCTK_ATTRIBUTE_UNUSED = CCTK_GFINDEX3D(cctkGH,0,0,1) - CCTK_GFINDEX3D(cctkGH,0,0,0);
+ const ptrdiff_t dj CCTK_ATTRIBUTE_UNUSED =
+ CCTK_GFINDEX3D(cctkGH,0,1,0) - CCTK_GFINDEX3D(cctkGH,0,0,0);
+ const ptrdiff_t dk CCTK_ATTRIBUTE_UNUSED =
+ CCTK_GFINDEX3D(cctkGH,0,0,1) - CCTK_GFINDEX3D(cctkGH,0,0,0);
const ptrdiff_t cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL) * di;
const ptrdiff_t cdj CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL) * dj;
const ptrdiff_t cdk CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL) * dk;
- const CCTK_REAL_VEC dx CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_SPACE(0));
- const CCTK_REAL_VEC dy CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_SPACE(1));
- const CCTK_REAL_VEC dz CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_SPACE(2));
- const CCTK_REAL_VEC dt CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_TIME);
+ const ptrdiff_t cctkLbnd1 CCTK_ATTRIBUTE_UNUSED = cctk_lbnd[0];
+ const ptrdiff_t cctkLbnd2 CCTK_ATTRIBUTE_UNUSED = cctk_lbnd[1];
+ const ptrdiff_t cctkLbnd3 CCTK_ATTRIBUTE_UNUSED = cctk_lbnd[2];
const CCTK_REAL_VEC t CCTK_ATTRIBUTE_UNUSED = ToReal(cctk_time);
- const CCTK_REAL_VEC dxi CCTK_ATTRIBUTE_UNUSED = INV(dx);
- const CCTK_REAL_VEC dyi CCTK_ATTRIBUTE_UNUSED = INV(dy);
- const CCTK_REAL_VEC dzi CCTK_ATTRIBUTE_UNUSED = INV(dz);
+ const CCTK_REAL_VEC cctkOriginSpace1 CCTK_ATTRIBUTE_UNUSED =
+ ToReal(CCTK_ORIGIN_SPACE(0));
+ const CCTK_REAL_VEC cctkOriginSpace2 CCTK_ATTRIBUTE_UNUSED =
+ ToReal(CCTK_ORIGIN_SPACE(1));
+ const CCTK_REAL_VEC cctkOriginSpace3 CCTK_ATTRIBUTE_UNUSED =
+ ToReal(CCTK_ORIGIN_SPACE(2));
+ const CCTK_REAL_VEC dt CCTK_ATTRIBUTE_UNUSED =
+ ToReal(CCTK_DELTA_TIME);
+ const CCTK_REAL_VEC dx CCTK_ATTRIBUTE_UNUSED =
+ ToReal(CCTK_DELTA_SPACE(0));
+ const CCTK_REAL_VEC dy CCTK_ATTRIBUTE_UNUSED =
+ ToReal(CCTK_DELTA_SPACE(1));
+ const CCTK_REAL_VEC dz CCTK_ATTRIBUTE_UNUSED =
+ ToReal(CCTK_DELTA_SPACE(2));
+ const CCTK_REAL_VEC dxi CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),dx);
+ const CCTK_REAL_VEC dyi CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),dy);
+ const CCTK_REAL_VEC dzi CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),dz);
const CCTK_REAL_VEC khalf CCTK_ATTRIBUTE_UNUSED = ToReal(0.5);
const CCTK_REAL_VEC kthird CCTK_ATTRIBUTE_UNUSED =
ToReal(0.333333333333333333333333333333);
@@ -80,35 +84,34 @@ static void WeylScal4_psi4_calc_4th_Body(const cGH* restrict const cctkGH, const
kmul(dyi,ToReal(0.5));
const CCTK_REAL_VEC hdzi CCTK_ATTRIBUTE_UNUSED =
kmul(dzi,ToReal(0.5));
-
/* Initialize predefined quantities */
const CCTK_REAL_VEC p1o12dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dx);
const CCTK_REAL_VEC p1o12dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dy);
const CCTK_REAL_VEC p1o12dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dz);
- const CCTK_REAL_VEC p1o144dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dy,dx));
- const CCTK_REAL_VEC p1o144dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dz,dx));
- const CCTK_REAL_VEC p1o144dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dz,dy));
+ const CCTK_REAL_VEC p1o144dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dx,dy));
+ const CCTK_REAL_VEC p1o144dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dx,dz));
+ const CCTK_REAL_VEC p1o144dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dy,dz));
const CCTK_REAL_VEC p1o180dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dx,dx));
const CCTK_REAL_VEC p1o180dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dy,dy));
const CCTK_REAL_VEC p1o180dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dz,dz));
const CCTK_REAL_VEC p1o2dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dx);
const CCTK_REAL_VEC p1o2dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dy);
const CCTK_REAL_VEC p1o2dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dz);
- const CCTK_REAL_VEC p1o3600dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dy,dx));
- const CCTK_REAL_VEC p1o3600dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dz,dx));
- const CCTK_REAL_VEC p1o3600dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dz,dy));
- const CCTK_REAL_VEC p1o4dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dy,dx));
- const CCTK_REAL_VEC p1o4dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dz,dx));
- const CCTK_REAL_VEC p1o4dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dz,dy));
+ const CCTK_REAL_VEC p1o3600dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dx,dy));
+ const CCTK_REAL_VEC p1o3600dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dx,dz));
+ const CCTK_REAL_VEC p1o3600dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dy,dz));
+ const CCTK_REAL_VEC p1o4dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dx,dy));
+ const CCTK_REAL_VEC p1o4dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dx,dz));
+ const CCTK_REAL_VEC p1o4dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dy,dz));
const CCTK_REAL_VEC p1o5040dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dx,dx));
const CCTK_REAL_VEC p1o5040dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dy,dy));
const CCTK_REAL_VEC p1o5040dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dz,dz));
const CCTK_REAL_VEC p1o60dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dx);
const CCTK_REAL_VEC p1o60dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dy);
const CCTK_REAL_VEC p1o60dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dz);
- const CCTK_REAL_VEC p1o705600dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dy,dx));
- const CCTK_REAL_VEC p1o705600dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dz,dx));
- const CCTK_REAL_VEC p1o705600dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dz,dy));
+ const CCTK_REAL_VEC p1o705600dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dx,dy));
+ const CCTK_REAL_VEC p1o705600dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dx,dz));
+ const CCTK_REAL_VEC p1o705600dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dy,dz));
const CCTK_REAL_VEC p1o840dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dx);
const CCTK_REAL_VEC p1o840dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dy);
const CCTK_REAL_VEC p1o840dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dz);
@@ -118,62 +121,76 @@ static void WeylScal4_psi4_calc_4th_Body(const cGH* restrict const cctkGH, const
const CCTK_REAL_VEC pm1o12dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dx,dx));
const CCTK_REAL_VEC pm1o12dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dy,dy));
const CCTK_REAL_VEC pm1o12dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dz,dz));
-
/* Jacobian variable pointers */
- const bool use_jacobian1 = (!CCTK_IsFunctionAliased("MultiPatch_GetMap") || MultiPatch_GetMap(cctkGH) != jacobian_identity_map)
+ const bool usejacobian1 = (!CCTK_IsFunctionAliased("MultiPatch_GetMap") || MultiPatch_GetMap(cctkGH) != jacobian_identity_map)
&& strlen(jacobian_group) > 0;
- const bool use_jacobian = assume_use_jacobian>=0 ? assume_use_jacobian : use_jacobian1;
- const bool usejacobian CCTK_ATTRIBUTE_UNUSED = use_jacobian;
- if (use_jacobian && (strlen(jacobian_derivative_group) == 0))
+ const bool usejacobian = assume_use_jacobian>=0 ? assume_use_jacobian : usejacobian1;
+ if (usejacobian && (strlen(jacobian_derivative_group) == 0))
{
CCTK_WARN(1, "GenericFD::jacobian_group and GenericFD::jacobian_derivative_group must both be set to valid group names");
}
const CCTK_REAL* restrict jacobian_ptrs[9];
- if (use_jacobian) GenericFD_GroupDataPointers(cctkGH, jacobian_group,
+ if (usejacobian) GroupDataPointers(cctkGH, jacobian_group,
9, jacobian_ptrs);
- const CCTK_REAL* restrict const J11 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[0] : 0;
- const CCTK_REAL* restrict const J12 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[1] : 0;
- const CCTK_REAL* restrict const J13 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[2] : 0;
- const CCTK_REAL* restrict const J21 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[3] : 0;
- const CCTK_REAL* restrict const J22 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[4] : 0;
- const CCTK_REAL* restrict const J23 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[5] : 0;
- const CCTK_REAL* restrict const J31 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[6] : 0;
- const CCTK_REAL* restrict const J32 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[7] : 0;
- const CCTK_REAL* restrict const J33 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[8] : 0;
+ const CCTK_REAL* restrict const J11 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_ptrs[0] : 0;
+ const CCTK_REAL* restrict const J12 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_ptrs[1] : 0;
+ const CCTK_REAL* restrict const J13 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_ptrs[2] : 0;
+ const CCTK_REAL* restrict const J21 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_ptrs[3] : 0;
+ const CCTK_REAL* restrict const J22 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_ptrs[4] : 0;
+ const CCTK_REAL* restrict const J23 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_ptrs[5] : 0;
+ const CCTK_REAL* restrict const J31 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_ptrs[6] : 0;
+ const CCTK_REAL* restrict const J32 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_ptrs[7] : 0;
+ const CCTK_REAL* restrict const J33 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_ptrs[8] : 0;
- const CCTK_REAL* restrict jacobian_derivative_ptrs[18] CCTK_ATTRIBUTE_UNUSED;
- if (use_jacobian) GenericFD_GroupDataPointers(cctkGH, jacobian_derivative_group,
- 18, jacobian_derivative_ptrs);
+ const CCTK_REAL* restrict jacobian_determinant_ptrs[1] CCTK_ATTRIBUTE_UNUSED;
+ if (usejacobian && strlen(jacobian_determinant_group) > 0) GroupDataPointers(cctkGH, jacobian_determinant_group,
+ 1, jacobian_determinant_ptrs);
- const CCTK_REAL* restrict const dJ111 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[0] : 0;
- const CCTK_REAL* restrict const dJ112 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[1] : 0;
- const CCTK_REAL* restrict const dJ113 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[2] : 0;
- const CCTK_REAL* restrict const dJ122 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[3] : 0;
- const CCTK_REAL* restrict const dJ123 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[4] : 0;
- const CCTK_REAL* restrict const dJ133 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[5] : 0;
- const CCTK_REAL* restrict const dJ211 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[6] : 0;
- const CCTK_REAL* restrict const dJ212 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[7] : 0;
- const CCTK_REAL* restrict const dJ213 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[8] : 0;
- const CCTK_REAL* restrict const dJ222 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[9] : 0;
- const CCTK_REAL* restrict const dJ223 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[10] : 0;
- const CCTK_REAL* restrict const dJ233 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[11] : 0;
- const CCTK_REAL* restrict const dJ311 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[12] : 0;
- const CCTK_REAL* restrict const dJ312 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[13] : 0;
- const CCTK_REAL* restrict const dJ313 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[14] : 0;
- const CCTK_REAL* restrict const dJ322 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[15] : 0;
- const CCTK_REAL* restrict const dJ323 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[16] : 0;
- const CCTK_REAL* restrict const dJ333 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[17] : 0;
+ const CCTK_REAL* restrict const detJ CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_determinant_ptrs[0] : 0;
- /* Assign local copies of arrays functions */
+ const CCTK_REAL* restrict jacobian_inverse_ptrs[9] CCTK_ATTRIBUTE_UNUSED;
+ if (usejacobian && strlen(jacobian_inverse_group) > 0) GroupDataPointers(cctkGH, jacobian_inverse_group,
+ 9, jacobian_inverse_ptrs);
+ const CCTK_REAL* restrict const iJ11 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_inverse_ptrs[0] : 0;
+ const CCTK_REAL* restrict const iJ12 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_inverse_ptrs[1] : 0;
+ const CCTK_REAL* restrict const iJ13 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_inverse_ptrs[2] : 0;
+ const CCTK_REAL* restrict const iJ21 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_inverse_ptrs[3] : 0;
+ const CCTK_REAL* restrict const iJ22 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_inverse_ptrs[4] : 0;
+ const CCTK_REAL* restrict const iJ23 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_inverse_ptrs[5] : 0;
+ const CCTK_REAL* restrict const iJ31 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_inverse_ptrs[6] : 0;
+ const CCTK_REAL* restrict const iJ32 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_inverse_ptrs[7] : 0;
+ const CCTK_REAL* restrict const iJ33 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_inverse_ptrs[8] : 0;
+ const CCTK_REAL* restrict jacobian_derivative_ptrs[18] CCTK_ATTRIBUTE_UNUSED;
+ if (usejacobian) GroupDataPointers(cctkGH, jacobian_derivative_group,
+ 18, jacobian_derivative_ptrs);
- /* Calculate temporaries and arrays functions */
+ const CCTK_REAL* restrict const dJ111 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_derivative_ptrs[0] : 0;
+ const CCTK_REAL* restrict const dJ112 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_derivative_ptrs[1] : 0;
+ const CCTK_REAL* restrict const dJ113 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_derivative_ptrs[2] : 0;
+ const CCTK_REAL* restrict const dJ122 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_derivative_ptrs[3] : 0;
+ const CCTK_REAL* restrict const dJ123 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_derivative_ptrs[4] : 0;
+ const CCTK_REAL* restrict const dJ133 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_derivative_ptrs[5] : 0;
+ const CCTK_REAL* restrict const dJ211 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_derivative_ptrs[6] : 0;
+ const CCTK_REAL* restrict const dJ212 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_derivative_ptrs[7] : 0;
+ const CCTK_REAL* restrict const dJ213 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_derivative_ptrs[8] : 0;
+ const CCTK_REAL* restrict const dJ222 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_derivative_ptrs[9] : 0;
+ const CCTK_REAL* restrict const dJ223 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_derivative_ptrs[10] : 0;
+ const CCTK_REAL* restrict const dJ233 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_derivative_ptrs[11] : 0;
+ const CCTK_REAL* restrict const dJ311 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_derivative_ptrs[12] : 0;
+ const CCTK_REAL* restrict const dJ312 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_derivative_ptrs[13] : 0;
+ const CCTK_REAL* restrict const dJ313 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_derivative_ptrs[14] : 0;
+ const CCTK_REAL* restrict const dJ322 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_derivative_ptrs[15] : 0;
+ const CCTK_REAL* restrict const dJ323 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_derivative_ptrs[16] : 0;
+ const CCTK_REAL* restrict const dJ333 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_derivative_ptrs[17] : 0;
+ /* Assign local copies of arrays functions */
- /* Copy local copies back to grid functions */
+ /* Calculate temporaries and arrays functions */
+ /* Copy local copies back to grid functions */
/* Loop over the grid points */
const int imin0=imin[0];
const int imin1=imin[1];
@@ -181,15 +198,13 @@ static void WeylScal4_psi4_calc_4th_Body(const cGH* restrict const cctkGH, const
const int imax0=imax[0];
const int imax1=imax[1];
const int imax2=imax[2];
- #pragma omp parallel // reduction(+: vec_iter_counter, vec_op_counter, vec_mem_counter)
+ #pragma omp parallel
CCTK_LOOP3STR(WeylScal4_psi4_calc_4th,
i,j,k, imin0,imin1,imin2, imax0,imax1,imax2,
cctk_ash[0],cctk_ash[1],cctk_ash[2],
vecimin,vecimax, CCTK_REAL_VEC_SIZE)
{
const ptrdiff_t index CCTK_ATTRIBUTE_UNUSED = di*i + dj*j + dk*k;
- // vec_iter_counter+=CCTK_REAL_VEC_SIZE;
-
/* Assign local copies of grid functions */
CCTK_REAL_VEC gxxL CCTK_ATTRIBUTE_UNUSED = vec_load(gxx[index]);
@@ -211,7 +226,7 @@ static void WeylScal4_psi4_calc_4th_Body(const cGH* restrict const cctkGH, const
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 CCTK_ATTRIBUTE_UNUSED ;
- if (use_jacobian)
+ if (usejacobian)
{
dJ111L = vec_load(dJ111[index]);
dJ112L = vec_load(dJ112[index]);
@@ -241,9 +256,7 @@ static void WeylScal4_psi4_calc_4th_Body(const cGH* restrict const cctkGH, const
J32L = vec_load(J32[index]);
J33L = vec_load(J33[index]);
}
-
/* Include user supplied include files */
-
/* Precompute derivatives */
CCTK_REAL_VEC PDstandard4th1gxx CCTK_ATTRIBUTE_UNUSED;
CCTK_REAL_VEC PDstandard4th2gxx CCTK_ATTRIBUTE_UNUSED;
@@ -630,7 +643,6 @@ static void WeylScal4_psi4_calc_4th_Body(const cGH* restrict const cctkGH, const
default:
CCTK_BUILTIN_UNREACHABLE();
}
-
/* Calculate temporaries and grid functions */
CCTK_REAL_VEC JacPDstandard4th11gyy CCTK_ATTRIBUTE_UNUSED;
CCTK_REAL_VEC JacPDstandard4th11gyz CCTK_ATTRIBUTE_UNUSED;
@@ -690,7 +702,7 @@ static void WeylScal4_psi4_calc_4th_Body(const cGH* restrict const cctkGH, const
CCTK_REAL_VEC JacPDstandard4th3kyy CCTK_ATTRIBUTE_UNUSED;
CCTK_REAL_VEC JacPDstandard4th3kyz CCTK_ATTRIBUTE_UNUSED;
- if (use_jacobian)
+ if (usejacobian)
{
JacPDstandard4th1gxx =
kmadd(J11L,PDstandard4th1gxx,kmadd(J21L,PDstandard4th2gxx,kmul(J31L,PDstandard4th3gxx)));
@@ -792,31 +804,31 @@ static void WeylScal4_psi4_calc_4th_Body(const cGH* restrict const cctkGH, const
kmadd(J13L,PDstandard4th1kyz,kmadd(J23L,PDstandard4th2kyz,kmul(J33L,PDstandard4th3kyz)));
JacPDstandard4th11gyy =
- kmadd(dJ111L,PDstandard4th1gyy,kmadd(dJ211L,PDstandard4th2gyy,kmadd(dJ311L,PDstandard4th3gyy,kmadd(PDstandard4th11gyy,kmul(J11L,J11L),kmadd(PDstandard4th22gyy,kmul(J21L,J21L),kmadd(PDstandard4th33gyy,kmul(J31L,J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandard4th12gyy,kmul(J31L,PDstandard4th13gyy)),kmul(J21L,kmul(J31L,PDstandard4th23gyy))),ToReal(2))))))));
+ kmadd(dJ111L,PDstandard4th1gyy,kmadd(ToReal(2),kmadd(J11L,kmadd(J21L,PDstandard4th12gyy,kmul(J31L,PDstandard4th13gyy)),kmul(J21L,kmul(J31L,PDstandard4th23gyy))),kmadd(dJ211L,PDstandard4th2gyy,kmadd(dJ311L,PDstandard4th3gyy,kmadd(PDstandard4th11gyy,kmul(J11L,J11L),kmadd(PDstandard4th22gyy,kmul(J21L,J21L),kmul(PDstandard4th33gyy,kmul(J31L,J31L))))))));
JacPDstandard4th11gyz =
- kmadd(dJ111L,PDstandard4th1gyz,kmadd(dJ211L,PDstandard4th2gyz,kmadd(dJ311L,PDstandard4th3gyz,kmadd(PDstandard4th11gyz,kmul(J11L,J11L),kmadd(PDstandard4th22gyz,kmul(J21L,J21L),kmadd(PDstandard4th33gyz,kmul(J31L,J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandard4th12gyz,kmul(J31L,PDstandard4th13gyz)),kmul(J21L,kmul(J31L,PDstandard4th23gyz))),ToReal(2))))))));
+ kmadd(dJ111L,PDstandard4th1gyz,kmadd(ToReal(2),kmadd(J11L,kmadd(J21L,PDstandard4th12gyz,kmul(J31L,PDstandard4th13gyz)),kmul(J21L,kmul(J31L,PDstandard4th23gyz))),kmadd(dJ211L,PDstandard4th2gyz,kmadd(dJ311L,PDstandard4th3gyz,kmadd(PDstandard4th11gyz,kmul(J11L,J11L),kmadd(PDstandard4th22gyz,kmul(J21L,J21L),kmul(PDstandard4th33gyz,kmul(J31L,J31L))))))));
JacPDstandard4th11gzz =
- kmadd(dJ111L,PDstandard4th1gzz,kmadd(dJ211L,PDstandard4th2gzz,kmadd(dJ311L,PDstandard4th3gzz,kmadd(PDstandard4th11gzz,kmul(J11L,J11L),kmadd(PDstandard4th22gzz,kmul(J21L,J21L),kmadd(PDstandard4th33gzz,kmul(J31L,J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandard4th12gzz,kmul(J31L,PDstandard4th13gzz)),kmul(J21L,kmul(J31L,PDstandard4th23gzz))),ToReal(2))))))));
+ kmadd(dJ111L,PDstandard4th1gzz,kmadd(ToReal(2),kmadd(J11L,kmadd(J21L,PDstandard4th12gzz,kmul(J31L,PDstandard4th13gzz)),kmul(J21L,kmul(J31L,PDstandard4th23gzz))),kmadd(dJ211L,PDstandard4th2gzz,kmadd(dJ311L,PDstandard4th3gzz,kmadd(PDstandard4th11gzz,kmul(J11L,J11L),kmadd(PDstandard4th22gzz,kmul(J21L,J21L),kmul(PDstandard4th33gzz,kmul(J31L,J31L))))))));
JacPDstandard4th22gxx =
- kmadd(dJ122L,PDstandard4th1gxx,kmadd(dJ222L,PDstandard4th2gxx,kmadd(dJ322L,PDstandard4th3gxx,kmadd(PDstandard4th11gxx,kmul(J12L,J12L),kmadd(PDstandard4th22gxx,kmul(J22L,J22L),kmadd(PDstandard4th33gxx,kmul(J32L,J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandard4th12gxx,kmul(J32L,PDstandard4th13gxx)),kmul(J22L,kmul(J32L,PDstandard4th23gxx))),ToReal(2))))))));
+ kmadd(dJ122L,PDstandard4th1gxx,kmadd(ToReal(2),kmadd(J12L,kmadd(J22L,PDstandard4th12gxx,kmul(J32L,PDstandard4th13gxx)),kmul(J22L,kmul(J32L,PDstandard4th23gxx))),kmadd(dJ222L,PDstandard4th2gxx,kmadd(dJ322L,PDstandard4th3gxx,kmadd(PDstandard4th11gxx,kmul(J12L,J12L),kmadd(PDstandard4th22gxx,kmul(J22L,J22L),kmul(PDstandard4th33gxx,kmul(J32L,J32L))))))));
JacPDstandard4th22gxz =
- kmadd(dJ122L,PDstandard4th1gxz,kmadd(dJ222L,PDstandard4th2gxz,kmadd(dJ322L,PDstandard4th3gxz,kmadd(PDstandard4th11gxz,kmul(J12L,J12L),kmadd(PDstandard4th22gxz,kmul(J22L,J22L),kmadd(PDstandard4th33gxz,kmul(J32L,J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandard4th12gxz,kmul(J32L,PDstandard4th13gxz)),kmul(J22L,kmul(J32L,PDstandard4th23gxz))),ToReal(2))))))));
+ kmadd(dJ122L,PDstandard4th1gxz,kmadd(ToReal(2),kmadd(J12L,kmadd(J22L,PDstandard4th12gxz,kmul(J32L,PDstandard4th13gxz)),kmul(J22L,kmul(J32L,PDstandard4th23gxz))),kmadd(dJ222L,PDstandard4th2gxz,kmadd(dJ322L,PDstandard4th3gxz,kmadd(PDstandard4th11gxz,kmul(J12L,J12L),kmadd(PDstandard4th22gxz,kmul(J22L,J22L),kmul(PDstandard4th33gxz,kmul(J32L,J32L))))))));
JacPDstandard4th22gzz =
- kmadd(dJ122L,PDstandard4th1gzz,kmadd(dJ222L,PDstandard4th2gzz,kmadd(dJ322L,PDstandard4th3gzz,kmadd(PDstandard4th11gzz,kmul(J12L,J12L),kmadd(PDstandard4th22gzz,kmul(J22L,J22L),kmadd(PDstandard4th33gzz,kmul(J32L,J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandard4th12gzz,kmul(J32L,PDstandard4th13gzz)),kmul(J22L,kmul(J32L,PDstandard4th23gzz))),ToReal(2))))))));
+ kmadd(dJ122L,PDstandard4th1gzz,kmadd(ToReal(2),kmadd(J12L,kmadd(J22L,PDstandard4th12gzz,kmul(J32L,PDstandard4th13gzz)),kmul(J22L,kmul(J32L,PDstandard4th23gzz))),kmadd(dJ222L,PDstandard4th2gzz,kmadd(dJ322L,PDstandard4th3gzz,kmadd(PDstandard4th11gzz,kmul(J12L,J12L),kmadd(PDstandard4th22gzz,kmul(J22L,J22L),kmul(PDstandard4th33gzz,kmul(J32L,J32L))))))));
JacPDstandard4th33gxx =
- kmadd(dJ133L,PDstandard4th1gxx,kmadd(dJ233L,PDstandard4th2gxx,kmadd(dJ333L,PDstandard4th3gxx,kmadd(PDstandard4th11gxx,kmul(J13L,J13L),kmadd(PDstandard4th22gxx,kmul(J23L,J23L),kmadd(PDstandard4th33gxx,kmul(J33L,J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandard4th12gxx,kmul(J33L,PDstandard4th13gxx)),kmul(J23L,kmul(J33L,PDstandard4th23gxx))),ToReal(2))))))));
+ kmadd(dJ133L,PDstandard4th1gxx,kmadd(ToReal(2),kmadd(J13L,kmadd(J23L,PDstandard4th12gxx,kmul(J33L,PDstandard4th13gxx)),kmul(J23L,kmul(J33L,PDstandard4th23gxx))),kmadd(dJ233L,PDstandard4th2gxx,kmadd(dJ333L,PDstandard4th3gxx,kmadd(PDstandard4th11gxx,kmul(J13L,J13L),kmadd(PDstandard4th22gxx,kmul(J23L,J23L),kmul(PDstandard4th33gxx,kmul(J33L,J33L))))))));
JacPDstandard4th33gxy =
- kmadd(dJ133L,PDstandard4th1gxy,kmadd(dJ233L,PDstandard4th2gxy,kmadd(dJ333L,PDstandard4th3gxy,kmadd(PDstandard4th11gxy,kmul(J13L,J13L),kmadd(PDstandard4th22gxy,kmul(J23L,J23L),kmadd(PDstandard4th33gxy,kmul(J33L,J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandard4th12gxy,kmul(J33L,PDstandard4th13gxy)),kmul(J23L,kmul(J33L,PDstandard4th23gxy))),ToReal(2))))))));
+ kmadd(dJ133L,PDstandard4th1gxy,kmadd(ToReal(2),kmadd(J13L,kmadd(J23L,PDstandard4th12gxy,kmul(J33L,PDstandard4th13gxy)),kmul(J23L,kmul(J33L,PDstandard4th23gxy))),kmadd(dJ233L,PDstandard4th2gxy,kmadd(dJ333L,PDstandard4th3gxy,kmadd(PDstandard4th11gxy,kmul(J13L,J13L),kmadd(PDstandard4th22gxy,kmul(J23L,J23L),kmul(PDstandard4th33gxy,kmul(J33L,J33L))))))));
JacPDstandard4th33gyy =
- kmadd(dJ133L,PDstandard4th1gyy,kmadd(dJ233L,PDstandard4th2gyy,kmadd(dJ333L,PDstandard4th3gyy,kmadd(PDstandard4th11gyy,kmul(J13L,J13L),kmadd(PDstandard4th22gyy,kmul(J23L,J23L),kmadd(PDstandard4th33gyy,kmul(J33L,J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandard4th12gyy,kmul(J33L,PDstandard4th13gyy)),kmul(J23L,kmul(J33L,PDstandard4th23gyy))),ToReal(2))))))));
+ kmadd(dJ133L,PDstandard4th1gyy,kmadd(ToReal(2),kmadd(J13L,kmadd(J23L,PDstandard4th12gyy,kmul(J33L,PDstandard4th13gyy)),kmul(J23L,kmul(J33L,PDstandard4th23gyy))),kmadd(dJ233L,PDstandard4th2gyy,kmadd(dJ333L,PDstandard4th3gyy,kmadd(PDstandard4th11gyy,kmul(J13L,J13L),kmadd(PDstandard4th22gyy,kmul(J23L,J23L),kmul(PDstandard4th33gyy,kmul(J33L,J33L))))))));
JacPDstandard4th12gxy =
kmadd(J12L,kmadd(J11L,PDstandard4th11gxy,kmadd(J21L,PDstandard4th12gxy,kmul(J31L,PDstandard4th13gxy))),kmadd(J11L,kmadd(J22L,PDstandard4th12gxy,kmul(J32L,PDstandard4th13gxy)),kmadd(dJ112L,PDstandard4th1gxy,kmadd(J22L,kmadd(J21L,PDstandard4th22gxy,kmul(J31L,PDstandard4th23gxy)),kmadd(dJ212L,PDstandard4th2gxy,kmadd(J32L,kmadd(J21L,PDstandard4th23gxy,kmul(J31L,PDstandard4th33gxy)),kmul(dJ312L,PDstandard4th3gxy)))))));
@@ -981,7 +993,7 @@ static void WeylScal4_psi4_calc_4th_Body(const cGH* restrict const cctkGH, const
}
CCTK_REAL_VEC detg CCTK_ATTRIBUTE_UNUSED =
- knmsub(gyyL,kmul(gxzL,gxzL),knmsub(gxxL,kmul(gyzL,gyzL),kmadd(gzzL,kmsub(gxxL,gyyL,kmul(gxyL,gxyL)),kmul(gxyL,kmul(gxzL,kmul(gyzL,ToReal(2)))))));
+ kmadd(ToReal(2),kmul(gxyL,kmul(gxzL,gyzL)),knmsub(gzzL,kmul(gxyL,gxyL),kmsub(gyyL,kmsub(gxxL,gzzL,kmul(gxzL,gxzL)),kmul(gxxL,kmul(gyzL,gyzL)))));
CCTK_REAL_VEC invdetg CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),detg);
@@ -1013,13 +1025,13 @@ static void WeylScal4_psi4_calc_4th_Body(const cGH* restrict const cctkGH, const
kmul(invdetg,kmsub(gxxL,gyyL,kmul(gxyL,gxyL)));
CCTK_REAL_VEC gamma111 CCTK_ATTRIBUTE_UNUSED =
- kmul(ToReal(0.5),kmadd(gInv11,JacPDstandard4th1gxx,knmsub(gInv12,JacPDstandard4th2gxx,kmsub(kmadd(gInv12,JacPDstandard4th1gxy,kmul(gInv13,JacPDstandard4th1gxz)),ToReal(2),kmul(gInv13,JacPDstandard4th3gxx)))));
+ kmul(kmadd(gInv11,JacPDstandard4th1gxx,kmsub(ToReal(2),kmadd(gInv12,JacPDstandard4th1gxy,kmul(gInv13,JacPDstandard4th1gxz)),kmadd(gInv13,JacPDstandard4th3gxx,kmul(gInv12,JacPDstandard4th2gxx)))),ToReal(0.5));
CCTK_REAL_VEC gamma211 CCTK_ATTRIBUTE_UNUSED =
- kmul(ToReal(0.5),kmadd(gInv21,JacPDstandard4th1gxx,knmsub(gInv22,JacPDstandard4th2gxx,kmsub(kmadd(gInv22,JacPDstandard4th1gxy,kmul(gInv23,JacPDstandard4th1gxz)),ToReal(2),kmul(gInv23,JacPDstandard4th3gxx)))));
+ kmul(kmadd(gInv21,JacPDstandard4th1gxx,kmsub(ToReal(2),kmadd(gInv22,JacPDstandard4th1gxy,kmul(gInv23,JacPDstandard4th1gxz)),kmadd(gInv23,JacPDstandard4th3gxx,kmul(gInv22,JacPDstandard4th2gxx)))),ToReal(0.5));
CCTK_REAL_VEC gamma311 CCTK_ATTRIBUTE_UNUSED =
- kmul(ToReal(0.5),kmadd(gInv31,JacPDstandard4th1gxx,knmsub(gInv32,JacPDstandard4th2gxx,kmsub(kmadd(gInv32,JacPDstandard4th1gxy,kmul(gInv33,JacPDstandard4th1gxz)),ToReal(2),kmul(gInv33,JacPDstandard4th3gxx)))));
+ kmul(kmadd(gInv31,JacPDstandard4th1gxx,kmsub(ToReal(2),kmadd(gInv32,JacPDstandard4th1gxy,kmul(gInv33,JacPDstandard4th1gxz)),kmadd(gInv33,JacPDstandard4th3gxx,kmul(gInv32,JacPDstandard4th2gxx)))),ToReal(0.5));
CCTK_REAL_VEC gamma121 CCTK_ATTRIBUTE_UNUSED =
kmul(kmadd(gInv12,JacPDstandard4th1gyy,kmadd(gInv11,JacPDstandard4th2gxx,kmul(gInv13,kadd(JacPDstandard4th1gyz,ksub(JacPDstandard4th2gxz,JacPDstandard4th3gxy))))),ToReal(0.5));
@@ -1040,31 +1052,31 @@ static void WeylScal4_psi4_calc_4th_Body(const cGH* restrict const cctkGH, const
kmul(kmadd(gInv33,JacPDstandard4th1gzz,kmadd(gInv31,JacPDstandard4th3gxx,kmul(gInv32,kadd(JacPDstandard4th1gyz,ksub(JacPDstandard4th3gxy,JacPDstandard4th2gxz))))),ToReal(0.5));
CCTK_REAL_VEC gamma122 CCTK_ATTRIBUTE_UNUSED =
- kmul(ToReal(0.5),kmadd(gInv12,JacPDstandard4th2gyy,kmadd(gInv11,kmsub(JacPDstandard4th2gxy,ToReal(2),JacPDstandard4th1gyy),kmul(gInv13,kmsub(JacPDstandard4th2gyz,ToReal(2),JacPDstandard4th3gyy)))));
+ kmul(kmadd(gInv11,kmsub(ToReal(2),JacPDstandard4th2gxy,JacPDstandard4th1gyy),kmadd(gInv12,JacPDstandard4th2gyy,kmul(gInv13,kmsub(ToReal(2),JacPDstandard4th2gyz,JacPDstandard4th3gyy)))),ToReal(0.5));
CCTK_REAL_VEC gamma222 CCTK_ATTRIBUTE_UNUSED =
- kmul(ToReal(0.5),kmadd(gInv22,JacPDstandard4th2gyy,kmadd(gInv21,kmsub(JacPDstandard4th2gxy,ToReal(2),JacPDstandard4th1gyy),kmul(gInv23,kmsub(JacPDstandard4th2gyz,ToReal(2),JacPDstandard4th3gyy)))));
+ kmul(kmadd(gInv21,kmsub(ToReal(2),JacPDstandard4th2gxy,JacPDstandard4th1gyy),kmadd(gInv22,JacPDstandard4th2gyy,kmul(gInv23,kmsub(ToReal(2),JacPDstandard4th2gyz,JacPDstandard4th3gyy)))),ToReal(0.5));
CCTK_REAL_VEC gamma322 CCTK_ATTRIBUTE_UNUSED =
- kmul(ToReal(0.5),kmadd(gInv32,JacPDstandard4th2gyy,kmadd(gInv31,kmsub(JacPDstandard4th2gxy,ToReal(2),JacPDstandard4th1gyy),kmul(gInv33,kmsub(JacPDstandard4th2gyz,ToReal(2),JacPDstandard4th3gyy)))));
+ kmul(kmadd(gInv31,kmsub(ToReal(2),JacPDstandard4th2gxy,JacPDstandard4th1gyy),kmadd(gInv32,JacPDstandard4th2gyy,kmul(gInv33,kmsub(ToReal(2),JacPDstandard4th2gyz,JacPDstandard4th3gyy)))),ToReal(0.5));
CCTK_REAL_VEC gamma132 CCTK_ATTRIBUTE_UNUSED =
- kmul(kmadd(gInv13,JacPDstandard4th2gzz,kmadd(gInv12,JacPDstandard4th3gyy,kmul(gInv11,kadd(JacPDstandard4th2gxz,ksub(JacPDstandard4th3gxy,JacPDstandard4th1gyz))))),ToReal(0.5));
+ kmul(kmadd(gInv13,JacPDstandard4th2gzz,kmadd(gInv11,ksub(kadd(JacPDstandard4th2gxz,JacPDstandard4th3gxy),JacPDstandard4th1gyz),kmul(gInv12,JacPDstandard4th3gyy))),ToReal(0.5));
CCTK_REAL_VEC gamma232 CCTK_ATTRIBUTE_UNUSED =
- kmul(kmadd(gInv23,JacPDstandard4th2gzz,kmadd(gInv22,JacPDstandard4th3gyy,kmul(gInv21,kadd(JacPDstandard4th2gxz,ksub(JacPDstandard4th3gxy,JacPDstandard4th1gyz))))),ToReal(0.5));
+ kmul(kmadd(gInv23,JacPDstandard4th2gzz,kmadd(gInv21,ksub(kadd(JacPDstandard4th2gxz,JacPDstandard4th3gxy),JacPDstandard4th1gyz),kmul(gInv22,JacPDstandard4th3gyy))),ToReal(0.5));
CCTK_REAL_VEC gamma332 CCTK_ATTRIBUTE_UNUSED =
- kmul(kmadd(gInv33,JacPDstandard4th2gzz,kmadd(gInv32,JacPDstandard4th3gyy,kmul(gInv31,kadd(JacPDstandard4th2gxz,ksub(JacPDstandard4th3gxy,JacPDstandard4th1gyz))))),ToReal(0.5));
+ kmul(kmadd(gInv33,JacPDstandard4th2gzz,kmadd(gInv31,ksub(kadd(JacPDstandard4th2gxz,JacPDstandard4th3gxy),JacPDstandard4th1gyz),kmul(gInv32,JacPDstandard4th3gyy))),ToReal(0.5));
CCTK_REAL_VEC gamma133 CCTK_ATTRIBUTE_UNUSED =
- kmul(ToReal(0.5),kmadd(gInv13,JacPDstandard4th3gzz,kmadd(gInv11,kmsub(JacPDstandard4th3gxz,ToReal(2),JacPDstandard4th1gzz),kmul(gInv12,kmsub(JacPDstandard4th3gyz,ToReal(2),JacPDstandard4th2gzz)))));
+ kmul(kmadd(gInv11,kmsub(ToReal(2),JacPDstandard4th3gxz,JacPDstandard4th1gzz),kmadd(gInv12,kmsub(ToReal(2),JacPDstandard4th3gyz,JacPDstandard4th2gzz),kmul(gInv13,JacPDstandard4th3gzz))),ToReal(0.5));
CCTK_REAL_VEC gamma233 CCTK_ATTRIBUTE_UNUSED =
- kmul(ToReal(0.5),kmadd(gInv23,JacPDstandard4th3gzz,kmadd(gInv21,kmsub(JacPDstandard4th3gxz,ToReal(2),JacPDstandard4th1gzz),kmul(gInv22,kmsub(JacPDstandard4th3gyz,ToReal(2),JacPDstandard4th2gzz)))));
+ kmul(kmadd(gInv21,kmsub(ToReal(2),JacPDstandard4th3gxz,JacPDstandard4th1gzz),kmadd(gInv22,kmsub(ToReal(2),JacPDstandard4th3gyz,JacPDstandard4th2gzz),kmul(gInv23,JacPDstandard4th3gzz))),ToReal(0.5));
CCTK_REAL_VEC gamma333 CCTK_ATTRIBUTE_UNUSED =
- kmul(ToReal(0.5),kmadd(gInv33,JacPDstandard4th3gzz,kmadd(gInv31,kmsub(JacPDstandard4th3gxz,ToReal(2),JacPDstandard4th1gzz),kmul(gInv32,kmsub(JacPDstandard4th3gyz,ToReal(2),JacPDstandard4th2gzz)))));
+ kmul(kmadd(gInv31,kmsub(ToReal(2),JacPDstandard4th3gxz,JacPDstandard4th1gzz),kmadd(gInv32,kmsub(ToReal(2),JacPDstandard4th3gyz,JacPDstandard4th2gzz),kmul(gInv33,JacPDstandard4th3gzz))),ToReal(0.5));
CCTK_REAL_VEC xmoved CCTK_ATTRIBUTE_UNUSED = ksub(xL,ToReal(xorig));
@@ -1085,13 +1097,13 @@ static void WeylScal4_psi4_calc_4th_Body(const cGH* restrict const cctkGH, const
CCTK_REAL_VEC vb3 CCTK_ATTRIBUTE_UNUSED = zmoved;
CCTK_REAL_VEC vc1 CCTK_ATTRIBUTE_UNUSED =
- kmul(ksqrt(detg),kmadd(vb3,kmsub(gInv11,va2,kmul(gInv12,va1)),kmadd(vb1,kmsub(gInv12,va3,kmul(gInv13,va2)),kmul(vb2,kmsub(gInv13,va1,kmul(gInv11,va3))))));
+ kmul(kmadd(kmsub(gInv12,va3,kmul(gInv13,va2)),vb1,kmadd(kmsub(gInv13,va1,kmul(gInv11,va3)),vb2,kmul(vb3,kmsub(gInv11,va2,kmul(gInv12,va1))))),kpow(detg,0.5));
CCTK_REAL_VEC vc2 CCTK_ATTRIBUTE_UNUSED =
- kmul(ksqrt(detg),kmadd(vb3,kmsub(gInv21,va2,kmul(gInv22,va1)),kmadd(vb1,kmsub(gInv22,va3,kmul(gInv23,va2)),kmul(vb2,kmsub(gInv23,va1,kmul(gInv21,va3))))));
+ kmul(kmadd(kmsub(gInv22,va3,kmul(gInv23,va2)),vb1,kmadd(kmsub(gInv23,va1,kmul(gInv21,va3)),vb2,kmul(vb3,kmsub(gInv21,va2,kmul(gInv22,va1))))),kpow(detg,0.5));
CCTK_REAL_VEC vc3 CCTK_ATTRIBUTE_UNUSED =
- kmul(ksqrt(detg),kmadd(vb3,kmsub(gInv31,va2,kmul(gInv32,va1)),kmadd(vb1,kmsub(gInv32,va3,kmul(gInv33,va2)),kmul(vb2,kmsub(gInv33,va1,kmul(gInv31,va3))))));
+ kmul(kmadd(kmsub(gInv32,va3,kmul(gInv33,va2)),vb1,kmadd(kmsub(gInv33,va1,kmul(gInv31,va3)),vb2,kmul(vb3,kmsub(gInv31,va2,kmul(gInv32,va1))))),kpow(detg,0.5));
CCTK_REAL_VEC wa1 CCTK_ATTRIBUTE_UNUSED = va1;
@@ -1100,13 +1112,16 @@ static void WeylScal4_psi4_calc_4th_Body(const cGH* restrict const cctkGH, const
CCTK_REAL_VEC wa3 CCTK_ATTRIBUTE_UNUSED = va3;
CCTK_REAL_VEC omega11 CCTK_ATTRIBUTE_UNUSED =
- kmadd(gxxL,kmul(wa1,wa1),kmadd(gyyL,kmul(wa2,wa2),kmadd(gzzL,kmul(wa3,wa3),kmul(kmadd(gyzL,kmul(wa2,wa3),kmul(wa1,kmadd(gxyL,wa2,kmul(gxzL,wa3)))),ToReal(2)))));
+ kmadd(ToReal(2),kmadd(gyzL,kmul(wa2,wa3),kmul(wa1,kmadd(gxyL,wa2,kmul(gxzL,wa3)))),kmadd(gxxL,kmul(wa1,wa1),kmadd(gyyL,kmul(wa2,wa2),kmul(gzzL,kmul(wa3,wa3)))));
- CCTK_REAL_VEC ea1 CCTK_ATTRIBUTE_UNUSED = kdiv(wa1,ksqrt(omega11));
+ CCTK_REAL_VEC ea1 CCTK_ATTRIBUTE_UNUSED =
+ kmul(wa1,kpow(omega11,-0.5));
- CCTK_REAL_VEC ea2 CCTK_ATTRIBUTE_UNUSED = kdiv(wa2,ksqrt(omega11));
+ CCTK_REAL_VEC ea2 CCTK_ATTRIBUTE_UNUSED =
+ kmul(wa2,kpow(omega11,-0.5));
- CCTK_REAL_VEC ea3 CCTK_ATTRIBUTE_UNUSED = kdiv(wa3,ksqrt(omega11));
+ CCTK_REAL_VEC ea3 CCTK_ATTRIBUTE_UNUSED =
+ kmul(wa3,kpow(omega11,-0.5));
CCTK_REAL_VEC omega12 CCTK_ATTRIBUTE_UNUSED =
kmadd(ea1,kmadd(gxxL,vb1,kmadd(gxyL,vb2,kmul(gxzL,vb3))),kmadd(ea2,kmadd(gxyL,vb1,kmadd(gyyL,vb2,kmul(gyzL,vb3))),kmul(ea3,kmadd(gxzL,vb1,kmadd(gyzL,vb2,kmul(gzzL,vb3))))));
@@ -1118,13 +1133,16 @@ static void WeylScal4_psi4_calc_4th_Body(const cGH* restrict const cctkGH, const
CCTK_REAL_VEC wb3 CCTK_ATTRIBUTE_UNUSED = knmsub(ea3,omega12,vb3);
CCTK_REAL_VEC omega22 CCTK_ATTRIBUTE_UNUSED =
- kmadd(gxxL,kmul(wb1,wb1),kmadd(gyyL,kmul(wb2,wb2),kmadd(gzzL,kmul(wb3,wb3),kmul(kmadd(gyzL,kmul(wb2,wb3),kmul(wb1,kmadd(gxyL,wb2,kmul(gxzL,wb3)))),ToReal(2)))));
+ kmadd(ToReal(2),kmadd(gyzL,kmul(wb2,wb3),kmul(wb1,kmadd(gxyL,wb2,kmul(gxzL,wb3)))),kmadd(gxxL,kmul(wb1,wb1),kmadd(gyyL,kmul(wb2,wb2),kmul(gzzL,kmul(wb3,wb3)))));
- CCTK_REAL_VEC eb1 CCTK_ATTRIBUTE_UNUSED = kdiv(wb1,ksqrt(omega22));
+ CCTK_REAL_VEC eb1 CCTK_ATTRIBUTE_UNUSED =
+ kmul(wb1,kpow(omega22,-0.5));
- CCTK_REAL_VEC eb2 CCTK_ATTRIBUTE_UNUSED = kdiv(wb2,ksqrt(omega22));
+ CCTK_REAL_VEC eb2 CCTK_ATTRIBUTE_UNUSED =
+ kmul(wb2,kpow(omega22,-0.5));
- CCTK_REAL_VEC eb3 CCTK_ATTRIBUTE_UNUSED = kdiv(wb3,ksqrt(omega22));
+ CCTK_REAL_VEC eb3 CCTK_ATTRIBUTE_UNUSED =
+ kmul(wb3,kpow(omega22,-0.5));
CCTK_REAL_VEC omega13 CCTK_ATTRIBUTE_UNUSED =
kmadd(ea1,kmadd(gxxL,vc1,kmadd(gxyL,vc2,kmul(gxzL,vc3))),kmadd(ea2,kmadd(gxyL,vc1,kmadd(gyyL,vc2,kmul(gyzL,vc3))),kmul(ea3,kmadd(gxzL,vc1,kmadd(gyzL,vc2,kmul(gzzL,vc3))))));
@@ -1133,22 +1151,25 @@ static void WeylScal4_psi4_calc_4th_Body(const cGH* restrict const cctkGH, const
kmadd(eb1,kmadd(gxxL,vc1,kmadd(gxyL,vc2,kmul(gxzL,vc3))),kmadd(eb2,kmadd(gxyL,vc1,kmadd(gyyL,vc2,kmul(gyzL,vc3))),kmul(eb3,kmadd(gxzL,vc1,kmadd(gyzL,vc2,kmul(gzzL,vc3))))));
CCTK_REAL_VEC wc1 CCTK_ATTRIBUTE_UNUSED =
- ksub(vc1,kmadd(eb1,omega23,kmul(ea1,omega13)));
+ knmsub(ea1,omega13,knmsub(eb1,omega23,vc1));
CCTK_REAL_VEC wc2 CCTK_ATTRIBUTE_UNUSED =
- ksub(vc2,kmadd(eb2,omega23,kmul(ea2,omega13)));
+ knmsub(ea2,omega13,knmsub(eb2,omega23,vc2));
CCTK_REAL_VEC wc3 CCTK_ATTRIBUTE_UNUSED =
- ksub(vc3,kmadd(eb3,omega23,kmul(ea3,omega13)));
+ knmsub(ea3,omega13,knmsub(eb3,omega23,vc3));
CCTK_REAL_VEC omega33 CCTK_ATTRIBUTE_UNUSED =
- kmadd(gxxL,kmul(wc1,wc1),kmadd(gyyL,kmul(wc2,wc2),kmadd(gzzL,kmul(wc3,wc3),kmul(kmadd(gyzL,kmul(wc2,wc3),kmul(wc1,kmadd(gxyL,wc2,kmul(gxzL,wc3)))),ToReal(2)))));
+ kmadd(ToReal(2),kmadd(gyzL,kmul(wc2,wc3),kmul(wc1,kmadd(gxyL,wc2,kmul(gxzL,wc3)))),kmadd(gxxL,kmul(wc1,wc1),kmadd(gyyL,kmul(wc2,wc2),kmul(gzzL,kmul(wc3,wc3)))));
- CCTK_REAL_VEC ec1 CCTK_ATTRIBUTE_UNUSED = kdiv(wc1,ksqrt(omega33));
+ CCTK_REAL_VEC ec1 CCTK_ATTRIBUTE_UNUSED =
+ kmul(wc1,kpow(omega33,-0.5));
- CCTK_REAL_VEC ec2 CCTK_ATTRIBUTE_UNUSED = kdiv(wc2,ksqrt(omega33));
+ CCTK_REAL_VEC ec2 CCTK_ATTRIBUTE_UNUSED =
+ kmul(wc2,kpow(omega33,-0.5));
- CCTK_REAL_VEC ec3 CCTK_ATTRIBUTE_UNUSED = kdiv(wc3,ksqrt(omega33));
+ CCTK_REAL_VEC ec3 CCTK_ATTRIBUTE_UNUSED =
+ kmul(wc3,kpow(omega33,-0.5));
CCTK_REAL_VEC isqrt2 CCTK_ATTRIBUTE_UNUSED =
ToReal(0.707106781186547524);
@@ -1186,37 +1207,37 @@ static void WeylScal4_psi4_calc_4th_Body(const cGH* restrict const cctkGH, const
CCTK_REAL_VEC nn CCTK_ATTRIBUTE_UNUSED = isqrt2;
CCTK_REAL_VEC R1212 CCTK_ATTRIBUTE_UNUSED =
- kmul(ToReal(0.5),kadd(JacPDstandard4th12gxy,kadd(JacPDstandard4th21gxy,kmadd(kmadd(gamma122,kmadd(gxxL,gamma111,kmadd(gxyL,gamma211,kmul(gxzL,gamma311))),kmadd(gamma222,kmadd(gxyL,gamma111,kmadd(gyyL,gamma211,kmul(gyzL,gamma311))),kmul(kmadd(gxzL,gamma111,kmadd(gyzL,gamma211,kmul(gzzL,gamma311))),gamma322))),ToReal(-2),ksub(kmsub(kmadd(gamma121,kmadd(gxxL,gamma121,kmadd(gxyL,gamma221,kmul(gxzL,gamma321))),kmadd(gamma221,kmadd(gxyL,gamma121,kmadd(gyyL,gamma221,kmul(gyzL,gamma321))),kmul(gamma321,kmadd(gxzL,gamma121,kmadd(gyzL,gamma221,kmul(gzzL,gamma321)))))),ToReal(2),JacPDstandard4th22gxx),JacPDstandard4th11gyy)))));
+ kmul(kmadd(ToReal(2),kmadd(gamma121,kmadd(gxxL,gamma121,kmadd(gxyL,gamma221,kmul(gxzL,gamma321))),kmadd(gamma221,kmadd(gxyL,gamma121,kmadd(gyyL,gamma221,kmul(gyzL,gamma321))),kmul(gamma321,kmadd(gxzL,gamma121,kmadd(gyzL,gamma221,kmul(gzzL,gamma321)))))),kmadd(ToReal(-2),kmadd(gamma122,kmadd(gxxL,gamma111,kmadd(gxyL,gamma211,kmul(gxzL,gamma311))),kmadd(gamma222,kmadd(gxyL,gamma111,kmadd(gyyL,gamma211,kmul(gyzL,gamma311))),kmul(kmadd(gxzL,gamma111,kmadd(gyzL,gamma211,kmul(gzzL,gamma311))),gamma322))),ksub(kadd(JacPDstandard4th12gxy,ksub(JacPDstandard4th21gxy,JacPDstandard4th22gxx)),JacPDstandard4th11gyy))),ToReal(0.5));
CCTK_REAL_VEC R1213 CCTK_ATTRIBUTE_UNUSED =
- kmul(ToReal(0.5),kadd(JacPDstandard4th12gxz,kadd(JacPDstandard4th31gxy,kmadd(kmadd(gamma132,kmadd(gxxL,gamma111,kmadd(gxyL,gamma211,kmul(gxzL,gamma311))),kmadd(gamma232,kmadd(gxyL,gamma111,kmadd(gyyL,gamma211,kmul(gyzL,gamma311))),kmul(kmadd(gxzL,gamma111,kmadd(gyzL,gamma211,kmul(gzzL,gamma311))),gamma332))),ToReal(-2),ksub(kmsub(kmadd(gamma121,kmadd(gxxL,gamma131,kmadd(gxyL,gamma231,kmul(gxzL,gamma331))),kmadd(gamma221,kmadd(gxyL,gamma131,kmadd(gyyL,gamma231,kmul(gyzL,gamma331))),kmul(gamma321,kmadd(gxzL,gamma131,kmadd(gyzL,gamma231,kmul(gzzL,gamma331)))))),ToReal(2),JacPDstandard4th23gxx),JacPDstandard4th11gyz)))));
+ kmul(kmadd(ToReal(2),kmadd(gamma121,kmadd(gxxL,gamma131,kmadd(gxyL,gamma231,kmul(gxzL,gamma331))),kmadd(gamma221,kmadd(gxyL,gamma131,kmadd(gyyL,gamma231,kmul(gyzL,gamma331))),kmul(gamma321,kmadd(gxzL,gamma131,kmadd(gyzL,gamma231,kmul(gzzL,gamma331)))))),kmadd(ToReal(-2),kmadd(gamma132,kmadd(gxxL,gamma111,kmadd(gxyL,gamma211,kmul(gxzL,gamma311))),kmadd(gamma232,kmadd(gxyL,gamma111,kmadd(gyyL,gamma211,kmul(gyzL,gamma311))),kmul(kmadd(gxzL,gamma111,kmadd(gyzL,gamma211,kmul(gzzL,gamma311))),gamma332))),ksub(kadd(JacPDstandard4th12gxz,ksub(JacPDstandard4th31gxy,JacPDstandard4th23gxx)),JacPDstandard4th11gyz))),ToReal(0.5));
CCTK_REAL_VEC R1223 CCTK_ATTRIBUTE_UNUSED =
- kmul(ToReal(0.5),kadd(JacPDstandard4th22gxz,kadd(JacPDstandard4th31gyy,kmadd(kmadd(gamma132,kmadd(gxxL,gamma121,kmadd(gxyL,gamma221,kmul(gxzL,gamma321))),kmadd(gamma232,kmadd(gxyL,gamma121,kmadd(gyyL,gamma221,kmul(gyzL,gamma321))),kmul(kmadd(gxzL,gamma121,kmadd(gyzL,gamma221,kmul(gzzL,gamma321))),gamma332))),ToReal(-2),ksub(kmsub(kmadd(gamma122,kmadd(gxxL,gamma131,kmadd(gxyL,gamma231,kmul(gxzL,gamma331))),kmadd(gamma222,kmadd(gxyL,gamma131,kmadd(gyyL,gamma231,kmul(gyzL,gamma331))),kmul(gamma322,kmadd(gxzL,gamma131,kmadd(gyzL,gamma231,kmul(gzzL,gamma331)))))),ToReal(2),JacPDstandard4th23gxy),JacPDstandard4th12gyz)))));
+ kmul(kmadd(ToReal(2),kmadd(gamma122,kmadd(gxxL,gamma131,kmadd(gxyL,gamma231,kmul(gxzL,gamma331))),kmadd(gamma222,kmadd(gxyL,gamma131,kmadd(gyyL,gamma231,kmul(gyzL,gamma331))),kmul(gamma322,kmadd(gxzL,gamma131,kmadd(gyzL,gamma231,kmul(gzzL,gamma331)))))),kmadd(ToReal(-2),kmadd(gamma132,kmadd(gxxL,gamma121,kmadd(gxyL,gamma221,kmul(gxzL,gamma321))),kmadd(gamma232,kmadd(gxyL,gamma121,kmadd(gyyL,gamma221,kmul(gyzL,gamma321))),kmul(kmadd(gxzL,gamma121,kmadd(gyzL,gamma221,kmul(gzzL,gamma321))),gamma332))),ksub(kadd(JacPDstandard4th22gxz,ksub(JacPDstandard4th31gyy,JacPDstandard4th23gxy)),JacPDstandard4th12gyz))),ToReal(0.5));
CCTK_REAL_VEC R1313 CCTK_ATTRIBUTE_UNUSED =
- kmul(ToReal(0.5),kadd(JacPDstandard4th13gxz,kadd(JacPDstandard4th31gxz,kmadd(kmadd(gamma133,kmadd(gxxL,gamma111,kmadd(gxyL,gamma211,kmul(gxzL,gamma311))),kmadd(gamma233,kmadd(gxyL,gamma111,kmadd(gyyL,gamma211,kmul(gyzL,gamma311))),kmul(kmadd(gxzL,gamma111,kmadd(gyzL,gamma211,kmul(gzzL,gamma311))),gamma333))),ToReal(-2),ksub(kmsub(kmadd(gamma131,kmadd(gxxL,gamma131,kmadd(gxyL,gamma231,kmul(gxzL,gamma331))),kmadd(gamma231,kmadd(gxyL,gamma131,kmadd(gyyL,gamma231,kmul(gyzL,gamma331))),kmul(gamma331,kmadd(gxzL,gamma131,kmadd(gyzL,gamma231,kmul(gzzL,gamma331)))))),ToReal(2),JacPDstandard4th33gxx),JacPDstandard4th11gzz)))));
+ kmul(kmadd(ToReal(2),kmadd(gamma131,kmadd(gxxL,gamma131,kmadd(gxyL,gamma231,kmul(gxzL,gamma331))),kmadd(gamma231,kmadd(gxyL,gamma131,kmadd(gyyL,gamma231,kmul(gyzL,gamma331))),kmul(gamma331,kmadd(gxzL,gamma131,kmadd(gyzL,gamma231,kmul(gzzL,gamma331)))))),kmadd(ToReal(-2),kmadd(gamma133,kmadd(gxxL,gamma111,kmadd(gxyL,gamma211,kmul(gxzL,gamma311))),kmadd(gamma233,kmadd(gxyL,gamma111,kmadd(gyyL,gamma211,kmul(gyzL,gamma311))),kmul(kmadd(gxzL,gamma111,kmadd(gyzL,gamma211,kmul(gzzL,gamma311))),gamma333))),ksub(kadd(JacPDstandard4th13gxz,ksub(JacPDstandard4th31gxz,JacPDstandard4th33gxx)),JacPDstandard4th11gzz))),ToReal(0.5));
CCTK_REAL_VEC R1323 CCTK_ATTRIBUTE_UNUSED =
- kmul(ToReal(0.5),kadd(JacPDstandard4th23gxz,kadd(JacPDstandard4th31gyz,kmadd(kmadd(gamma133,kmadd(gxxL,gamma121,kmadd(gxyL,gamma221,kmul(gxzL,gamma321))),kmadd(gamma233,kmadd(gxyL,gamma121,kmadd(gyyL,gamma221,kmul(gyzL,gamma321))),kmul(kmadd(gxzL,gamma121,kmadd(gyzL,gamma221,kmul(gzzL,gamma321))),gamma333))),ToReal(-2),ksub(kmsub(kmadd(gamma132,kmadd(gxxL,gamma131,kmadd(gxyL,gamma231,kmul(gxzL,gamma331))),kmadd(gamma232,kmadd(gxyL,gamma131,kmadd(gyyL,gamma231,kmul(gyzL,gamma331))),kmul(kmadd(gxzL,gamma131,kmadd(gyzL,gamma231,kmul(gzzL,gamma331))),gamma332))),ToReal(2),JacPDstandard4th33gxy),JacPDstandard4th12gzz)))));
+ kmul(kmadd(ToReal(2),kmadd(gamma132,kmadd(gxxL,gamma131,kmadd(gxyL,gamma231,kmul(gxzL,gamma331))),kmadd(gamma232,kmadd(gxyL,gamma131,kmadd(gyyL,gamma231,kmul(gyzL,gamma331))),kmul(kmadd(gxzL,gamma131,kmadd(gyzL,gamma231,kmul(gzzL,gamma331))),gamma332))),kmadd(ToReal(-2),kmadd(gamma133,kmadd(gxxL,gamma121,kmadd(gxyL,gamma221,kmul(gxzL,gamma321))),kmadd(gamma233,kmadd(gxyL,gamma121,kmadd(gyyL,gamma221,kmul(gyzL,gamma321))),kmul(kmadd(gxzL,gamma121,kmadd(gyzL,gamma221,kmul(gzzL,gamma321))),gamma333))),ksub(kadd(JacPDstandard4th23gxz,ksub(JacPDstandard4th31gyz,JacPDstandard4th33gxy)),JacPDstandard4th12gzz))),ToReal(0.5));
CCTK_REAL_VEC R2323 CCTK_ATTRIBUTE_UNUSED =
- kmul(ToReal(0.5),kadd(JacPDstandard4th23gyz,kadd(JacPDstandard4th32gyz,kmadd(kmadd(gamma133,kmadd(gxxL,gamma122,kmadd(gxyL,gamma222,kmul(gxzL,gamma322))),kmadd(gamma233,kmadd(gxyL,gamma122,kmadd(gyyL,gamma222,kmul(gyzL,gamma322))),kmul(kmadd(gxzL,gamma122,kmadd(gyzL,gamma222,kmul(gzzL,gamma322))),gamma333))),ToReal(-2),ksub(kmsub(kmadd(gamma132,kmadd(gxxL,gamma132,kmadd(gxyL,gamma232,kmul(gxzL,gamma332))),kmadd(gamma232,kmadd(gxyL,gamma132,kmadd(gyyL,gamma232,kmul(gyzL,gamma332))),kmul(gamma332,kmadd(gxzL,gamma132,kmadd(gyzL,gamma232,kmul(gzzL,gamma332)))))),ToReal(2),JacPDstandard4th33gyy),JacPDstandard4th22gzz)))));
+ kmul(kmadd(ToReal(2),kmadd(gamma132,kmadd(gxxL,gamma132,kmadd(gxyL,gamma232,kmul(gxzL,gamma332))),kmadd(gamma232,kmadd(gxyL,gamma132,kmadd(gyyL,gamma232,kmul(gyzL,gamma332))),kmul(gamma332,kmadd(gxzL,gamma132,kmadd(gyzL,gamma232,kmul(gzzL,gamma332)))))),kmadd(ToReal(-2),kmadd(gamma133,kmadd(gxxL,gamma122,kmadd(gxyL,gamma222,kmul(gxzL,gamma322))),kmadd(gamma233,kmadd(gxyL,gamma122,kmadd(gyyL,gamma222,kmul(gyzL,gamma322))),kmul(kmadd(gxzL,gamma122,kmadd(gyzL,gamma222,kmul(gzzL,gamma322))),gamma333))),ksub(kadd(JacPDstandard4th23gyz,ksub(JacPDstandard4th32gyz,JacPDstandard4th33gyy)),JacPDstandard4th22gzz))),ToReal(0.5));
CCTK_REAL_VEC R4p1212 CCTK_ATTRIBUTE_UNUSED =
kmadd(kxxL,kyyL,knmsub(kxyL,kxyL,R1212));
CCTK_REAL_VEC R4p1213 CCTK_ATTRIBUTE_UNUSED =
- kmadd(kxxL,kyzL,knmsub(kxyL,kxzL,R1213));
+ knmsub(kxyL,kxzL,kmadd(kxxL,kyzL,R1213));
CCTK_REAL_VEC R4p1223 CCTK_ATTRIBUTE_UNUSED =
- kmadd(kxyL,kyzL,knmsub(kxzL,kyyL,R1223));
+ knmsub(kxzL,kyyL,kmadd(kxyL,kyzL,R1223));
CCTK_REAL_VEC R4p1313 CCTK_ATTRIBUTE_UNUSED =
kmadd(kxxL,kzzL,knmsub(kxzL,kxzL,R1313));
CCTK_REAL_VEC R4p1323 CCTK_ATTRIBUTE_UNUSED =
- kmadd(kxyL,kzzL,knmsub(kxzL,kyzL,R1323));
+ knmsub(kxzL,kyzL,kmadd(kxyL,kzzL,R1323));
CCTK_REAL_VEC R4p2323 CCTK_ATTRIBUTE_UNUSED =
kmadd(kyyL,kzzL,knmsub(kyzL,kyzL,R2323));
@@ -1224,108 +1245,107 @@ static void WeylScal4_psi4_calc_4th_Body(const cGH* restrict const cctkGH, const
CCTK_REAL_VEC Ro111 CCTK_ATTRIBUTE_UNUSED = ToReal(0);
CCTK_REAL_VEC Ro112 CCTK_ATTRIBUTE_UNUSED =
- kmadd(kxxL,gamma121,kmadd(kxzL,gamma321,kadd(JacPDstandard4th1kxy,knmsub(kyyL,gamma211,knmsub(kyzL,gamma311,kmsub(kxyL,ksub(gamma221,gamma111),JacPDstandard4th2kxx))))));
+ kmadd(kxxL,gamma121,knmsub(kyyL,gamma211,kmadd(kxyL,ksub(gamma221,gamma111),knmsub(kyzL,gamma311,kmadd(kxzL,gamma321,ksub(JacPDstandard4th1kxy,JacPDstandard4th2kxx))))));
CCTK_REAL_VEC Ro113 CCTK_ATTRIBUTE_UNUSED =
- kmadd(kxxL,gamma131,kmadd(kxyL,gamma231,kadd(JacPDstandard4th1kxz,knmsub(kyzL,gamma211,knmsub(kzzL,gamma311,kmsub(kxzL,ksub(gamma331,gamma111),JacPDstandard4th3kxx))))));
+ kmadd(kxxL,gamma131,knmsub(kyzL,gamma211,kmadd(kxyL,gamma231,knmsub(kzzL,gamma311,kmadd(kxzL,ksub(gamma331,gamma111),ksub(JacPDstandard4th1kxz,JacPDstandard4th3kxx))))));
CCTK_REAL_VEC Ro121 CCTK_ATTRIBUTE_UNUSED =
- kmadd(kyyL,gamma211,kmadd(kyzL,gamma311,kadd(JacPDstandard4th2kxx,knmsub(kxxL,gamma121,knmsub(kxzL,gamma321,kmsub(kxyL,ksub(gamma111,gamma221),JacPDstandard4th1kxy))))));
+ knmsub(kxxL,gamma121,kmadd(kyyL,gamma211,kmadd(kxyL,ksub(gamma111,gamma221),kmadd(kyzL,gamma311,knmsub(kxzL,gamma321,ksub(JacPDstandard4th2kxx,JacPDstandard4th1kxy))))));
CCTK_REAL_VEC Ro122 CCTK_ATTRIBUTE_UNUSED = ToReal(0);
CCTK_REAL_VEC Ro123 CCTK_ATTRIBUTE_UNUSED =
- kmadd(kxyL,gamma131,kmadd(kyyL,gamma231,kadd(JacPDstandard4th2kxz,knmsub(kxzL,gamma121,knmsub(kzzL,gamma321,kmsub(kyzL,ksub(gamma331,gamma221),JacPDstandard4th3kxy))))));
+ knmsub(kxzL,gamma121,kmadd(kxyL,gamma131,kmadd(kyyL,gamma231,knmsub(kzzL,gamma321,kmadd(kyzL,ksub(gamma331,gamma221),ksub(JacPDstandard4th2kxz,JacPDstandard4th3kxy))))));
CCTK_REAL_VEC Ro131 CCTK_ATTRIBUTE_UNUSED =
- kmadd(kyzL,gamma211,kmadd(kzzL,gamma311,kadd(JacPDstandard4th3kxx,knmsub(kxxL,gamma131,knmsub(kxyL,gamma231,kmsub(kxzL,ksub(gamma111,gamma331),JacPDstandard4th1kxz))))));
+ knmsub(kxxL,gamma131,kmadd(kyzL,gamma211,knmsub(kxyL,gamma231,kmadd(kzzL,gamma311,kmadd(kxzL,ksub(gamma111,gamma331),ksub(JacPDstandard4th3kxx,JacPDstandard4th1kxz))))));
CCTK_REAL_VEC Ro132 CCTK_ATTRIBUTE_UNUSED =
- kmadd(kxzL,gamma121,kmadd(kzzL,gamma321,kadd(JacPDstandard4th3kxy,knmsub(kxyL,gamma131,knmsub(kyyL,gamma231,kmsub(kyzL,ksub(gamma221,gamma331),JacPDstandard4th2kxz))))));
+ kmadd(kxzL,gamma121,knmsub(kxyL,gamma131,knmsub(kyyL,gamma231,kmadd(kzzL,gamma321,kmadd(kyzL,ksub(gamma221,gamma331),ksub(JacPDstandard4th3kxy,JacPDstandard4th2kxz))))));
CCTK_REAL_VEC Ro133 CCTK_ATTRIBUTE_UNUSED = ToReal(0);
CCTK_REAL_VEC Ro211 CCTK_ATTRIBUTE_UNUSED = ToReal(0);
CCTK_REAL_VEC Ro212 CCTK_ATTRIBUTE_UNUSED =
- kmadd(kxxL,gamma122,kmadd(kxzL,gamma322,kadd(JacPDstandard4th1kyy,knmsub(kyyL,gamma221,knmsub(kyzL,gamma321,kmsub(kxyL,ksub(gamma222,gamma121),JacPDstandard4th2kxy))))));
+ kmadd(kxxL,gamma122,knmsub(kyyL,gamma221,kmadd(kxyL,ksub(gamma222,gamma121),knmsub(kyzL,gamma321,kmadd(kxzL,gamma322,ksub(JacPDstandard4th1kyy,JacPDstandard4th2kxy))))));
CCTK_REAL_VEC Ro213 CCTK_ATTRIBUTE_UNUSED =
- kmadd(kxxL,gamma132,kmadd(kxyL,gamma232,kadd(JacPDstandard4th1kyz,knmsub(kyzL,gamma221,knmsub(kzzL,gamma321,kmsub(kxzL,ksub(gamma332,gamma121),JacPDstandard4th3kxy))))));
+ kmadd(kxxL,gamma132,knmsub(kyzL,gamma221,kmadd(kxyL,gamma232,knmsub(kzzL,gamma321,kmadd(kxzL,ksub(gamma332,gamma121),ksub(JacPDstandard4th1kyz,JacPDstandard4th3kxy))))));
CCTK_REAL_VEC Ro221 CCTK_ATTRIBUTE_UNUSED =
- kmadd(kyyL,gamma221,kmadd(kyzL,gamma321,kadd(JacPDstandard4th2kxy,knmsub(kxxL,gamma122,knmsub(kxzL,gamma322,kmsub(kxyL,ksub(gamma121,gamma222),JacPDstandard4th1kyy))))));
+ knmsub(kxxL,gamma122,kmadd(kyyL,gamma221,kmadd(kxyL,ksub(gamma121,gamma222),kmadd(kyzL,gamma321,knmsub(kxzL,gamma322,ksub(JacPDstandard4th2kxy,JacPDstandard4th1kyy))))));
CCTK_REAL_VEC Ro222 CCTK_ATTRIBUTE_UNUSED = ToReal(0);
CCTK_REAL_VEC Ro223 CCTK_ATTRIBUTE_UNUSED =
- kmadd(kxyL,gamma132,kmadd(kyyL,gamma232,kadd(JacPDstandard4th2kyz,knmsub(kxzL,gamma122,knmsub(kzzL,gamma322,kmsub(kyzL,ksub(gamma332,gamma222),JacPDstandard4th3kyy))))));
+ knmsub(kxzL,gamma122,kmadd(kxyL,gamma132,kmadd(kyyL,gamma232,knmsub(kzzL,gamma322,kmadd(kyzL,ksub(gamma332,gamma222),ksub(JacPDstandard4th2kyz,JacPDstandard4th3kyy))))));
CCTK_REAL_VEC Ro231 CCTK_ATTRIBUTE_UNUSED =
- kmadd(kyzL,gamma221,kmadd(kzzL,gamma321,kadd(JacPDstandard4th3kxy,knmsub(kxxL,gamma132,knmsub(kxyL,gamma232,kmsub(kxzL,ksub(gamma121,gamma332),JacPDstandard4th1kyz))))));
+ knmsub(kxxL,gamma132,kmadd(kyzL,gamma221,knmsub(kxyL,gamma232,kmadd(kzzL,gamma321,kmadd(kxzL,ksub(gamma121,gamma332),ksub(JacPDstandard4th3kxy,JacPDstandard4th1kyz))))));
CCTK_REAL_VEC Ro232 CCTK_ATTRIBUTE_UNUSED =
- kmadd(kxzL,gamma122,kmadd(kzzL,gamma322,kadd(JacPDstandard4th3kyy,knmsub(kxyL,gamma132,knmsub(kyyL,gamma232,kmsub(kyzL,ksub(gamma222,gamma332),JacPDstandard4th2kyz))))));
+ kmadd(kxzL,gamma122,knmsub(kxyL,gamma132,knmsub(kyyL,gamma232,kmadd(kzzL,gamma322,kmadd(kyzL,ksub(gamma222,gamma332),ksub(JacPDstandard4th3kyy,JacPDstandard4th2kyz))))));
CCTK_REAL_VEC Ro233 CCTK_ATTRIBUTE_UNUSED = ToReal(0);
CCTK_REAL_VEC Ro311 CCTK_ATTRIBUTE_UNUSED = ToReal(0);
CCTK_REAL_VEC Ro312 CCTK_ATTRIBUTE_UNUSED =
- kmadd(kxxL,gamma132,kmadd(kxzL,gamma332,kadd(JacPDstandard4th1kyz,knmsub(kyyL,gamma231,knmsub(kyzL,gamma331,kmsub(kxyL,ksub(gamma232,gamma131),JacPDstandard4th2kxz))))));
+ kmadd(kxxL,gamma132,knmsub(kyyL,gamma231,kmadd(kxyL,ksub(gamma232,gamma131),knmsub(kyzL,gamma331,kmadd(kxzL,gamma332,ksub(JacPDstandard4th1kyz,JacPDstandard4th2kxz))))));
CCTK_REAL_VEC Ro313 CCTK_ATTRIBUTE_UNUSED =
- kmadd(kxxL,gamma133,kmadd(kxyL,gamma233,kadd(JacPDstandard4th1kzz,knmsub(kyzL,gamma231,knmsub(kzzL,gamma331,kmsub(kxzL,ksub(gamma333,gamma131),JacPDstandard4th3kxz))))));
+ kmadd(kxxL,gamma133,knmsub(kyzL,gamma231,kmadd(kxyL,gamma233,knmsub(kzzL,gamma331,kmadd(kxzL,ksub(gamma333,gamma131),ksub(JacPDstandard4th1kzz,JacPDstandard4th3kxz))))));
CCTK_REAL_VEC Ro321 CCTK_ATTRIBUTE_UNUSED =
- kmadd(kyyL,gamma231,kmadd(kyzL,gamma331,kadd(JacPDstandard4th2kxz,knmsub(kxxL,gamma132,knmsub(kxzL,gamma332,kmsub(kxyL,ksub(gamma131,gamma232),JacPDstandard4th1kyz))))));
+ knmsub(kxxL,gamma132,kmadd(kyyL,gamma231,kmadd(kxyL,ksub(gamma131,gamma232),kmadd(kyzL,gamma331,knmsub(kxzL,gamma332,ksub(JacPDstandard4th2kxz,JacPDstandard4th1kyz))))));
CCTK_REAL_VEC Ro322 CCTK_ATTRIBUTE_UNUSED = ToReal(0);
CCTK_REAL_VEC Ro323 CCTK_ATTRIBUTE_UNUSED =
- kmadd(kxyL,gamma133,kmadd(kyyL,gamma233,kadd(JacPDstandard4th2kzz,knmsub(kxzL,gamma132,knmsub(kzzL,gamma332,kmsub(kyzL,ksub(gamma333,gamma232),JacPDstandard4th3kyz))))));
+ knmsub(kxzL,gamma132,kmadd(kxyL,gamma133,kmadd(kyyL,gamma233,knmsub(kzzL,gamma332,kmadd(kyzL,ksub(gamma333,gamma232),ksub(JacPDstandard4th2kzz,JacPDstandard4th3kyz))))));
CCTK_REAL_VEC Ro331 CCTK_ATTRIBUTE_UNUSED =
- kmadd(kyzL,gamma231,kmadd(kzzL,gamma331,kadd(JacPDstandard4th3kxz,knmsub(kxxL,gamma133,knmsub(kxyL,gamma233,kmsub(kxzL,ksub(gamma131,gamma333),JacPDstandard4th1kzz))))));
+ knmsub(kxxL,gamma133,kmadd(kyzL,gamma231,knmsub(kxyL,gamma233,kmadd(kzzL,gamma331,kmadd(kxzL,ksub(gamma131,gamma333),ksub(JacPDstandard4th3kxz,JacPDstandard4th1kzz))))));
CCTK_REAL_VEC Ro332 CCTK_ATTRIBUTE_UNUSED =
- kmadd(kxzL,gamma132,kmadd(kzzL,gamma332,kadd(JacPDstandard4th3kyz,knmsub(kxyL,gamma133,knmsub(kyyL,gamma233,kmsub(kyzL,ksub(gamma232,gamma333),JacPDstandard4th2kzz))))));
+ kmadd(kxzL,gamma132,knmsub(kxyL,gamma133,knmsub(kyyL,gamma233,kmadd(kzzL,gamma332,kmadd(kyzL,ksub(gamma232,gamma333),ksub(JacPDstandard4th3kyz,JacPDstandard4th2kzz))))));
CCTK_REAL_VEC Ro333 CCTK_ATTRIBUTE_UNUSED = ToReal(0);
CCTK_REAL_VEC Rojo11 CCTK_ATTRIBUTE_UNUSED =
- kmadd(kadd(gInv23,gInv32),kmadd(kxxL,kyzL,knmsub(kxyL,kxzL,R1213)),kmadd(gInv22,kmadd(kxxL,kyyL,knmsub(kxyL,kxyL,R1212)),kmul(gInv33,kmadd(kxxL,kzzL,knmsub(kxzL,kxzL,R1313)))));
+ kmadd(kadd(gInv23,gInv32),knmsub(kxyL,kxzL,kmadd(kxxL,kyzL,R1213)),kmadd(gInv22,kmadd(kxxL,kyyL,knmsub(kxyL,kxyL,R1212)),kmul(gInv33,kmadd(kxxL,kzzL,knmsub(kxzL,kxzL,R1313)))));
CCTK_REAL_VEC Rojo12 CCTK_ATTRIBUTE_UNUSED =
- kmadd(gInv23,R1223,knmsub(gInv21,R1212,knmsub(gInv31,R1213,kmadd(gInv12,kmsub(kxyL,kxyL,kmul(kxxL,kyyL)),kmadd(gInv32,kmsub(kxyL,kyzL,kmul(kxzL,kyyL)),kmadd(gInv13,kmsub(kxyL,kxzL,kmul(kxxL,kyzL)),kmul(gInv33,kmadd(kxyL,kzzL,knmsub(kxzL,kyzL,R1323)))))))));
+ kmadd(kmsub(kxyL,kxzL,kmul(kxxL,kyzL)),gInv13,kmadd(kmsub(kxyL,kyzL,kmul(kxzL,kyyL)),gInv32,knmsub(gInv21,R1212,knmsub(gInv31,R1213,kmadd(gInv23,R1223,kmadd(gInv33,knmsub(kxzL,kyzL,kmadd(kxyL,kzzL,R1323)),kmul(gInv12,kmsub(kxyL,kxyL,kmul(kxxL,kyyL)))))))));
CCTK_REAL_VEC Rojo13 CCTK_ATTRIBUTE_UNUSED =
- kmadd(kxzL,kmul(kyzL,gInv23),kmadd(gInv13,kmul(kxzL,kxzL),knmsub(gInv21,R1213,knmsub(gInv31,R1313,knmsub(gInv32,R1323,kmadd(gInv12,kmsub(kxyL,kxzL,kmul(kxxL,kyzL)),kmsub(gInv22,kmsub(kxzL,kyyL,kmadd(kxyL,kyzL,R1223)),kmul(kzzL,kmadd(kxyL,gInv23,kmul(kxxL,gInv13))))))))));
+ kmadd(kmsub(kxyL,kxzL,kmul(kxxL,kyzL)),gInv12,kmadd(kmsub(kxzL,kyzL,kmul(kxyL,kzzL)),gInv23,knmsub(gInv21,R1213,kmadd(gInv22,kmsub(kxzL,kyyL,kmadd(kxyL,kyzL,R1223)),knmsub(gInv31,R1313,kmsub(gInv13,kmsub(kxzL,kxzL,kmul(kxxL,kzzL)),kmul(gInv32,R1323)))))));
CCTK_REAL_VEC Rojo21 CCTK_ATTRIBUTE_UNUSED =
- kmadd(gInv32,R1223,knmsub(gInv12,R1212,knmsub(gInv13,R1213,kmadd(gInv21,kmsub(kxyL,kxyL,kmul(kxxL,kyyL)),kmadd(gInv23,kmsub(kxyL,kyzL,kmul(kxzL,kyyL)),kmadd(gInv31,kmsub(kxyL,kxzL,kmul(kxxL,kyzL)),kmul(gInv33,kmadd(kxyL,kzzL,knmsub(kxzL,kyzL,R1323)))))))));
+ kmadd(kmsub(kxyL,kyzL,kmul(kxzL,kyyL)),gInv23,kmadd(kmsub(kxyL,kxzL,kmul(kxxL,kyzL)),gInv31,knmsub(gInv12,R1212,knmsub(gInv13,R1213,kmadd(gInv32,R1223,kmadd(gInv33,knmsub(kxzL,kyzL,kmadd(kxyL,kzzL,R1323)),kmul(gInv21,kmsub(kxyL,kxyL,kmul(kxxL,kyyL)))))))));
CCTK_REAL_VEC Rojo22 CCTK_ATTRIBUTE_UNUSED =
kmadd(kadd(gInv13,gInv31),kmsub(kxzL,kyyL,kmadd(kxyL,kyzL,R1223)),kmadd(gInv11,kmadd(kxxL,kyyL,knmsub(kxyL,kxyL,R1212)),kmul(gInv33,kmadd(kyyL,kzzL,knmsub(kyzL,kyzL,R2323)))));
CCTK_REAL_VEC Rojo23 CCTK_ATTRIBUTE_UNUSED =
- kmadd(gInv12,R1223,knmsub(gInv31,R1323,knmsub(gInv32,R2323,kmadd(gInv11,kmadd(kxxL,kyzL,knmsub(kxyL,kxzL,R1213)),kmadd(gInv21,kmsub(kxyL,kyzL,kmul(kxzL,kyyL)),kmadd(gInv13,kmsub(kxzL,kyzL,kmul(kxyL,kzzL)),kmul(gInv23,kmsub(kyzL,kyzL,kmul(kyyL,kzzL)))))))));
+ kmadd(kmsub(kxzL,kyzL,kmul(kxyL,kzzL)),gInv13,kmadd(kmsub(kxyL,kyzL,kmul(kxzL,kyyL)),gInv21,kmadd(gInv11,knmsub(kxyL,kxzL,kmadd(kxxL,kyzL,R1213)),kmadd(gInv12,R1223,knmsub(gInv31,R1323,kmsub(gInv23,kmsub(kyzL,kyzL,kmul(kyyL,kzzL)),kmul(gInv32,R2323)))))));
CCTK_REAL_VEC Rojo31 CCTK_ATTRIBUTE_UNUSED =
- kmadd(kxzL,kmul(kyzL,gInv32),kmadd(gInv31,kmul(kxzL,kxzL),knmsub(gInv12,R1213,knmsub(gInv13,R1313,knmsub(gInv23,R1323,kmadd(gInv21,kmsub(kxyL,kxzL,kmul(kxxL,kyzL)),kmsub(gInv22,kmsub(kxzL,kyyL,kmadd(kxyL,kyzL,R1223)),kmul(kzzL,kmadd(kxyL,gInv32,kmul(kxxL,gInv31))))))))));
+ kmadd(kmsub(kxyL,kxzL,kmul(kxxL,kyzL)),gInv21,kmadd(kmsub(kxzL,kyzL,kmul(kxyL,kzzL)),gInv32,knmsub(gInv12,R1213,kmadd(gInv22,kmsub(kxzL,kyyL,kmadd(kxyL,kyzL,R1223)),knmsub(gInv13,R1313,kmsub(gInv31,kmsub(kxzL,kxzL,kmul(kxxL,kzzL)),kmul(gInv23,R1323)))))));
CCTK_REAL_VEC Rojo32 CCTK_ATTRIBUTE_UNUSED =
- kmadd(gInv21,R1223,knmsub(gInv13,R1323,knmsub(gInv23,R2323,kmadd(gInv11,kmadd(kxxL,kyzL,knmsub(kxyL,kxzL,R1213)),kmadd(gInv12,kmsub(kxyL,kyzL,kmul(kxzL,kyyL)),kmadd(gInv31,kmsub(kxzL,kyzL,kmul(kxyL,kzzL)),kmul(gInv32,kmsub(kyzL,kyzL,kmul(kyyL,kzzL)))))))));
+ kmadd(kmsub(kxyL,kyzL,kmul(kxzL,kyyL)),gInv12,kmadd(kmsub(kxzL,kyzL,kmul(kxyL,kzzL)),gInv31,kmadd(gInv11,knmsub(kxyL,kxzL,kmadd(kxxL,kyzL,R1213)),kmadd(gInv21,R1223,knmsub(gInv13,R1323,kmsub(gInv32,kmsub(kyzL,kyzL,kmul(kyyL,kzzL)),kmul(gInv23,R2323)))))));
CCTK_REAL_VEC Rojo33 CCTK_ATTRIBUTE_UNUSED =
- kmadd(kadd(gInv12,gInv21),kmadd(kxyL,kzzL,knmsub(kxzL,kyzL,R1323)),kmadd(gInv11,kmadd(kxxL,kzzL,knmsub(kxzL,kxzL,R1313)),kmul(gInv22,kmadd(kyyL,kzzL,knmsub(kyzL,kyzL,R2323)))));
+ kmadd(kadd(gInv12,gInv21),knmsub(kxzL,kyzL,kmadd(kxyL,kzzL,R1323)),kmadd(gInv11,kmadd(kxxL,kzzL,knmsub(kxzL,kxzL,R1313)),kmul(gInv22,kmadd(kyyL,kzzL,knmsub(kyzL,kyzL,R2323)))));
CCTK_REAL_VEC Psi4rL CCTK_ATTRIBUTE_UNUSED =
- knmsub(kmadd(R4p1212,kmul(n1,n1),kmadd(R4p2323,kmul(n3,n3),kmul(n1,kmul(n3,kmul(R4p1223,ToReal(-2)))))),kmsub(imbar2,imbar2,kmul(rmbar2,rmbar2)),knmsub(kmul(nn,nn),kmadd(imbar1,kmadd(imbar2,kadd(Rojo12,Rojo21),kmul(imbar3,kadd(Rojo13,Rojo31))),knmsub(rmbar1,kmadd(rmbar2,kadd(Rojo12,Rojo21),kmul(rmbar3,kadd(Rojo13,Rojo31))),kmadd(Rojo23,kmsub(imbar2,imbar3,kmul(rmbar2,rmbar3)),kmadd(Rojo32,kmsub(imbar2,imbar3,kmul(rmbar2,rmbar3)),kmadd(Rojo11,kmsub(imbar1,imbar1,kmul(rmbar1,rmbar1)),kmadd(Rojo22,kmsub(imbar2,imbar2,kmul(rmbar2,rmbar2)),kmul(Rojo33,kmsub(imbar3,imbar3,kmul(rmbar3,rmbar3))))))))),kmsub(kmadd(kmsub(n1,kmadd(n2,R4p1212,kmul(n3,R4p1213)),kmul(n3,kmadd(n2,R4p1223,kmul(n3,R4p1323)))),kmsub(imbar1,imbar2,kmul(rmbar1,rmbar2)),kmadd(kmadd(n1,kmul(n2,R4p1213),kmadd(n1,kmul(n3,R4p1313),kmadd(n2,kmul(n3,R4p1323),kmul(R4p1223,kmul(n2,n2))))),kmsub(imbar1,imbar3,kmul(rmbar1,rmbar3)),kmadd(kmsub(rmbar2,rmbar3,kmul(imbar2,imbar3)),kmadd(R4p1213,kmul(n1,n1),kmsub(n1,kmsub(n2,R4p1223,kmul(n3,R4p1323)),kmul(n2,kmul(n3,R4p2323)))),kmul(nn,kmadd(kmadd(n1,Ro112,kmadd(n2,Ro122,kmul(n3,Ro132))),kmsub(rmbar1,rmbar2,kmul(imbar1,imbar2)),kmadd(kmadd(n1,Ro211,kmadd(n2,Ro221,kmul(n3,Ro231))),kmsub(rmbar1,rmbar2,kmul(imbar1,imbar2)),kmadd(kmadd(n1,Ro113,kmadd(n2,Ro123,kmul(n3,Ro133))),kmsub(rmbar1,rmbar3,kmul(imbar1,imbar3)),kmadd(kmadd(n1,Ro311,kmadd(n2,Ro321,kmul(n3,Ro331))),kmsub(rmbar1,rmbar3,kmul(imbar1,imbar3)),kmadd(kmadd(n1,Ro213,kmadd(n2,Ro223,kmul(n3,Ro233))),kmsub(rmbar2,rmbar3,kmul(imbar2,imbar3)),kmadd(kmadd(n1,Ro312,kmadd(n2,Ro322,kmul(n3,Ro332))),kmsub(rmbar2,rmbar3,kmul(imbar2,imbar3)),kmadd(kmadd(n1,Ro111,kmadd(n2,Ro121,kmul(n3,Ro131))),kmsub(rmbar1,rmbar1,kmul(imbar1,imbar1)),kmadd(kmadd(n1,Ro212,kmadd(n2,Ro222,kmul(n3,Ro232))),kmsub(rmbar2,rmbar2,kmul(imbar2,imbar2)),kmul(kmadd(n1,Ro313,kmadd(n2,Ro323,kmul(n3,Ro333))),kmsub(rmbar3,rmbar3,kmul(imbar3,imbar3))))))))))))))),ToReal(2),kmadd(kmsub(imbar3,imbar3,kmul(rmbar3,rmbar3)),kmadd(R4p1313,kmul(n1,n1),kmadd(R4p2323,kmul(n2,n2),kmul(n1,kmul(n2,kmul(R4p1323,ToReal(2)))))),kmul(kmsub(imbar1,imbar1,kmul(rmbar1,rmbar1)),kmadd(R4p1212,kmul(n2,n2),kmadd(R4p1313,kmul(n3,n3),kmul(n2,kmul(n3,kmul(R4p1213,ToReal(2)))))))))));
+ kmadd(ToReal(2),kmul(kmsub(imbar1,imbar2,kmul(rmbar1,rmbar2)),kmsub(n1,kmadd(n2,R4p1212,kmul(n3,R4p1213)),kmul(n3,kmadd(n2,R4p1223,kmul(n3,R4p1323))))),kmadd(ToReal(2),kmul(kmadd(n1,kmsub(n2,R4p1223,kmul(n3,R4p1323)),kmsub(R4p1213,kmul(n1,n1),kmul(n2,kmul(n3,R4p2323)))),kmsub(rmbar2,rmbar3,kmul(imbar2,imbar3))),kmadd(ToReal(2),kmul(kmadd(n1,kmul(n2,R4p1213),kmadd(n1,kmul(n3,R4p1313),kmadd(n2,kmul(n3,R4p1323),kmul(R4p1223,kmul(n2,n2))))),kmsub(imbar1,imbar3,kmul(rmbar1,rmbar3))),knmsub(kmadd(ToReal(2),kmul(n2,kmul(n3,R4p1213)),kmadd(R4p1212,kmul(n2,n2),kmul(R4p1313,kmul(n3,n3)))),kmsub(imbar1,imbar1,kmul(rmbar1,rmbar1)),knmsub(kmadd(ToReal(-2),kmul(n1,kmul(n3,R4p1223)),kmadd(R4p1212,kmul(n1,n1),kmul(R4p2323,kmul(n3,n3)))),kmsub(imbar2,imbar2,kmul(rmbar2,rmbar2)),knmsub(kmul(nn,nn),kmadd(kmsub(imbar2,imbar3,kmul(rmbar2,rmbar3)),Rojo23,kmadd(imbar1,kmadd(imbar2,kadd(Rojo12,Rojo21),kmul(imbar3,kadd(Rojo13,Rojo31))),knmsub(rmbar1,kmadd(rmbar2,kadd(Rojo12,Rojo21),kmul(rmbar3,kadd(Rojo13,Rojo31))),kmadd(kmsub(imbar2,imbar3,kmul(rmbar2,rmbar3)),Rojo32,kmadd(Rojo11,kmsub(imbar1,imbar1,kmul(rmbar1,rmbar1)),kmadd(Rojo22,kmsub(imbar2,imbar2,kmul(rmbar2,rmbar2)),kmul(Rojo33,kmsub(imbar3,imbar3,kmul(rmbar3,rmbar3))))))))),kmsub(ToReal(2),kmul(nn,kmadd(kmsub(rmbar1,rmbar2,kmul(imbar1,imbar2)),kmadd(n1,Ro112,kmadd(n2,Ro122,kmul(n3,Ro132))),kmadd(kmsub(rmbar1,rmbar3,kmul(imbar1,imbar3)),kmadd(n1,Ro113,kmadd(n2,Ro123,kmul(n3,Ro133))),kmadd(kmsub(rmbar1,rmbar2,kmul(imbar1,imbar2)),kmadd(n1,Ro211,kmadd(n2,Ro221,kmul(n3,Ro231))),kmadd(kmsub(rmbar2,rmbar3,kmul(imbar2,imbar3)),kmadd(n1,Ro213,kmadd(n2,Ro223,kmul(n3,Ro233))),kmadd(kmsub(rmbar1,rmbar3,kmul(imbar1,imbar3)),kmadd(n1,Ro311,kmadd(n2,Ro321,kmul(n3,Ro331))),kmadd(kmsub(rmbar2,rmbar3,kmul(imbar2,imbar3)),kmadd(n1,Ro312,kmadd(n2,Ro322,kmul(n3,Ro332))),kmadd(kmadd(n1,Ro111,kmadd(n2,Ro121,kmul(n3,Ro131))),kmsub(rmbar1,rmbar1,kmul(imbar1,imbar1)),kmadd(kmadd(n1,Ro212,kmadd(n2,Ro222,kmul(n3,Ro232))),kmsub(rmbar2,rmbar2,kmul(imbar2,imbar2)),kmul(kmadd(n1,Ro313,kmadd(n2,Ro323,kmul(n3,Ro333))),kmsub(rmbar3,rmbar3,kmul(imbar3,imbar3)))))))))))),kmul(kmadd(ToReal(2),kmul(n1,kmul(n2,R4p1323)),kmadd(R4p1313,kmul(n1,n1),kmul(R4p2323,kmul(n2,n2)))),kmsub(imbar3,imbar3,kmul(rmbar3,rmbar3))))))))));
CCTK_REAL_VEC Psi4iL CCTK_ATTRIBUTE_UNUSED =
- kmadd(kmadd(kmadd(im3,rm1,kmul(im1,rm3)),kmadd(n1,kmadd(n2,R4p1213,kmul(n3,R4p1313)),kmadd(n2,kmul(n3,R4p1323),kmul(R4p1223,kmul(n2,n2)))),kmadd(kmadd(im2,rm1,kmul(im1,rm2)),kmsub(n1,kmadd(n2,R4p1212,kmul(n3,R4p1213)),kmul(n3,kmadd(n2,R4p1223,kmul(n3,R4p1323)))),kmul(nn,kmadd(kmadd(im1,kmul(rm1,kmadd(n1,Ro111,kmadd(n2,Ro121,kmul(n3,Ro131)))),kmul(im2,kmul(rm2,kmadd(n1,Ro212,kmadd(n2,Ro222,kmul(n3,Ro232)))))),ToReal(-2),kmsub(im3,kmul(rm3,kmul(kmadd(n1,Ro313,kmadd(n2,Ro323,kmul(n3,Ro333))),ToReal(-2))),kmadd(kmadd(im2,rm1,kmul(im1,rm2)),kmadd(n1,kadd(Ro211,Ro112),kmadd(n3,kadd(Ro231,Ro132),kmul(n2,kadd(Ro221,Ro122)))),kmadd(kmadd(im3,rm2,kmul(im2,rm3)),kmadd(n1,kadd(Ro312,Ro213),kmadd(n3,kadd(Ro332,Ro233),kmul(n2,kadd(Ro322,Ro223)))),kmul(kmadd(im3,rm1,kmul(im1,rm3)),kmadd(n1,kadd(Ro311,Ro113),kmadd(n3,kadd(Ro331,Ro133),kmul(n2,kadd(Ro321,Ro123)))))))))))),ToReal(2),kmsub(ToReal(-2),kmadd(im2,kmul(rm2,kmadd(R4p1212,kmul(n1,n1),kmadd(R4p2323,kmul(n3,n3),kmul(n1,kmul(n3,kmul(R4p1223,ToReal(-2))))))),kmadd(kmadd(im3,rm2,kmul(im2,rm3)),kmadd(R4p1213,kmul(n1,n1),kmsub(n1,kmsub(n2,R4p1223,kmul(n3,R4p1323)),kmul(n2,kmul(n3,R4p2323)))),kmadd(im1,kmul(rm1,kmadd(R4p1212,kmul(n2,n2),kmadd(R4p1313,kmul(n3,n3),kmul(n2,kmul(n3,kmul(R4p1213,ToReal(2))))))),kmul(im3,kmul(rm3,kmadd(R4p1313,kmul(n1,n1),kmadd(R4p2323,kmul(n2,n2),kmul(n1,kmul(n2,kmul(R4p1323,ToReal(2))))))))))),kmul(kmul(nn,nn),kmadd(im1,kmadd(rm2,kadd(Rojo12,Rojo21),kmadd(rm3,kadd(Rojo13,Rojo31),kmul(rm1,kmul(Rojo11,ToReal(2))))),kmadd(im2,kmadd(rm1,kadd(Rojo12,Rojo21),kmadd(rm3,kadd(Rojo23,Rojo32),kmul(rm2,kmul(Rojo22,ToReal(2))))),kmul(im3,kmadd(rm1,kadd(Rojo13,Rojo31),kmadd(rm2,kadd(Rojo23,Rojo32),kmul(rm3,kmul(Rojo33,ToReal(2)))))))))));
-
+ kmadd(ToReal(2),kmadd(kmsub(n1,kmadd(n2,R4p1212,kmul(n3,R4p1213)),kmul(n3,kmadd(n2,R4p1223,kmul(n3,R4p1323)))),kmadd(im2,rm1,kmul(im1,rm2)),kmadd(nn,knmsub(kmadd(im2,rm1,kmul(im1,rm2)),kmadd(n1,kadd(Ro112,Ro211),kmadd(n3,kadd(Ro132,Ro231),kmul(n2,kadd(Ro122,Ro221)))),kmadd(ToReal(-2),kmadd(im1,kmul(rm1,kmadd(n1,Ro111,kmadd(n2,Ro121,kmul(n3,Ro131)))),kmul(im2,kmul(rm2,kmadd(n1,Ro212,kmadd(n2,Ro222,kmul(n3,Ro232)))))),knmsub(kmadd(im3,rm1,kmul(im1,rm3)),kmadd(n1,kadd(Ro113,Ro311),kmadd(n3,kadd(Ro133,Ro331),kmul(n2,kadd(Ro123,Ro321)))),kmsub(ToReal(-2),kmul(im3,kmul(rm3,kmadd(n1,Ro313,kmadd(n2,Ro323,kmul(n3,Ro333))))),kmul(kmadd(im3,rm2,kmul(im2,rm3)),kmadd(n1,kadd(Ro213,Ro312),kmadd(n3,kadd(Ro233,Ro332),kmul(n2,kadd(Ro223,Ro322))))))))),kmul(kmadd(im3,rm1,kmul(im1,rm3)),kmadd(n1,kmadd(n2,R4p1213,kmul(n3,R4p1313)),kmadd(n2,kmul(n3,R4p1323),kmul(R4p1223,kmul(n2,n2))))))),kmsub(ToReal(-2),kmadd(kmadd(im3,rm2,kmul(im2,rm3)),kmadd(n1,kmsub(n2,R4p1223,kmul(n3,R4p1323)),kmsub(R4p1213,kmul(n1,n1),kmul(n2,kmul(n3,R4p2323)))),kmadd(im3,kmul(rm3,kmadd(ToReal(2),kmul(n1,kmul(n2,R4p1323)),kmadd(R4p1313,kmul(n1,n1),kmul(R4p2323,kmul(n2,n2))))),kmadd(im1,kmul(rm1,kmadd(ToReal(2),kmul(n2,kmul(n3,R4p1213)),kmadd(R4p1212,kmul(n2,n2),kmul(R4p1313,kmul(n3,n3))))),kmul(im2,kmul(rm2,kmadd(ToReal(-2),kmul(n1,kmul(n3,R4p1223)),kmadd(R4p1212,kmul(n1,n1),kmul(R4p2323,kmul(n3,n3))))))))),kmul(kmadd(im1,kmadd(ToReal(2),kmul(rm1,Rojo11),kmadd(rm2,kadd(Rojo12,Rojo21),kmul(rm3,kadd(Rojo13,Rojo31)))),kmadd(im2,kmadd(rm1,kadd(Rojo12,Rojo21),kmadd(ToReal(2),kmul(rm2,Rojo22),kmul(rm3,kadd(Rojo23,Rojo32)))),kmul(im3,kmadd(rm1,kadd(Rojo13,Rojo31),kmadd(rm2,kadd(Rojo23,Rojo32),kmul(kmul(rm3,Rojo33),ToReal(2))))))),kmul(nn,nn))));
/* Copy local copies back to grid functions */
vec_store_partial_prepare(i,vecimin,vecimax);
vec_store_nta_partial(Psi4i[index],Psi4iL);
@@ -1333,18 +1353,15 @@ static void WeylScal4_psi4_calc_4th_Body(const cGH* restrict const cctkGH, const
}
CCTK_ENDLOOP3STR(WeylScal4_psi4_calc_4th);
}
-
extern "C" void WeylScal4_psi4_calc_4th(CCTK_ARGUMENTS)
{
DECLARE_CCTK_ARGUMENTS;
DECLARE_CCTK_PARAMETERS;
-
if (verbose > 1)
{
CCTK_VInfo(CCTK_THORNSTRING,"Entering WeylScal4_psi4_calc_4th_Body");
}
-
if (cctk_iteration % WeylScal4_psi4_calc_4th_calc_every != WeylScal4_psi4_calc_4th_calc_offset)
{
return;
@@ -1356,41 +1373,42 @@ extern "C" void WeylScal4_psi4_calc_4th(CCTK_ARGUMENTS)
"grid::coordinates",
"WeylScal4::Psi4i_group",
"WeylScal4::Psi4r_group"};
- GenericFD_AssertGroupStorage(cctkGH, "WeylScal4_psi4_calc_4th", 5, groups);
+ AssertGroupStorage(cctkGH, "WeylScal4_psi4_calc_4th", 5, groups);
switch (fdOrder)
{
case 2:
{
- GenericFD_EnsureStencilFits(cctkGH, "WeylScal4_psi4_calc_4th", 2, 2, 2);
+ EnsureStencilFits(cctkGH, "WeylScal4_psi4_calc_4th", 2, 2, 2);
break;
}
case 4:
{
- GenericFD_EnsureStencilFits(cctkGH, "WeylScal4_psi4_calc_4th", 2, 2, 2);
+ EnsureStencilFits(cctkGH, "WeylScal4_psi4_calc_4th", 2, 2, 2);
break;
}
case 6:
{
- GenericFD_EnsureStencilFits(cctkGH, "WeylScal4_psi4_calc_4th", 2, 2, 2);
+ EnsureStencilFits(cctkGH, "WeylScal4_psi4_calc_4th", 2, 2, 2);
break;
}
case 8:
{
- GenericFD_EnsureStencilFits(cctkGH, "WeylScal4_psi4_calc_4th", 2, 2, 2);
+ EnsureStencilFits(cctkGH, "WeylScal4_psi4_calc_4th", 2, 2, 2);
break;
}
default:
CCTK_BUILTIN_UNREACHABLE();
}
- GenericFD_LoopOverInterior(cctkGH, WeylScal4_psi4_calc_4th_Body);
-
+ LoopOverInterior(cctkGH, WeylScal4_psi4_calc_4th_Body);
if (verbose > 1)
{
CCTK_VInfo(CCTK_THORNSTRING,"Leaving WeylScal4_psi4_calc_4th_Body");
}
}
+
+} // namespace WeylScal4
diff --git a/src/WeylScal4_psi4_calc_Nth.cc b/src/WeylScal4_psi4_calc_Nth.cc
index b0d6cc1..06be2b9 100644
--- a/src/WeylScal4_psi4_calc_Nth.cc
+++ b/src/WeylScal4_psi4_calc_Nth.cc
@@ -2,6 +2,7 @@
#define KRANC_C
+#include <algorithm>
#include <assert.h>
#include <math.h>
#include <stdio.h>
@@ -10,22 +11,12 @@
#include "cctk.h"
#include "cctk_Arguments.h"
#include "cctk_Parameters.h"
-#include "GenericFD.h"
+#include "Kranc.hh"
#include "Differencing.h"
-#include "cctk_Loop.h"
#include "loopcontrol.h"
#include "vectors.h"
-/* Define macros used in calculations */
-#define INITVALUE (42)
-#define ScalarINV(x) ((CCTK_REAL)1.0 / (x))
-#define ScalarSQR(x) ((x) * (x))
-#define ScalarCUB(x) ((x) * ScalarSQR(x))
-#define ScalarQAD(x) (ScalarSQR(ScalarSQR(x)))
-#define INV(x) (kdiv(ToReal(1.0),x))
-#define SQR(x) (kmul(x,x))
-#define CUB(x) (kmul(x,SQR(x)))
-#define QAD(x) (SQR(SQR(x)))
+namespace WeylScal4 {
extern "C" void WeylScal4_psi4_calc_Nth_SelectBCs(CCTK_ARGUMENTS)
{
@@ -35,10 +26,10 @@ extern "C" void WeylScal4_psi4_calc_Nth_SelectBCs(CCTK_ARGUMENTS)
if (cctk_iteration % WeylScal4_psi4_calc_Nth_calc_every != WeylScal4_psi4_calc_Nth_calc_offset)
return;
CCTK_INT ierr CCTK_ATTRIBUTE_UNUSED = 0;
- ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "WeylScal4::Psi4i_group","flat");
+ ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GetBoundaryWidth(cctkGH), -1 /* no table */, "WeylScal4::Psi4i_group","flat");
if (ierr < 0)
CCTK_WARN(1, "Failed to register flat BC for WeylScal4::Psi4i_group.");
- ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "WeylScal4::Psi4r_group","flat");
+ ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GetBoundaryWidth(cctkGH), -1 /* no table */, "WeylScal4::Psi4r_group","flat");
if (ierr < 0)
CCTK_WARN(1, "Failed to register flat BC for WeylScal4::Psi4r_group.");
return;
@@ -49,24 +40,37 @@ static void WeylScal4_psi4_calc_Nth_Body(const cGH* restrict const cctkGH, const
DECLARE_CCTK_ARGUMENTS;
DECLARE_CCTK_PARAMETERS;
-
/* Include user-supplied include files */
-
/* Initialise finite differencing variables */
const ptrdiff_t di CCTK_ATTRIBUTE_UNUSED = 1;
- const ptrdiff_t dj CCTK_ATTRIBUTE_UNUSED = CCTK_GFINDEX3D(cctkGH,0,1,0) - CCTK_GFINDEX3D(cctkGH,0,0,0);
- const ptrdiff_t dk CCTK_ATTRIBUTE_UNUSED = CCTK_GFINDEX3D(cctkGH,0,0,1) - CCTK_GFINDEX3D(cctkGH,0,0,0);
+ const ptrdiff_t dj CCTK_ATTRIBUTE_UNUSED =
+ CCTK_GFINDEX3D(cctkGH,0,1,0) - CCTK_GFINDEX3D(cctkGH,0,0,0);
+ const ptrdiff_t dk CCTK_ATTRIBUTE_UNUSED =
+ CCTK_GFINDEX3D(cctkGH,0,0,1) - CCTK_GFINDEX3D(cctkGH,0,0,0);
const ptrdiff_t cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL) * di;
const ptrdiff_t cdj CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL) * dj;
const ptrdiff_t cdk CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL) * dk;
- const CCTK_REAL_VEC dx CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_SPACE(0));
- const CCTK_REAL_VEC dy CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_SPACE(1));
- const CCTK_REAL_VEC dz CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_SPACE(2));
- const CCTK_REAL_VEC dt CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_TIME);
+ const ptrdiff_t cctkLbnd1 CCTK_ATTRIBUTE_UNUSED = cctk_lbnd[0];
+ const ptrdiff_t cctkLbnd2 CCTK_ATTRIBUTE_UNUSED = cctk_lbnd[1];
+ const ptrdiff_t cctkLbnd3 CCTK_ATTRIBUTE_UNUSED = cctk_lbnd[2];
const CCTK_REAL_VEC t CCTK_ATTRIBUTE_UNUSED = ToReal(cctk_time);
- const CCTK_REAL_VEC dxi CCTK_ATTRIBUTE_UNUSED = INV(dx);
- const CCTK_REAL_VEC dyi CCTK_ATTRIBUTE_UNUSED = INV(dy);
- const CCTK_REAL_VEC dzi CCTK_ATTRIBUTE_UNUSED = INV(dz);
+ const CCTK_REAL_VEC cctkOriginSpace1 CCTK_ATTRIBUTE_UNUSED =
+ ToReal(CCTK_ORIGIN_SPACE(0));
+ const CCTK_REAL_VEC cctkOriginSpace2 CCTK_ATTRIBUTE_UNUSED =
+ ToReal(CCTK_ORIGIN_SPACE(1));
+ const CCTK_REAL_VEC cctkOriginSpace3 CCTK_ATTRIBUTE_UNUSED =
+ ToReal(CCTK_ORIGIN_SPACE(2));
+ const CCTK_REAL_VEC dt CCTK_ATTRIBUTE_UNUSED =
+ ToReal(CCTK_DELTA_TIME);
+ const CCTK_REAL_VEC dx CCTK_ATTRIBUTE_UNUSED =
+ ToReal(CCTK_DELTA_SPACE(0));
+ const CCTK_REAL_VEC dy CCTK_ATTRIBUTE_UNUSED =
+ ToReal(CCTK_DELTA_SPACE(1));
+ const CCTK_REAL_VEC dz CCTK_ATTRIBUTE_UNUSED =
+ ToReal(CCTK_DELTA_SPACE(2));
+ const CCTK_REAL_VEC dxi CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),dx);
+ const CCTK_REAL_VEC dyi CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),dy);
+ const CCTK_REAL_VEC dzi CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),dz);
const CCTK_REAL_VEC khalf CCTK_ATTRIBUTE_UNUSED = ToReal(0.5);
const CCTK_REAL_VEC kthird CCTK_ATTRIBUTE_UNUSED =
ToReal(0.333333333333333333333333333333);
@@ -80,35 +84,34 @@ static void WeylScal4_psi4_calc_Nth_Body(const cGH* restrict const cctkGH, const
kmul(dyi,ToReal(0.5));
const CCTK_REAL_VEC hdzi CCTK_ATTRIBUTE_UNUSED =
kmul(dzi,ToReal(0.5));
-
/* Initialize predefined quantities */
const CCTK_REAL_VEC p1o12dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dx);
const CCTK_REAL_VEC p1o12dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dy);
const CCTK_REAL_VEC p1o12dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dz);
- const CCTK_REAL_VEC p1o144dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dy,dx));
- const CCTK_REAL_VEC p1o144dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dz,dx));
- const CCTK_REAL_VEC p1o144dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dz,dy));
+ const CCTK_REAL_VEC p1o144dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dx,dy));
+ const CCTK_REAL_VEC p1o144dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dx,dz));
+ const CCTK_REAL_VEC p1o144dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dy,dz));
const CCTK_REAL_VEC p1o180dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dx,dx));
const CCTK_REAL_VEC p1o180dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dy,dy));
const CCTK_REAL_VEC p1o180dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dz,dz));
const CCTK_REAL_VEC p1o2dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dx);
const CCTK_REAL_VEC p1o2dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dy);
const CCTK_REAL_VEC p1o2dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dz);
- const CCTK_REAL_VEC p1o3600dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dy,dx));
- const CCTK_REAL_VEC p1o3600dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dz,dx));
- const CCTK_REAL_VEC p1o3600dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dz,dy));
- const CCTK_REAL_VEC p1o4dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dy,dx));
- const CCTK_REAL_VEC p1o4dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dz,dx));
- const CCTK_REAL_VEC p1o4dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dz,dy));
+ const CCTK_REAL_VEC p1o3600dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dx,dy));
+ const CCTK_REAL_VEC p1o3600dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dx,dz));
+ const CCTK_REAL_VEC p1o3600dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dy,dz));
+ const CCTK_REAL_VEC p1o4dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dx,dy));
+ const CCTK_REAL_VEC p1o4dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dx,dz));
+ const CCTK_REAL_VEC p1o4dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dy,dz));
const CCTK_REAL_VEC p1o5040dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dx,dx));
const CCTK_REAL_VEC p1o5040dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dy,dy));
const CCTK_REAL_VEC p1o5040dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dz,dz));
const CCTK_REAL_VEC p1o60dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dx);
const CCTK_REAL_VEC p1o60dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dy);
const CCTK_REAL_VEC p1o60dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dz);
- const CCTK_REAL_VEC p1o705600dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dy,dx));
- const CCTK_REAL_VEC p1o705600dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dz,dx));
- const CCTK_REAL_VEC p1o705600dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dz,dy));
+ const CCTK_REAL_VEC p1o705600dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dx,dy));
+ const CCTK_REAL_VEC p1o705600dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dx,dz));
+ const CCTK_REAL_VEC p1o705600dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dy,dz));
const CCTK_REAL_VEC p1o840dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dx);
const CCTK_REAL_VEC p1o840dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dy);
const CCTK_REAL_VEC p1o840dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dz);
@@ -118,62 +121,76 @@ static void WeylScal4_psi4_calc_Nth_Body(const cGH* restrict const cctkGH, const
const CCTK_REAL_VEC pm1o12dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dx,dx));
const CCTK_REAL_VEC pm1o12dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dy,dy));
const CCTK_REAL_VEC pm1o12dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dz,dz));
-
/* Jacobian variable pointers */
- const bool use_jacobian1 = (!CCTK_IsFunctionAliased("MultiPatch_GetMap") || MultiPatch_GetMap(cctkGH) != jacobian_identity_map)
+ const bool usejacobian1 = (!CCTK_IsFunctionAliased("MultiPatch_GetMap") || MultiPatch_GetMap(cctkGH) != jacobian_identity_map)
&& strlen(jacobian_group) > 0;
- const bool use_jacobian = assume_use_jacobian>=0 ? assume_use_jacobian : use_jacobian1;
- const bool usejacobian CCTK_ATTRIBUTE_UNUSED = use_jacobian;
- if (use_jacobian && (strlen(jacobian_derivative_group) == 0))
+ const bool usejacobian = assume_use_jacobian>=0 ? assume_use_jacobian : usejacobian1;
+ if (usejacobian && (strlen(jacobian_derivative_group) == 0))
{
CCTK_WARN(1, "GenericFD::jacobian_group and GenericFD::jacobian_derivative_group must both be set to valid group names");
}
const CCTK_REAL* restrict jacobian_ptrs[9];
- if (use_jacobian) GenericFD_GroupDataPointers(cctkGH, jacobian_group,
+ if (usejacobian) GroupDataPointers(cctkGH, jacobian_group,
9, jacobian_ptrs);
- const CCTK_REAL* restrict const J11 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[0] : 0;
- const CCTK_REAL* restrict const J12 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[1] : 0;
- const CCTK_REAL* restrict const J13 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[2] : 0;
- const CCTK_REAL* restrict const J21 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[3] : 0;
- const CCTK_REAL* restrict const J22 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[4] : 0;
- const CCTK_REAL* restrict const J23 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[5] : 0;
- const CCTK_REAL* restrict const J31 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[6] : 0;
- const CCTK_REAL* restrict const J32 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[7] : 0;
- const CCTK_REAL* restrict const J33 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[8] : 0;
+ const CCTK_REAL* restrict const J11 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_ptrs[0] : 0;
+ const CCTK_REAL* restrict const J12 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_ptrs[1] : 0;
+ const CCTK_REAL* restrict const J13 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_ptrs[2] : 0;
+ const CCTK_REAL* restrict const J21 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_ptrs[3] : 0;
+ const CCTK_REAL* restrict const J22 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_ptrs[4] : 0;
+ const CCTK_REAL* restrict const J23 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_ptrs[5] : 0;
+ const CCTK_REAL* restrict const J31 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_ptrs[6] : 0;
+ const CCTK_REAL* restrict const J32 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_ptrs[7] : 0;
+ const CCTK_REAL* restrict const J33 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_ptrs[8] : 0;
- const CCTK_REAL* restrict jacobian_derivative_ptrs[18] CCTK_ATTRIBUTE_UNUSED;
- if (use_jacobian) GenericFD_GroupDataPointers(cctkGH, jacobian_derivative_group,
- 18, jacobian_derivative_ptrs);
+ const CCTK_REAL* restrict jacobian_determinant_ptrs[1] CCTK_ATTRIBUTE_UNUSED;
+ if (usejacobian && strlen(jacobian_determinant_group) > 0) GroupDataPointers(cctkGH, jacobian_determinant_group,
+ 1, jacobian_determinant_ptrs);
- const CCTK_REAL* restrict const dJ111 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[0] : 0;
- const CCTK_REAL* restrict const dJ112 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[1] : 0;
- const CCTK_REAL* restrict const dJ113 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[2] : 0;
- const CCTK_REAL* restrict const dJ122 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[3] : 0;
- const CCTK_REAL* restrict const dJ123 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[4] : 0;
- const CCTK_REAL* restrict const dJ133 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[5] : 0;
- const CCTK_REAL* restrict const dJ211 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[6] : 0;
- const CCTK_REAL* restrict const dJ212 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[7] : 0;
- const CCTK_REAL* restrict const dJ213 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[8] : 0;
- const CCTK_REAL* restrict const dJ222 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[9] : 0;
- const CCTK_REAL* restrict const dJ223 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[10] : 0;
- const CCTK_REAL* restrict const dJ233 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[11] : 0;
- const CCTK_REAL* restrict const dJ311 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[12] : 0;
- const CCTK_REAL* restrict const dJ312 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[13] : 0;
- const CCTK_REAL* restrict const dJ313 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[14] : 0;
- const CCTK_REAL* restrict const dJ322 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[15] : 0;
- const CCTK_REAL* restrict const dJ323 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[16] : 0;
- const CCTK_REAL* restrict const dJ333 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[17] : 0;
+ const CCTK_REAL* restrict const detJ CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_determinant_ptrs[0] : 0;
- /* Assign local copies of arrays functions */
+ const CCTK_REAL* restrict jacobian_inverse_ptrs[9] CCTK_ATTRIBUTE_UNUSED;
+ if (usejacobian && strlen(jacobian_inverse_group) > 0) GroupDataPointers(cctkGH, jacobian_inverse_group,
+ 9, jacobian_inverse_ptrs);
+ const CCTK_REAL* restrict const iJ11 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_inverse_ptrs[0] : 0;
+ const CCTK_REAL* restrict const iJ12 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_inverse_ptrs[1] : 0;
+ const CCTK_REAL* restrict const iJ13 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_inverse_ptrs[2] : 0;
+ const CCTK_REAL* restrict const iJ21 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_inverse_ptrs[3] : 0;
+ const CCTK_REAL* restrict const iJ22 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_inverse_ptrs[4] : 0;
+ const CCTK_REAL* restrict const iJ23 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_inverse_ptrs[5] : 0;
+ const CCTK_REAL* restrict const iJ31 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_inverse_ptrs[6] : 0;
+ const CCTK_REAL* restrict const iJ32 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_inverse_ptrs[7] : 0;
+ const CCTK_REAL* restrict const iJ33 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_inverse_ptrs[8] : 0;
+ const CCTK_REAL* restrict jacobian_derivative_ptrs[18] CCTK_ATTRIBUTE_UNUSED;
+ if (usejacobian) GroupDataPointers(cctkGH, jacobian_derivative_group,
+ 18, jacobian_derivative_ptrs);
- /* Calculate temporaries and arrays functions */
+ const CCTK_REAL* restrict const dJ111 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_derivative_ptrs[0] : 0;
+ const CCTK_REAL* restrict const dJ112 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_derivative_ptrs[1] : 0;
+ const CCTK_REAL* restrict const dJ113 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_derivative_ptrs[2] : 0;
+ const CCTK_REAL* restrict const dJ122 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_derivative_ptrs[3] : 0;
+ const CCTK_REAL* restrict const dJ123 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_derivative_ptrs[4] : 0;
+ const CCTK_REAL* restrict const dJ133 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_derivative_ptrs[5] : 0;
+ const CCTK_REAL* restrict const dJ211 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_derivative_ptrs[6] : 0;
+ const CCTK_REAL* restrict const dJ212 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_derivative_ptrs[7] : 0;
+ const CCTK_REAL* restrict const dJ213 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_derivative_ptrs[8] : 0;
+ const CCTK_REAL* restrict const dJ222 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_derivative_ptrs[9] : 0;
+ const CCTK_REAL* restrict const dJ223 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_derivative_ptrs[10] : 0;
+ const CCTK_REAL* restrict const dJ233 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_derivative_ptrs[11] : 0;
+ const CCTK_REAL* restrict const dJ311 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_derivative_ptrs[12] : 0;
+ const CCTK_REAL* restrict const dJ312 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_derivative_ptrs[13] : 0;
+ const CCTK_REAL* restrict const dJ313 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_derivative_ptrs[14] : 0;
+ const CCTK_REAL* restrict const dJ322 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_derivative_ptrs[15] : 0;
+ const CCTK_REAL* restrict const dJ323 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_derivative_ptrs[16] : 0;
+ const CCTK_REAL* restrict const dJ333 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_derivative_ptrs[17] : 0;
+ /* Assign local copies of arrays functions */
- /* Copy local copies back to grid functions */
+ /* Calculate temporaries and arrays functions */
+ /* Copy local copies back to grid functions */
/* Loop over the grid points */
const int imin0=imin[0];
const int imin1=imin[1];
@@ -181,15 +198,13 @@ static void WeylScal4_psi4_calc_Nth_Body(const cGH* restrict const cctkGH, const
const int imax0=imax[0];
const int imax1=imax[1];
const int imax2=imax[2];
- #pragma omp parallel // reduction(+: vec_iter_counter, vec_op_counter, vec_mem_counter)
+ #pragma omp parallel
CCTK_LOOP3STR(WeylScal4_psi4_calc_Nth,
i,j,k, imin0,imin1,imin2, imax0,imax1,imax2,
cctk_ash[0],cctk_ash[1],cctk_ash[2],
vecimin,vecimax, CCTK_REAL_VEC_SIZE)
{
const ptrdiff_t index CCTK_ATTRIBUTE_UNUSED = di*i + dj*j + dk*k;
- // vec_iter_counter+=CCTK_REAL_VEC_SIZE;
-
/* Assign local copies of grid functions */
CCTK_REAL_VEC gxxL CCTK_ATTRIBUTE_UNUSED = vec_load(gxx[index]);
@@ -211,7 +226,7 @@ static void WeylScal4_psi4_calc_Nth_Body(const cGH* restrict const cctkGH, const
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 CCTK_ATTRIBUTE_UNUSED ;
- if (use_jacobian)
+ if (usejacobian)
{
dJ111L = vec_load(dJ111[index]);
dJ112L = vec_load(dJ112[index]);
@@ -241,9 +256,7 @@ static void WeylScal4_psi4_calc_Nth_Body(const cGH* restrict const cctkGH, const
J32L = vec_load(J32[index]);
J33L = vec_load(J33[index]);
}
-
/* Include user supplied include files */
-
/* Precompute derivatives */
CCTK_REAL_VEC PDstandard1gxx CCTK_ATTRIBUTE_UNUSED;
CCTK_REAL_VEC PDstandard2gxx CCTK_ATTRIBUTE_UNUSED;
@@ -630,7 +643,6 @@ static void WeylScal4_psi4_calc_Nth_Body(const cGH* restrict const cctkGH, const
default:
CCTK_BUILTIN_UNREACHABLE();
}
-
/* Calculate temporaries and grid functions */
CCTK_REAL_VEC JacPDstandard11gyy CCTK_ATTRIBUTE_UNUSED;
CCTK_REAL_VEC JacPDstandard11gyz CCTK_ATTRIBUTE_UNUSED;
@@ -690,7 +702,7 @@ static void WeylScal4_psi4_calc_Nth_Body(const cGH* restrict const cctkGH, const
CCTK_REAL_VEC JacPDstandard3kyy CCTK_ATTRIBUTE_UNUSED;
CCTK_REAL_VEC JacPDstandard3kyz CCTK_ATTRIBUTE_UNUSED;
- if (use_jacobian)
+ if (usejacobian)
{
JacPDstandard1gxx =
kmadd(J11L,PDstandard1gxx,kmadd(J21L,PDstandard2gxx,kmul(J31L,PDstandard3gxx)));
@@ -792,31 +804,31 @@ static void WeylScal4_psi4_calc_Nth_Body(const cGH* restrict const cctkGH, const
kmadd(J13L,PDstandard1kyz,kmadd(J23L,PDstandard2kyz,kmul(J33L,PDstandard3kyz)));
JacPDstandard11gyy =
- kmadd(dJ111L,PDstandard1gyy,kmadd(dJ211L,PDstandard2gyy,kmadd(dJ311L,PDstandard3gyy,kmadd(PDstandard11gyy,kmul(J11L,J11L),kmadd(PDstandard22gyy,kmul(J21L,J21L),kmadd(PDstandard33gyy,kmul(J31L,J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandard12gyy,kmul(J31L,PDstandard13gyy)),kmul(J21L,kmul(J31L,PDstandard23gyy))),ToReal(2))))))));
+ kmadd(dJ111L,PDstandard1gyy,kmadd(ToReal(2),kmadd(J11L,kmadd(J21L,PDstandard12gyy,kmul(J31L,PDstandard13gyy)),kmul(J21L,kmul(J31L,PDstandard23gyy))),kmadd(dJ211L,PDstandard2gyy,kmadd(dJ311L,PDstandard3gyy,kmadd(PDstandard11gyy,kmul(J11L,J11L),kmadd(PDstandard22gyy,kmul(J21L,J21L),kmul(PDstandard33gyy,kmul(J31L,J31L))))))));
JacPDstandard11gyz =
- kmadd(dJ111L,PDstandard1gyz,kmadd(dJ211L,PDstandard2gyz,kmadd(dJ311L,PDstandard3gyz,kmadd(PDstandard11gyz,kmul(J11L,J11L),kmadd(PDstandard22gyz,kmul(J21L,J21L),kmadd(PDstandard33gyz,kmul(J31L,J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandard12gyz,kmul(J31L,PDstandard13gyz)),kmul(J21L,kmul(J31L,PDstandard23gyz))),ToReal(2))))))));
+ kmadd(dJ111L,PDstandard1gyz,kmadd(ToReal(2),kmadd(J11L,kmadd(J21L,PDstandard12gyz,kmul(J31L,PDstandard13gyz)),kmul(J21L,kmul(J31L,PDstandard23gyz))),kmadd(dJ211L,PDstandard2gyz,kmadd(dJ311L,PDstandard3gyz,kmadd(PDstandard11gyz,kmul(J11L,J11L),kmadd(PDstandard22gyz,kmul(J21L,J21L),kmul(PDstandard33gyz,kmul(J31L,J31L))))))));
JacPDstandard11gzz =
- kmadd(dJ111L,PDstandard1gzz,kmadd(dJ211L,PDstandard2gzz,kmadd(dJ311L,PDstandard3gzz,kmadd(PDstandard11gzz,kmul(J11L,J11L),kmadd(PDstandard22gzz,kmul(J21L,J21L),kmadd(PDstandard33gzz,kmul(J31L,J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandard12gzz,kmul(J31L,PDstandard13gzz)),kmul(J21L,kmul(J31L,PDstandard23gzz))),ToReal(2))))))));
+ kmadd(dJ111L,PDstandard1gzz,kmadd(ToReal(2),kmadd(J11L,kmadd(J21L,PDstandard12gzz,kmul(J31L,PDstandard13gzz)),kmul(J21L,kmul(J31L,PDstandard23gzz))),kmadd(dJ211L,PDstandard2gzz,kmadd(dJ311L,PDstandard3gzz,kmadd(PDstandard11gzz,kmul(J11L,J11L),kmadd(PDstandard22gzz,kmul(J21L,J21L),kmul(PDstandard33gzz,kmul(J31L,J31L))))))));
JacPDstandard22gxx =
- kmadd(dJ122L,PDstandard1gxx,kmadd(dJ222L,PDstandard2gxx,kmadd(dJ322L,PDstandard3gxx,kmadd(PDstandard11gxx,kmul(J12L,J12L),kmadd(PDstandard22gxx,kmul(J22L,J22L),kmadd(PDstandard33gxx,kmul(J32L,J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandard12gxx,kmul(J32L,PDstandard13gxx)),kmul(J22L,kmul(J32L,PDstandard23gxx))),ToReal(2))))))));
+ kmadd(dJ122L,PDstandard1gxx,kmadd(ToReal(2),kmadd(J12L,kmadd(J22L,PDstandard12gxx,kmul(J32L,PDstandard13gxx)),kmul(J22L,kmul(J32L,PDstandard23gxx))),kmadd(dJ222L,PDstandard2gxx,kmadd(dJ322L,PDstandard3gxx,kmadd(PDstandard11gxx,kmul(J12L,J12L),kmadd(PDstandard22gxx,kmul(J22L,J22L),kmul(PDstandard33gxx,kmul(J32L,J32L))))))));
JacPDstandard22gxz =
- kmadd(dJ122L,PDstandard1gxz,kmadd(dJ222L,PDstandard2gxz,kmadd(dJ322L,PDstandard3gxz,kmadd(PDstandard11gxz,kmul(J12L,J12L),kmadd(PDstandard22gxz,kmul(J22L,J22L),kmadd(PDstandard33gxz,kmul(J32L,J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandard12gxz,kmul(J32L,PDstandard13gxz)),kmul(J22L,kmul(J32L,PDstandard23gxz))),ToReal(2))))))));
+ kmadd(dJ122L,PDstandard1gxz,kmadd(ToReal(2),kmadd(J12L,kmadd(J22L,PDstandard12gxz,kmul(J32L,PDstandard13gxz)),kmul(J22L,kmul(J32L,PDstandard23gxz))),kmadd(dJ222L,PDstandard2gxz,kmadd(dJ322L,PDstandard3gxz,kmadd(PDstandard11gxz,kmul(J12L,J12L),kmadd(PDstandard22gxz,kmul(J22L,J22L),kmul(PDstandard33gxz,kmul(J32L,J32L))))))));
JacPDstandard22gzz =
- kmadd(dJ122L,PDstandard1gzz,kmadd(dJ222L,PDstandard2gzz,kmadd(dJ322L,PDstandard3gzz,kmadd(PDstandard11gzz,kmul(J12L,J12L),kmadd(PDstandard22gzz,kmul(J22L,J22L),kmadd(PDstandard33gzz,kmul(J32L,J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandard12gzz,kmul(J32L,PDstandard13gzz)),kmul(J22L,kmul(J32L,PDstandard23gzz))),ToReal(2))))))));
+ kmadd(dJ122L,PDstandard1gzz,kmadd(ToReal(2),kmadd(J12L,kmadd(J22L,PDstandard12gzz,kmul(J32L,PDstandard13gzz)),kmul(J22L,kmul(J32L,PDstandard23gzz))),kmadd(dJ222L,PDstandard2gzz,kmadd(dJ322L,PDstandard3gzz,kmadd(PDstandard11gzz,kmul(J12L,J12L),kmadd(PDstandard22gzz,kmul(J22L,J22L),kmul(PDstandard33gzz,kmul(J32L,J32L))))))));
JacPDstandard33gxx =
- kmadd(dJ133L,PDstandard1gxx,kmadd(dJ233L,PDstandard2gxx,kmadd(dJ333L,PDstandard3gxx,kmadd(PDstandard11gxx,kmul(J13L,J13L),kmadd(PDstandard22gxx,kmul(J23L,J23L),kmadd(PDstandard33gxx,kmul(J33L,J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandard12gxx,kmul(J33L,PDstandard13gxx)),kmul(J23L,kmul(J33L,PDstandard23gxx))),ToReal(2))))))));
+ kmadd(dJ133L,PDstandard1gxx,kmadd(ToReal(2),kmadd(J13L,kmadd(J23L,PDstandard12gxx,kmul(J33L,PDstandard13gxx)),kmul(J23L,kmul(J33L,PDstandard23gxx))),kmadd(dJ233L,PDstandard2gxx,kmadd(dJ333L,PDstandard3gxx,kmadd(PDstandard11gxx,kmul(J13L,J13L),kmadd(PDstandard22gxx,kmul(J23L,J23L),kmul(PDstandard33gxx,kmul(J33L,J33L))))))));
JacPDstandard33gxy =
- kmadd(dJ133L,PDstandard1gxy,kmadd(dJ233L,PDstandard2gxy,kmadd(dJ333L,PDstandard3gxy,kmadd(PDstandard11gxy,kmul(J13L,J13L),kmadd(PDstandard22gxy,kmul(J23L,J23L),kmadd(PDstandard33gxy,kmul(J33L,J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandard12gxy,kmul(J33L,PDstandard13gxy)),kmul(J23L,kmul(J33L,PDstandard23gxy))),ToReal(2))))))));
+ kmadd(dJ133L,PDstandard1gxy,kmadd(ToReal(2),kmadd(J13L,kmadd(J23L,PDstandard12gxy,kmul(J33L,PDstandard13gxy)),kmul(J23L,kmul(J33L,PDstandard23gxy))),kmadd(dJ233L,PDstandard2gxy,kmadd(dJ333L,PDstandard3gxy,kmadd(PDstandard11gxy,kmul(J13L,J13L),kmadd(PDstandard22gxy,kmul(J23L,J23L),kmul(PDstandard33gxy,kmul(J33L,J33L))))))));
JacPDstandard33gyy =
- kmadd(dJ133L,PDstandard1gyy,kmadd(dJ233L,PDstandard2gyy,kmadd(dJ333L,PDstandard3gyy,kmadd(PDstandard11gyy,kmul(J13L,J13L),kmadd(PDstandard22gyy,kmul(J23L,J23L),kmadd(PDstandard33gyy,kmul(J33L,J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandard12gyy,kmul(J33L,PDstandard13gyy)),kmul(J23L,kmul(J33L,PDstandard23gyy))),ToReal(2))))))));
+ kmadd(dJ133L,PDstandard1gyy,kmadd(ToReal(2),kmadd(J13L,kmadd(J23L,PDstandard12gyy,kmul(J33L,PDstandard13gyy)),kmul(J23L,kmul(J33L,PDstandard23gyy))),kmadd(dJ233L,PDstandard2gyy,kmadd(dJ333L,PDstandard3gyy,kmadd(PDstandard11gyy,kmul(J13L,J13L),kmadd(PDstandard22gyy,kmul(J23L,J23L),kmul(PDstandard33gyy,kmul(J33L,J33L))))))));
JacPDstandard12gxy =
kmadd(J12L,kmadd(J11L,PDstandard11gxy,kmadd(J21L,PDstandard12gxy,kmul(J31L,PDstandard13gxy))),kmadd(J11L,kmadd(J22L,PDstandard12gxy,kmul(J32L,PDstandard13gxy)),kmadd(dJ112L,PDstandard1gxy,kmadd(J22L,kmadd(J21L,PDstandard22gxy,kmul(J31L,PDstandard23gxy)),kmadd(dJ212L,PDstandard2gxy,kmadd(J32L,kmadd(J21L,PDstandard23gxy,kmul(J31L,PDstandard33gxy)),kmul(dJ312L,PDstandard3gxy)))))));
@@ -981,7 +993,7 @@ static void WeylScal4_psi4_calc_Nth_Body(const cGH* restrict const cctkGH, const
}
CCTK_REAL_VEC detg CCTK_ATTRIBUTE_UNUSED =
- knmsub(gyyL,kmul(gxzL,gxzL),knmsub(gxxL,kmul(gyzL,gyzL),kmadd(gzzL,kmsub(gxxL,gyyL,kmul(gxyL,gxyL)),kmul(gxyL,kmul(gxzL,kmul(gyzL,ToReal(2)))))));
+ kmadd(ToReal(2),kmul(gxyL,kmul(gxzL,gyzL)),knmsub(gzzL,kmul(gxyL,gxyL),kmsub(gyyL,kmsub(gxxL,gzzL,kmul(gxzL,gxzL)),kmul(gxxL,kmul(gyzL,gyzL)))));
CCTK_REAL_VEC invdetg CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),detg);
@@ -1013,13 +1025,13 @@ static void WeylScal4_psi4_calc_Nth_Body(const cGH* restrict const cctkGH, const
kmul(invdetg,kmsub(gxxL,gyyL,kmul(gxyL,gxyL)));
CCTK_REAL_VEC gamma111 CCTK_ATTRIBUTE_UNUSED =
- kmul(ToReal(0.5),kmadd(gInv11,JacPDstandard1gxx,knmsub(gInv12,JacPDstandard2gxx,kmsub(kmadd(gInv12,JacPDstandard1gxy,kmul(gInv13,JacPDstandard1gxz)),ToReal(2),kmul(gInv13,JacPDstandard3gxx)))));
+ kmul(kmadd(gInv11,JacPDstandard1gxx,kmsub(ToReal(2),kmadd(gInv12,JacPDstandard1gxy,kmul(gInv13,JacPDstandard1gxz)),kmadd(gInv13,JacPDstandard3gxx,kmul(gInv12,JacPDstandard2gxx)))),ToReal(0.5));
CCTK_REAL_VEC gamma211 CCTK_ATTRIBUTE_UNUSED =
- kmul(ToReal(0.5),kmadd(gInv21,JacPDstandard1gxx,knmsub(gInv22,JacPDstandard2gxx,kmsub(kmadd(gInv22,JacPDstandard1gxy,kmul(gInv23,JacPDstandard1gxz)),ToReal(2),kmul(gInv23,JacPDstandard3gxx)))));
+ kmul(kmadd(gInv21,JacPDstandard1gxx,kmsub(ToReal(2),kmadd(gInv22,JacPDstandard1gxy,kmul(gInv23,JacPDstandard1gxz)),kmadd(gInv23,JacPDstandard3gxx,kmul(gInv22,JacPDstandard2gxx)))),ToReal(0.5));
CCTK_REAL_VEC gamma311 CCTK_ATTRIBUTE_UNUSED =
- kmul(ToReal(0.5),kmadd(gInv31,JacPDstandard1gxx,knmsub(gInv32,JacPDstandard2gxx,kmsub(kmadd(gInv32,JacPDstandard1gxy,kmul(gInv33,JacPDstandard1gxz)),ToReal(2),kmul(gInv33,JacPDstandard3gxx)))));
+ kmul(kmadd(gInv31,JacPDstandard1gxx,kmsub(ToReal(2),kmadd(gInv32,JacPDstandard1gxy,kmul(gInv33,JacPDstandard1gxz)),kmadd(gInv33,JacPDstandard3gxx,kmul(gInv32,JacPDstandard2gxx)))),ToReal(0.5));
CCTK_REAL_VEC gamma121 CCTK_ATTRIBUTE_UNUSED =
kmul(kmadd(gInv12,JacPDstandard1gyy,kmadd(gInv11,JacPDstandard2gxx,kmul(gInv13,kadd(JacPDstandard1gyz,ksub(JacPDstandard2gxz,JacPDstandard3gxy))))),ToReal(0.5));
@@ -1040,31 +1052,31 @@ static void WeylScal4_psi4_calc_Nth_Body(const cGH* restrict const cctkGH, const
kmul(kmadd(gInv33,JacPDstandard1gzz,kmadd(gInv31,JacPDstandard3gxx,kmul(gInv32,kadd(JacPDstandard1gyz,ksub(JacPDstandard3gxy,JacPDstandard2gxz))))),ToReal(0.5));
CCTK_REAL_VEC gamma122 CCTK_ATTRIBUTE_UNUSED =
- kmul(ToReal(0.5),kmadd(gInv12,JacPDstandard2gyy,kmadd(gInv11,kmsub(JacPDstandard2gxy,ToReal(2),JacPDstandard1gyy),kmul(gInv13,kmsub(JacPDstandard2gyz,ToReal(2),JacPDstandard3gyy)))));
+ kmul(kmadd(gInv11,kmsub(ToReal(2),JacPDstandard2gxy,JacPDstandard1gyy),kmadd(gInv12,JacPDstandard2gyy,kmul(gInv13,kmsub(ToReal(2),JacPDstandard2gyz,JacPDstandard3gyy)))),ToReal(0.5));
CCTK_REAL_VEC gamma222 CCTK_ATTRIBUTE_UNUSED =
- kmul(ToReal(0.5),kmadd(gInv22,JacPDstandard2gyy,kmadd(gInv21,kmsub(JacPDstandard2gxy,ToReal(2),JacPDstandard1gyy),kmul(gInv23,kmsub(JacPDstandard2gyz,ToReal(2),JacPDstandard3gyy)))));
+ kmul(kmadd(gInv21,kmsub(ToReal(2),JacPDstandard2gxy,JacPDstandard1gyy),kmadd(gInv22,JacPDstandard2gyy,kmul(gInv23,kmsub(ToReal(2),JacPDstandard2gyz,JacPDstandard3gyy)))),ToReal(0.5));
CCTK_REAL_VEC gamma322 CCTK_ATTRIBUTE_UNUSED =
- kmul(ToReal(0.5),kmadd(gInv32,JacPDstandard2gyy,kmadd(gInv31,kmsub(JacPDstandard2gxy,ToReal(2),JacPDstandard1gyy),kmul(gInv33,kmsub(JacPDstandard2gyz,ToReal(2),JacPDstandard3gyy)))));
+ kmul(kmadd(gInv31,kmsub(ToReal(2),JacPDstandard2gxy,JacPDstandard1gyy),kmadd(gInv32,JacPDstandard2gyy,kmul(gInv33,kmsub(ToReal(2),JacPDstandard2gyz,JacPDstandard3gyy)))),ToReal(0.5));
CCTK_REAL_VEC gamma132 CCTK_ATTRIBUTE_UNUSED =
- kmul(kmadd(gInv13,JacPDstandard2gzz,kmadd(gInv12,JacPDstandard3gyy,kmul(gInv11,kadd(JacPDstandard2gxz,ksub(JacPDstandard3gxy,JacPDstandard1gyz))))),ToReal(0.5));
+ kmul(kmadd(gInv13,JacPDstandard2gzz,kmadd(gInv11,ksub(kadd(JacPDstandard2gxz,JacPDstandard3gxy),JacPDstandard1gyz),kmul(gInv12,JacPDstandard3gyy))),ToReal(0.5));
CCTK_REAL_VEC gamma232 CCTK_ATTRIBUTE_UNUSED =
- kmul(kmadd(gInv23,JacPDstandard2gzz,kmadd(gInv22,JacPDstandard3gyy,kmul(gInv21,kadd(JacPDstandard2gxz,ksub(JacPDstandard3gxy,JacPDstandard1gyz))))),ToReal(0.5));
+ kmul(kmadd(gInv23,JacPDstandard2gzz,kmadd(gInv21,ksub(kadd(JacPDstandard2gxz,JacPDstandard3gxy),JacPDstandard1gyz),kmul(gInv22,JacPDstandard3gyy))),ToReal(0.5));
CCTK_REAL_VEC gamma332 CCTK_ATTRIBUTE_UNUSED =
- kmul(kmadd(gInv33,JacPDstandard2gzz,kmadd(gInv32,JacPDstandard3gyy,kmul(gInv31,kadd(JacPDstandard2gxz,ksub(JacPDstandard3gxy,JacPDstandard1gyz))))),ToReal(0.5));
+ kmul(kmadd(gInv33,JacPDstandard2gzz,kmadd(gInv31,ksub(kadd(JacPDstandard2gxz,JacPDstandard3gxy),JacPDstandard1gyz),kmul(gInv32,JacPDstandard3gyy))),ToReal(0.5));
CCTK_REAL_VEC gamma133 CCTK_ATTRIBUTE_UNUSED =
- kmul(ToReal(0.5),kmadd(gInv13,JacPDstandard3gzz,kmadd(gInv11,kmsub(JacPDstandard3gxz,ToReal(2),JacPDstandard1gzz),kmul(gInv12,kmsub(JacPDstandard3gyz,ToReal(2),JacPDstandard2gzz)))));
+ kmul(kmadd(gInv11,kmsub(ToReal(2),JacPDstandard3gxz,JacPDstandard1gzz),kmadd(gInv12,kmsub(ToReal(2),JacPDstandard3gyz,JacPDstandard2gzz),kmul(gInv13,JacPDstandard3gzz))),ToReal(0.5));
CCTK_REAL_VEC gamma233 CCTK_ATTRIBUTE_UNUSED =
- kmul(ToReal(0.5),kmadd(gInv23,JacPDstandard3gzz,kmadd(gInv21,kmsub(JacPDstandard3gxz,ToReal(2),JacPDstandard1gzz),kmul(gInv22,kmsub(JacPDstandard3gyz,ToReal(2),JacPDstandard2gzz)))));
+ kmul(kmadd(gInv21,kmsub(ToReal(2),JacPDstandard3gxz,JacPDstandard1gzz),kmadd(gInv22,kmsub(ToReal(2),JacPDstandard3gyz,JacPDstandard2gzz),kmul(gInv23,JacPDstandard3gzz))),ToReal(0.5));
CCTK_REAL_VEC gamma333 CCTK_ATTRIBUTE_UNUSED =
- kmul(ToReal(0.5),kmadd(gInv33,JacPDstandard3gzz,kmadd(gInv31,kmsub(JacPDstandard3gxz,ToReal(2),JacPDstandard1gzz),kmul(gInv32,kmsub(JacPDstandard3gyz,ToReal(2),JacPDstandard2gzz)))));
+ kmul(kmadd(gInv31,kmsub(ToReal(2),JacPDstandard3gxz,JacPDstandard1gzz),kmadd(gInv32,kmsub(ToReal(2),JacPDstandard3gyz,JacPDstandard2gzz),kmul(gInv33,JacPDstandard3gzz))),ToReal(0.5));
CCTK_REAL_VEC xmoved CCTK_ATTRIBUTE_UNUSED = ksub(xL,ToReal(xorig));
@@ -1085,13 +1097,13 @@ static void WeylScal4_psi4_calc_Nth_Body(const cGH* restrict const cctkGH, const
CCTK_REAL_VEC vb3 CCTK_ATTRIBUTE_UNUSED = zmoved;
CCTK_REAL_VEC vc1 CCTK_ATTRIBUTE_UNUSED =
- kmul(ksqrt(detg),kmadd(vb3,kmsub(gInv11,va2,kmul(gInv12,va1)),kmadd(vb1,kmsub(gInv12,va3,kmul(gInv13,va2)),kmul(vb2,kmsub(gInv13,va1,kmul(gInv11,va3))))));
+ kmul(kmadd(kmsub(gInv12,va3,kmul(gInv13,va2)),vb1,kmadd(kmsub(gInv13,va1,kmul(gInv11,va3)),vb2,kmul(vb3,kmsub(gInv11,va2,kmul(gInv12,va1))))),kpow(detg,0.5));
CCTK_REAL_VEC vc2 CCTK_ATTRIBUTE_UNUSED =
- kmul(ksqrt(detg),kmadd(vb3,kmsub(gInv21,va2,kmul(gInv22,va1)),kmadd(vb1,kmsub(gInv22,va3,kmul(gInv23,va2)),kmul(vb2,kmsub(gInv23,va1,kmul(gInv21,va3))))));
+ kmul(kmadd(kmsub(gInv22,va3,kmul(gInv23,va2)),vb1,kmadd(kmsub(gInv23,va1,kmul(gInv21,va3)),vb2,kmul(vb3,kmsub(gInv21,va2,kmul(gInv22,va1))))),kpow(detg,0.5));
CCTK_REAL_VEC vc3 CCTK_ATTRIBUTE_UNUSED =
- kmul(ksqrt(detg),kmadd(vb3,kmsub(gInv31,va2,kmul(gInv32,va1)),kmadd(vb1,kmsub(gInv32,va3,kmul(gInv33,va2)),kmul(vb2,kmsub(gInv33,va1,kmul(gInv31,va3))))));
+ kmul(kmadd(kmsub(gInv32,va3,kmul(gInv33,va2)),vb1,kmadd(kmsub(gInv33,va1,kmul(gInv31,va3)),vb2,kmul(vb3,kmsub(gInv31,va2,kmul(gInv32,va1))))),kpow(detg,0.5));
CCTK_REAL_VEC wa1 CCTK_ATTRIBUTE_UNUSED = va1;
@@ -1100,13 +1112,16 @@ static void WeylScal4_psi4_calc_Nth_Body(const cGH* restrict const cctkGH, const
CCTK_REAL_VEC wa3 CCTK_ATTRIBUTE_UNUSED = va3;
CCTK_REAL_VEC omega11 CCTK_ATTRIBUTE_UNUSED =
- kmadd(gxxL,kmul(wa1,wa1),kmadd(gyyL,kmul(wa2,wa2),kmadd(gzzL,kmul(wa3,wa3),kmul(kmadd(gyzL,kmul(wa2,wa3),kmul(wa1,kmadd(gxyL,wa2,kmul(gxzL,wa3)))),ToReal(2)))));
+ kmadd(ToReal(2),kmadd(gyzL,kmul(wa2,wa3),kmul(wa1,kmadd(gxyL,wa2,kmul(gxzL,wa3)))),kmadd(gxxL,kmul(wa1,wa1),kmadd(gyyL,kmul(wa2,wa2),kmul(gzzL,kmul(wa3,wa3)))));
- CCTK_REAL_VEC ea1 CCTK_ATTRIBUTE_UNUSED = kdiv(wa1,ksqrt(omega11));
+ CCTK_REAL_VEC ea1 CCTK_ATTRIBUTE_UNUSED =
+ kmul(wa1,kpow(omega11,-0.5));
- CCTK_REAL_VEC ea2 CCTK_ATTRIBUTE_UNUSED = kdiv(wa2,ksqrt(omega11));
+ CCTK_REAL_VEC ea2 CCTK_ATTRIBUTE_UNUSED =
+ kmul(wa2,kpow(omega11,-0.5));
- CCTK_REAL_VEC ea3 CCTK_ATTRIBUTE_UNUSED = kdiv(wa3,ksqrt(omega11));
+ CCTK_REAL_VEC ea3 CCTK_ATTRIBUTE_UNUSED =
+ kmul(wa3,kpow(omega11,-0.5));
CCTK_REAL_VEC omega12 CCTK_ATTRIBUTE_UNUSED =
kmadd(ea1,kmadd(gxxL,vb1,kmadd(gxyL,vb2,kmul(gxzL,vb3))),kmadd(ea2,kmadd(gxyL,vb1,kmadd(gyyL,vb2,kmul(gyzL,vb3))),kmul(ea3,kmadd(gxzL,vb1,kmadd(gyzL,vb2,kmul(gzzL,vb3))))));
@@ -1118,13 +1133,16 @@ static void WeylScal4_psi4_calc_Nth_Body(const cGH* restrict const cctkGH, const
CCTK_REAL_VEC wb3 CCTK_ATTRIBUTE_UNUSED = knmsub(ea3,omega12,vb3);
CCTK_REAL_VEC omega22 CCTK_ATTRIBUTE_UNUSED =
- kmadd(gxxL,kmul(wb1,wb1),kmadd(gyyL,kmul(wb2,wb2),kmadd(gzzL,kmul(wb3,wb3),kmul(kmadd(gyzL,kmul(wb2,wb3),kmul(wb1,kmadd(gxyL,wb2,kmul(gxzL,wb3)))),ToReal(2)))));
+ kmadd(ToReal(2),kmadd(gyzL,kmul(wb2,wb3),kmul(wb1,kmadd(gxyL,wb2,kmul(gxzL,wb3)))),kmadd(gxxL,kmul(wb1,wb1),kmadd(gyyL,kmul(wb2,wb2),kmul(gzzL,kmul(wb3,wb3)))));
- CCTK_REAL_VEC eb1 CCTK_ATTRIBUTE_UNUSED = kdiv(wb1,ksqrt(omega22));
+ CCTK_REAL_VEC eb1 CCTK_ATTRIBUTE_UNUSED =
+ kmul(wb1,kpow(omega22,-0.5));
- CCTK_REAL_VEC eb2 CCTK_ATTRIBUTE_UNUSED = kdiv(wb2,ksqrt(omega22));
+ CCTK_REAL_VEC eb2 CCTK_ATTRIBUTE_UNUSED =
+ kmul(wb2,kpow(omega22,-0.5));
- CCTK_REAL_VEC eb3 CCTK_ATTRIBUTE_UNUSED = kdiv(wb3,ksqrt(omega22));
+ CCTK_REAL_VEC eb3 CCTK_ATTRIBUTE_UNUSED =
+ kmul(wb3,kpow(omega22,-0.5));
CCTK_REAL_VEC omega13 CCTK_ATTRIBUTE_UNUSED =
kmadd(ea1,kmadd(gxxL,vc1,kmadd(gxyL,vc2,kmul(gxzL,vc3))),kmadd(ea2,kmadd(gxyL,vc1,kmadd(gyyL,vc2,kmul(gyzL,vc3))),kmul(ea3,kmadd(gxzL,vc1,kmadd(gyzL,vc2,kmul(gzzL,vc3))))));
@@ -1133,22 +1151,25 @@ static void WeylScal4_psi4_calc_Nth_Body(const cGH* restrict const cctkGH, const
kmadd(eb1,kmadd(gxxL,vc1,kmadd(gxyL,vc2,kmul(gxzL,vc3))),kmadd(eb2,kmadd(gxyL,vc1,kmadd(gyyL,vc2,kmul(gyzL,vc3))),kmul(eb3,kmadd(gxzL,vc1,kmadd(gyzL,vc2,kmul(gzzL,vc3))))));
CCTK_REAL_VEC wc1 CCTK_ATTRIBUTE_UNUSED =
- ksub(vc1,kmadd(eb1,omega23,kmul(ea1,omega13)));
+ knmsub(ea1,omega13,knmsub(eb1,omega23,vc1));
CCTK_REAL_VEC wc2 CCTK_ATTRIBUTE_UNUSED =
- ksub(vc2,kmadd(eb2,omega23,kmul(ea2,omega13)));
+ knmsub(ea2,omega13,knmsub(eb2,omega23,vc2));
CCTK_REAL_VEC wc3 CCTK_ATTRIBUTE_UNUSED =
- ksub(vc3,kmadd(eb3,omega23,kmul(ea3,omega13)));
+ knmsub(ea3,omega13,knmsub(eb3,omega23,vc3));
CCTK_REAL_VEC omega33 CCTK_ATTRIBUTE_UNUSED =
- kmadd(gxxL,kmul(wc1,wc1),kmadd(gyyL,kmul(wc2,wc2),kmadd(gzzL,kmul(wc3,wc3),kmul(kmadd(gyzL,kmul(wc2,wc3),kmul(wc1,kmadd(gxyL,wc2,kmul(gxzL,wc3)))),ToReal(2)))));
+ kmadd(ToReal(2),kmadd(gyzL,kmul(wc2,wc3),kmul(wc1,kmadd(gxyL,wc2,kmul(gxzL,wc3)))),kmadd(gxxL,kmul(wc1,wc1),kmadd(gyyL,kmul(wc2,wc2),kmul(gzzL,kmul(wc3,wc3)))));
- CCTK_REAL_VEC ec1 CCTK_ATTRIBUTE_UNUSED = kdiv(wc1,ksqrt(omega33));
+ CCTK_REAL_VEC ec1 CCTK_ATTRIBUTE_UNUSED =
+ kmul(wc1,kpow(omega33,-0.5));
- CCTK_REAL_VEC ec2 CCTK_ATTRIBUTE_UNUSED = kdiv(wc2,ksqrt(omega33));
+ CCTK_REAL_VEC ec2 CCTK_ATTRIBUTE_UNUSED =
+ kmul(wc2,kpow(omega33,-0.5));
- CCTK_REAL_VEC ec3 CCTK_ATTRIBUTE_UNUSED = kdiv(wc3,ksqrt(omega33));
+ CCTK_REAL_VEC ec3 CCTK_ATTRIBUTE_UNUSED =
+ kmul(wc3,kpow(omega33,-0.5));
CCTK_REAL_VEC isqrt2 CCTK_ATTRIBUTE_UNUSED =
ToReal(0.707106781186547524);
@@ -1186,37 +1207,37 @@ static void WeylScal4_psi4_calc_Nth_Body(const cGH* restrict const cctkGH, const
CCTK_REAL_VEC nn CCTK_ATTRIBUTE_UNUSED = isqrt2;
CCTK_REAL_VEC R1212 CCTK_ATTRIBUTE_UNUSED =
- kmul(ToReal(0.5),kadd(JacPDstandard12gxy,kadd(JacPDstandard21gxy,kmadd(kmadd(gamma122,kmadd(gxxL,gamma111,kmadd(gxyL,gamma211,kmul(gxzL,gamma311))),kmadd(gamma222,kmadd(gxyL,gamma111,kmadd(gyyL,gamma211,kmul(gyzL,gamma311))),kmul(kmadd(gxzL,gamma111,kmadd(gyzL,gamma211,kmul(gzzL,gamma311))),gamma322))),ToReal(-2),ksub(kmsub(kmadd(gamma121,kmadd(gxxL,gamma121,kmadd(gxyL,gamma221,kmul(gxzL,gamma321))),kmadd(gamma221,kmadd(gxyL,gamma121,kmadd(gyyL,gamma221,kmul(gyzL,gamma321))),kmul(gamma321,kmadd(gxzL,gamma121,kmadd(gyzL,gamma221,kmul(gzzL,gamma321)))))),ToReal(2),JacPDstandard22gxx),JacPDstandard11gyy)))));
+ kmul(kmadd(ToReal(2),kmadd(gamma121,kmadd(gxxL,gamma121,kmadd(gxyL,gamma221,kmul(gxzL,gamma321))),kmadd(gamma221,kmadd(gxyL,gamma121,kmadd(gyyL,gamma221,kmul(gyzL,gamma321))),kmul(gamma321,kmadd(gxzL,gamma121,kmadd(gyzL,gamma221,kmul(gzzL,gamma321)))))),kmadd(ToReal(-2),kmadd(gamma122,kmadd(gxxL,gamma111,kmadd(gxyL,gamma211,kmul(gxzL,gamma311))),kmadd(gamma222,kmadd(gxyL,gamma111,kmadd(gyyL,gamma211,kmul(gyzL,gamma311))),kmul(kmadd(gxzL,gamma111,kmadd(gyzL,gamma211,kmul(gzzL,gamma311))),gamma322))),ksub(kadd(JacPDstandard12gxy,ksub(JacPDstandard21gxy,JacPDstandard22gxx)),JacPDstandard11gyy))),ToReal(0.5));
CCTK_REAL_VEC R1213 CCTK_ATTRIBUTE_UNUSED =
- kmul(ToReal(0.5),kadd(JacPDstandard12gxz,kadd(JacPDstandard31gxy,kmadd(kmadd(gamma132,kmadd(gxxL,gamma111,kmadd(gxyL,gamma211,kmul(gxzL,gamma311))),kmadd(gamma232,kmadd(gxyL,gamma111,kmadd(gyyL,gamma211,kmul(gyzL,gamma311))),kmul(kmadd(gxzL,gamma111,kmadd(gyzL,gamma211,kmul(gzzL,gamma311))),gamma332))),ToReal(-2),ksub(kmsub(kmadd(gamma121,kmadd(gxxL,gamma131,kmadd(gxyL,gamma231,kmul(gxzL,gamma331))),kmadd(gamma221,kmadd(gxyL,gamma131,kmadd(gyyL,gamma231,kmul(gyzL,gamma331))),kmul(gamma321,kmadd(gxzL,gamma131,kmadd(gyzL,gamma231,kmul(gzzL,gamma331)))))),ToReal(2),JacPDstandard23gxx),JacPDstandard11gyz)))));
+ kmul(kmadd(ToReal(2),kmadd(gamma121,kmadd(gxxL,gamma131,kmadd(gxyL,gamma231,kmul(gxzL,gamma331))),kmadd(gamma221,kmadd(gxyL,gamma131,kmadd(gyyL,gamma231,kmul(gyzL,gamma331))),kmul(gamma321,kmadd(gxzL,gamma131,kmadd(gyzL,gamma231,kmul(gzzL,gamma331)))))),kmadd(ToReal(-2),kmadd(gamma132,kmadd(gxxL,gamma111,kmadd(gxyL,gamma211,kmul(gxzL,gamma311))),kmadd(gamma232,kmadd(gxyL,gamma111,kmadd(gyyL,gamma211,kmul(gyzL,gamma311))),kmul(kmadd(gxzL,gamma111,kmadd(gyzL,gamma211,kmul(gzzL,gamma311))),gamma332))),ksub(kadd(JacPDstandard12gxz,ksub(JacPDstandard31gxy,JacPDstandard23gxx)),JacPDstandard11gyz))),ToReal(0.5));
CCTK_REAL_VEC R1223 CCTK_ATTRIBUTE_UNUSED =
- kmul(ToReal(0.5),kadd(JacPDstandard22gxz,kadd(JacPDstandard31gyy,kmadd(kmadd(gamma132,kmadd(gxxL,gamma121,kmadd(gxyL,gamma221,kmul(gxzL,gamma321))),kmadd(gamma232,kmadd(gxyL,gamma121,kmadd(gyyL,gamma221,kmul(gyzL,gamma321))),kmul(kmadd(gxzL,gamma121,kmadd(gyzL,gamma221,kmul(gzzL,gamma321))),gamma332))),ToReal(-2),ksub(kmsub(kmadd(gamma122,kmadd(gxxL,gamma131,kmadd(gxyL,gamma231,kmul(gxzL,gamma331))),kmadd(gamma222,kmadd(gxyL,gamma131,kmadd(gyyL,gamma231,kmul(gyzL,gamma331))),kmul(gamma322,kmadd(gxzL,gamma131,kmadd(gyzL,gamma231,kmul(gzzL,gamma331)))))),ToReal(2),JacPDstandard23gxy),JacPDstandard12gyz)))));
+ kmul(kmadd(ToReal(2),kmadd(gamma122,kmadd(gxxL,gamma131,kmadd(gxyL,gamma231,kmul(gxzL,gamma331))),kmadd(gamma222,kmadd(gxyL,gamma131,kmadd(gyyL,gamma231,kmul(gyzL,gamma331))),kmul(gamma322,kmadd(gxzL,gamma131,kmadd(gyzL,gamma231,kmul(gzzL,gamma331)))))),kmadd(ToReal(-2),kmadd(gamma132,kmadd(gxxL,gamma121,kmadd(gxyL,gamma221,kmul(gxzL,gamma321))),kmadd(gamma232,kmadd(gxyL,gamma121,kmadd(gyyL,gamma221,kmul(gyzL,gamma321))),kmul(kmadd(gxzL,gamma121,kmadd(gyzL,gamma221,kmul(gzzL,gamma321))),gamma332))),ksub(kadd(JacPDstandard22gxz,ksub(JacPDstandard31gyy,JacPDstandard23gxy)),JacPDstandard12gyz))),ToReal(0.5));
CCTK_REAL_VEC R1313 CCTK_ATTRIBUTE_UNUSED =
- kmul(ToReal(0.5),kadd(JacPDstandard13gxz,kadd(JacPDstandard31gxz,kmadd(kmadd(gamma133,kmadd(gxxL,gamma111,kmadd(gxyL,gamma211,kmul(gxzL,gamma311))),kmadd(gamma233,kmadd(gxyL,gamma111,kmadd(gyyL,gamma211,kmul(gyzL,gamma311))),kmul(kmadd(gxzL,gamma111,kmadd(gyzL,gamma211,kmul(gzzL,gamma311))),gamma333))),ToReal(-2),ksub(kmsub(kmadd(gamma131,kmadd(gxxL,gamma131,kmadd(gxyL,gamma231,kmul(gxzL,gamma331))),kmadd(gamma231,kmadd(gxyL,gamma131,kmadd(gyyL,gamma231,kmul(gyzL,gamma331))),kmul(gamma331,kmadd(gxzL,gamma131,kmadd(gyzL,gamma231,kmul(gzzL,gamma331)))))),ToReal(2),JacPDstandard33gxx),JacPDstandard11gzz)))));
+ kmul(kmadd(ToReal(2),kmadd(gamma131,kmadd(gxxL,gamma131,kmadd(gxyL,gamma231,kmul(gxzL,gamma331))),kmadd(gamma231,kmadd(gxyL,gamma131,kmadd(gyyL,gamma231,kmul(gyzL,gamma331))),kmul(gamma331,kmadd(gxzL,gamma131,kmadd(gyzL,gamma231,kmul(gzzL,gamma331)))))),kmadd(ToReal(-2),kmadd(gamma133,kmadd(gxxL,gamma111,kmadd(gxyL,gamma211,kmul(gxzL,gamma311))),kmadd(gamma233,kmadd(gxyL,gamma111,kmadd(gyyL,gamma211,kmul(gyzL,gamma311))),kmul(kmadd(gxzL,gamma111,kmadd(gyzL,gamma211,kmul(gzzL,gamma311))),gamma333))),ksub(kadd(JacPDstandard13gxz,ksub(JacPDstandard31gxz,JacPDstandard33gxx)),JacPDstandard11gzz))),ToReal(0.5));
CCTK_REAL_VEC R1323 CCTK_ATTRIBUTE_UNUSED =
- kmul(ToReal(0.5),kadd(JacPDstandard23gxz,kadd(JacPDstandard31gyz,kmadd(kmadd(gamma133,kmadd(gxxL,gamma121,kmadd(gxyL,gamma221,kmul(gxzL,gamma321))),kmadd(gamma233,kmadd(gxyL,gamma121,kmadd(gyyL,gamma221,kmul(gyzL,gamma321))),kmul(kmadd(gxzL,gamma121,kmadd(gyzL,gamma221,kmul(gzzL,gamma321))),gamma333))),ToReal(-2),ksub(kmsub(kmadd(gamma132,kmadd(gxxL,gamma131,kmadd(gxyL,gamma231,kmul(gxzL,gamma331))),kmadd(gamma232,kmadd(gxyL,gamma131,kmadd(gyyL,gamma231,kmul(gyzL,gamma331))),kmul(kmadd(gxzL,gamma131,kmadd(gyzL,gamma231,kmul(gzzL,gamma331))),gamma332))),ToReal(2),JacPDstandard33gxy),JacPDstandard12gzz)))));
+ kmul(kmadd(ToReal(2),kmadd(gamma132,kmadd(gxxL,gamma131,kmadd(gxyL,gamma231,kmul(gxzL,gamma331))),kmadd(gamma232,kmadd(gxyL,gamma131,kmadd(gyyL,gamma231,kmul(gyzL,gamma331))),kmul(kmadd(gxzL,gamma131,kmadd(gyzL,gamma231,kmul(gzzL,gamma331))),gamma332))),kmadd(ToReal(-2),kmadd(gamma133,kmadd(gxxL,gamma121,kmadd(gxyL,gamma221,kmul(gxzL,gamma321))),kmadd(gamma233,kmadd(gxyL,gamma121,kmadd(gyyL,gamma221,kmul(gyzL,gamma321))),kmul(kmadd(gxzL,gamma121,kmadd(gyzL,gamma221,kmul(gzzL,gamma321))),gamma333))),ksub(kadd(JacPDstandard23gxz,ksub(JacPDstandard31gyz,JacPDstandard33gxy)),JacPDstandard12gzz))),ToReal(0.5));
CCTK_REAL_VEC R2323 CCTK_ATTRIBUTE_UNUSED =
- kmul(ToReal(0.5),kadd(JacPDstandard23gyz,kadd(JacPDstandard32gyz,kmadd(kmadd(gamma133,kmadd(gxxL,gamma122,kmadd(gxyL,gamma222,kmul(gxzL,gamma322))),kmadd(gamma233,kmadd(gxyL,gamma122,kmadd(gyyL,gamma222,kmul(gyzL,gamma322))),kmul(kmadd(gxzL,gamma122,kmadd(gyzL,gamma222,kmul(gzzL,gamma322))),gamma333))),ToReal(-2),ksub(kmsub(kmadd(gamma132,kmadd(gxxL,gamma132,kmadd(gxyL,gamma232,kmul(gxzL,gamma332))),kmadd(gamma232,kmadd(gxyL,gamma132,kmadd(gyyL,gamma232,kmul(gyzL,gamma332))),kmul(gamma332,kmadd(gxzL,gamma132,kmadd(gyzL,gamma232,kmul(gzzL,gamma332)))))),ToReal(2),JacPDstandard33gyy),JacPDstandard22gzz)))));
+ kmul(kmadd(ToReal(2),kmadd(gamma132,kmadd(gxxL,gamma132,kmadd(gxyL,gamma232,kmul(gxzL,gamma332))),kmadd(gamma232,kmadd(gxyL,gamma132,kmadd(gyyL,gamma232,kmul(gyzL,gamma332))),kmul(gamma332,kmadd(gxzL,gamma132,kmadd(gyzL,gamma232,kmul(gzzL,gamma332)))))),kmadd(ToReal(-2),kmadd(gamma133,kmadd(gxxL,gamma122,kmadd(gxyL,gamma222,kmul(gxzL,gamma322))),kmadd(gamma233,kmadd(gxyL,gamma122,kmadd(gyyL,gamma222,kmul(gyzL,gamma322))),kmul(kmadd(gxzL,gamma122,kmadd(gyzL,gamma222,kmul(gzzL,gamma322))),gamma333))),ksub(kadd(JacPDstandard23gyz,ksub(JacPDstandard32gyz,JacPDstandard33gyy)),JacPDstandard22gzz))),ToReal(0.5));
CCTK_REAL_VEC R4p1212 CCTK_ATTRIBUTE_UNUSED =
kmadd(kxxL,kyyL,knmsub(kxyL,kxyL,R1212));
CCTK_REAL_VEC R4p1213 CCTK_ATTRIBUTE_UNUSED =
- kmadd(kxxL,kyzL,knmsub(kxyL,kxzL,R1213));
+ knmsub(kxyL,kxzL,kmadd(kxxL,kyzL,R1213));
CCTK_REAL_VEC R4p1223 CCTK_ATTRIBUTE_UNUSED =
- kmadd(kxyL,kyzL,knmsub(kxzL,kyyL,R1223));
+ knmsub(kxzL,kyyL,kmadd(kxyL,kyzL,R1223));
CCTK_REAL_VEC R4p1313 CCTK_ATTRIBUTE_UNUSED =
kmadd(kxxL,kzzL,knmsub(kxzL,kxzL,R1313));
CCTK_REAL_VEC R4p1323 CCTK_ATTRIBUTE_UNUSED =
- kmadd(kxyL,kzzL,knmsub(kxzL,kyzL,R1323));
+ knmsub(kxzL,kyzL,kmadd(kxyL,kzzL,R1323));
CCTK_REAL_VEC R4p2323 CCTK_ATTRIBUTE_UNUSED =
kmadd(kyyL,kzzL,knmsub(kyzL,kyzL,R2323));
@@ -1224,108 +1245,107 @@ static void WeylScal4_psi4_calc_Nth_Body(const cGH* restrict const cctkGH, const
CCTK_REAL_VEC Ro111 CCTK_ATTRIBUTE_UNUSED = ToReal(0);
CCTK_REAL_VEC Ro112 CCTK_ATTRIBUTE_UNUSED =
- kmadd(kxxL,gamma121,kmadd(kxzL,gamma321,kadd(JacPDstandard1kxy,knmsub(kyyL,gamma211,knmsub(kyzL,gamma311,kmsub(kxyL,ksub(gamma221,gamma111),JacPDstandard2kxx))))));
+ kmadd(kxxL,gamma121,knmsub(kyyL,gamma211,kmadd(kxyL,ksub(gamma221,gamma111),knmsub(kyzL,gamma311,kmadd(kxzL,gamma321,ksub(JacPDstandard1kxy,JacPDstandard2kxx))))));
CCTK_REAL_VEC Ro113 CCTK_ATTRIBUTE_UNUSED =
- kmadd(kxxL,gamma131,kmadd(kxyL,gamma231,kadd(JacPDstandard1kxz,knmsub(kyzL,gamma211,knmsub(kzzL,gamma311,kmsub(kxzL,ksub(gamma331,gamma111),JacPDstandard3kxx))))));
+ kmadd(kxxL,gamma131,knmsub(kyzL,gamma211,kmadd(kxyL,gamma231,knmsub(kzzL,gamma311,kmadd(kxzL,ksub(gamma331,gamma111),ksub(JacPDstandard1kxz,JacPDstandard3kxx))))));
CCTK_REAL_VEC Ro121 CCTK_ATTRIBUTE_UNUSED =
- kmadd(kyyL,gamma211,kmadd(kyzL,gamma311,kadd(JacPDstandard2kxx,knmsub(kxxL,gamma121,knmsub(kxzL,gamma321,kmsub(kxyL,ksub(gamma111,gamma221),JacPDstandard1kxy))))));
+ knmsub(kxxL,gamma121,kmadd(kyyL,gamma211,kmadd(kxyL,ksub(gamma111,gamma221),kmadd(kyzL,gamma311,knmsub(kxzL,gamma321,ksub(JacPDstandard2kxx,JacPDstandard1kxy))))));
CCTK_REAL_VEC Ro122 CCTK_ATTRIBUTE_UNUSED = ToReal(0);
CCTK_REAL_VEC Ro123 CCTK_ATTRIBUTE_UNUSED =
- kmadd(kxyL,gamma131,kmadd(kyyL,gamma231,kadd(JacPDstandard2kxz,knmsub(kxzL,gamma121,knmsub(kzzL,gamma321,kmsub(kyzL,ksub(gamma331,gamma221),JacPDstandard3kxy))))));
+ knmsub(kxzL,gamma121,kmadd(kxyL,gamma131,kmadd(kyyL,gamma231,knmsub(kzzL,gamma321,kmadd(kyzL,ksub(gamma331,gamma221),ksub(JacPDstandard2kxz,JacPDstandard3kxy))))));
CCTK_REAL_VEC Ro131 CCTK_ATTRIBUTE_UNUSED =
- kmadd(kyzL,gamma211,kmadd(kzzL,gamma311,kadd(JacPDstandard3kxx,knmsub(kxxL,gamma131,knmsub(kxyL,gamma231,kmsub(kxzL,ksub(gamma111,gamma331),JacPDstandard1kxz))))));
+ knmsub(kxxL,gamma131,kmadd(kyzL,gamma211,knmsub(kxyL,gamma231,kmadd(kzzL,gamma311,kmadd(kxzL,ksub(gamma111,gamma331),ksub(JacPDstandard3kxx,JacPDstandard1kxz))))));
CCTK_REAL_VEC Ro132 CCTK_ATTRIBUTE_UNUSED =
- kmadd(kxzL,gamma121,kmadd(kzzL,gamma321,kadd(JacPDstandard3kxy,knmsub(kxyL,gamma131,knmsub(kyyL,gamma231,kmsub(kyzL,ksub(gamma221,gamma331),JacPDstandard2kxz))))));
+ kmadd(kxzL,gamma121,knmsub(kxyL,gamma131,knmsub(kyyL,gamma231,kmadd(kzzL,gamma321,kmadd(kyzL,ksub(gamma221,gamma331),ksub(JacPDstandard3kxy,JacPDstandard2kxz))))));
CCTK_REAL_VEC Ro133 CCTK_ATTRIBUTE_UNUSED = ToReal(0);
CCTK_REAL_VEC Ro211 CCTK_ATTRIBUTE_UNUSED = ToReal(0);
CCTK_REAL_VEC Ro212 CCTK_ATTRIBUTE_UNUSED =
- kmadd(kxxL,gamma122,kmadd(kxzL,gamma322,kadd(JacPDstandard1kyy,knmsub(kyyL,gamma221,knmsub(kyzL,gamma321,kmsub(kxyL,ksub(gamma222,gamma121),JacPDstandard2kxy))))));
+ kmadd(kxxL,gamma122,knmsub(kyyL,gamma221,kmadd(kxyL,ksub(gamma222,gamma121),knmsub(kyzL,gamma321,kmadd(kxzL,gamma322,ksub(JacPDstandard1kyy,JacPDstandard2kxy))))));
CCTK_REAL_VEC Ro213 CCTK_ATTRIBUTE_UNUSED =
- kmadd(kxxL,gamma132,kmadd(kxyL,gamma232,kadd(JacPDstandard1kyz,knmsub(kyzL,gamma221,knmsub(kzzL,gamma321,kmsub(kxzL,ksub(gamma332,gamma121),JacPDstandard3kxy))))));
+ kmadd(kxxL,gamma132,knmsub(kyzL,gamma221,kmadd(kxyL,gamma232,knmsub(kzzL,gamma321,kmadd(kxzL,ksub(gamma332,gamma121),ksub(JacPDstandard1kyz,JacPDstandard3kxy))))));
CCTK_REAL_VEC Ro221 CCTK_ATTRIBUTE_UNUSED =
- kmadd(kyyL,gamma221,kmadd(kyzL,gamma321,kadd(JacPDstandard2kxy,knmsub(kxxL,gamma122,knmsub(kxzL,gamma322,kmsub(kxyL,ksub(gamma121,gamma222),JacPDstandard1kyy))))));
+ knmsub(kxxL,gamma122,kmadd(kyyL,gamma221,kmadd(kxyL,ksub(gamma121,gamma222),kmadd(kyzL,gamma321,knmsub(kxzL,gamma322,ksub(JacPDstandard2kxy,JacPDstandard1kyy))))));
CCTK_REAL_VEC Ro222 CCTK_ATTRIBUTE_UNUSED = ToReal(0);
CCTK_REAL_VEC Ro223 CCTK_ATTRIBUTE_UNUSED =
- kmadd(kxyL,gamma132,kmadd(kyyL,gamma232,kadd(JacPDstandard2kyz,knmsub(kxzL,gamma122,knmsub(kzzL,gamma322,kmsub(kyzL,ksub(gamma332,gamma222),JacPDstandard3kyy))))));
+ knmsub(kxzL,gamma122,kmadd(kxyL,gamma132,kmadd(kyyL,gamma232,knmsub(kzzL,gamma322,kmadd(kyzL,ksub(gamma332,gamma222),ksub(JacPDstandard2kyz,JacPDstandard3kyy))))));
CCTK_REAL_VEC Ro231 CCTK_ATTRIBUTE_UNUSED =
- kmadd(kyzL,gamma221,kmadd(kzzL,gamma321,kadd(JacPDstandard3kxy,knmsub(kxxL,gamma132,knmsub(kxyL,gamma232,kmsub(kxzL,ksub(gamma121,gamma332),JacPDstandard1kyz))))));
+ knmsub(kxxL,gamma132,kmadd(kyzL,gamma221,knmsub(kxyL,gamma232,kmadd(kzzL,gamma321,kmadd(kxzL,ksub(gamma121,gamma332),ksub(JacPDstandard3kxy,JacPDstandard1kyz))))));
CCTK_REAL_VEC Ro232 CCTK_ATTRIBUTE_UNUSED =
- kmadd(kxzL,gamma122,kmadd(kzzL,gamma322,kadd(JacPDstandard3kyy,knmsub(kxyL,gamma132,knmsub(kyyL,gamma232,kmsub(kyzL,ksub(gamma222,gamma332),JacPDstandard2kyz))))));
+ kmadd(kxzL,gamma122,knmsub(kxyL,gamma132,knmsub(kyyL,gamma232,kmadd(kzzL,gamma322,kmadd(kyzL,ksub(gamma222,gamma332),ksub(JacPDstandard3kyy,JacPDstandard2kyz))))));
CCTK_REAL_VEC Ro233 CCTK_ATTRIBUTE_UNUSED = ToReal(0);
CCTK_REAL_VEC Ro311 CCTK_ATTRIBUTE_UNUSED = ToReal(0);
CCTK_REAL_VEC Ro312 CCTK_ATTRIBUTE_UNUSED =
- kmadd(kxxL,gamma132,kmadd(kxzL,gamma332,kadd(JacPDstandard1kyz,knmsub(kyyL,gamma231,knmsub(kyzL,gamma331,kmsub(kxyL,ksub(gamma232,gamma131),JacPDstandard2kxz))))));
+ kmadd(kxxL,gamma132,knmsub(kyyL,gamma231,kmadd(kxyL,ksub(gamma232,gamma131),knmsub(kyzL,gamma331,kmadd(kxzL,gamma332,ksub(JacPDstandard1kyz,JacPDstandard2kxz))))));
CCTK_REAL_VEC Ro313 CCTK_ATTRIBUTE_UNUSED =
- kmadd(kxxL,gamma133,kmadd(kxyL,gamma233,kadd(JacPDstandard1kzz,knmsub(kyzL,gamma231,knmsub(kzzL,gamma331,kmsub(kxzL,ksub(gamma333,gamma131),JacPDstandard3kxz))))));
+ kmadd(kxxL,gamma133,knmsub(kyzL,gamma231,kmadd(kxyL,gamma233,knmsub(kzzL,gamma331,kmadd(kxzL,ksub(gamma333,gamma131),ksub(JacPDstandard1kzz,JacPDstandard3kxz))))));
CCTK_REAL_VEC Ro321 CCTK_ATTRIBUTE_UNUSED =
- kmadd(kyyL,gamma231,kmadd(kyzL,gamma331,kadd(JacPDstandard2kxz,knmsub(kxxL,gamma132,knmsub(kxzL,gamma332,kmsub(kxyL,ksub(gamma131,gamma232),JacPDstandard1kyz))))));
+ knmsub(kxxL,gamma132,kmadd(kyyL,gamma231,kmadd(kxyL,ksub(gamma131,gamma232),kmadd(kyzL,gamma331,knmsub(kxzL,gamma332,ksub(JacPDstandard2kxz,JacPDstandard1kyz))))));
CCTK_REAL_VEC Ro322 CCTK_ATTRIBUTE_UNUSED = ToReal(0);
CCTK_REAL_VEC Ro323 CCTK_ATTRIBUTE_UNUSED =
- kmadd(kxyL,gamma133,kmadd(kyyL,gamma233,kadd(JacPDstandard2kzz,knmsub(kxzL,gamma132,knmsub(kzzL,gamma332,kmsub(kyzL,ksub(gamma333,gamma232),JacPDstandard3kyz))))));
+ knmsub(kxzL,gamma132,kmadd(kxyL,gamma133,kmadd(kyyL,gamma233,knmsub(kzzL,gamma332,kmadd(kyzL,ksub(gamma333,gamma232),ksub(JacPDstandard2kzz,JacPDstandard3kyz))))));
CCTK_REAL_VEC Ro331 CCTK_ATTRIBUTE_UNUSED =
- kmadd(kyzL,gamma231,kmadd(kzzL,gamma331,kadd(JacPDstandard3kxz,knmsub(kxxL,gamma133,knmsub(kxyL,gamma233,kmsub(kxzL,ksub(gamma131,gamma333),JacPDstandard1kzz))))));
+ knmsub(kxxL,gamma133,kmadd(kyzL,gamma231,knmsub(kxyL,gamma233,kmadd(kzzL,gamma331,kmadd(kxzL,ksub(gamma131,gamma333),ksub(JacPDstandard3kxz,JacPDstandard1kzz))))));
CCTK_REAL_VEC Ro332 CCTK_ATTRIBUTE_UNUSED =
- kmadd(kxzL,gamma132,kmadd(kzzL,gamma332,kadd(JacPDstandard3kyz,knmsub(kxyL,gamma133,knmsub(kyyL,gamma233,kmsub(kyzL,ksub(gamma232,gamma333),JacPDstandard2kzz))))));
+ kmadd(kxzL,gamma132,knmsub(kxyL,gamma133,knmsub(kyyL,gamma233,kmadd(kzzL,gamma332,kmadd(kyzL,ksub(gamma232,gamma333),ksub(JacPDstandard3kyz,JacPDstandard2kzz))))));
CCTK_REAL_VEC Ro333 CCTK_ATTRIBUTE_UNUSED = ToReal(0);
CCTK_REAL_VEC Rojo11 CCTK_ATTRIBUTE_UNUSED =
- kmadd(kadd(gInv23,gInv32),kmadd(kxxL,kyzL,knmsub(kxyL,kxzL,R1213)),kmadd(gInv22,kmadd(kxxL,kyyL,knmsub(kxyL,kxyL,R1212)),kmul(gInv33,kmadd(kxxL,kzzL,knmsub(kxzL,kxzL,R1313)))));
+ kmadd(kadd(gInv23,gInv32),knmsub(kxyL,kxzL,kmadd(kxxL,kyzL,R1213)),kmadd(gInv22,kmadd(kxxL,kyyL,knmsub(kxyL,kxyL,R1212)),kmul(gInv33,kmadd(kxxL,kzzL,knmsub(kxzL,kxzL,R1313)))));
CCTK_REAL_VEC Rojo12 CCTK_ATTRIBUTE_UNUSED =
- kmadd(gInv23,R1223,knmsub(gInv21,R1212,knmsub(gInv31,R1213,kmadd(gInv12,kmsub(kxyL,kxyL,kmul(kxxL,kyyL)),kmadd(gInv32,kmsub(kxyL,kyzL,kmul(kxzL,kyyL)),kmadd(gInv13,kmsub(kxyL,kxzL,kmul(kxxL,kyzL)),kmul(gInv33,kmadd(kxyL,kzzL,knmsub(kxzL,kyzL,R1323)))))))));
+ kmadd(kmsub(kxyL,kxzL,kmul(kxxL,kyzL)),gInv13,kmadd(kmsub(kxyL,kyzL,kmul(kxzL,kyyL)),gInv32,knmsub(gInv21,R1212,knmsub(gInv31,R1213,kmadd(gInv23,R1223,kmadd(gInv33,knmsub(kxzL,kyzL,kmadd(kxyL,kzzL,R1323)),kmul(gInv12,kmsub(kxyL,kxyL,kmul(kxxL,kyyL)))))))));
CCTK_REAL_VEC Rojo13 CCTK_ATTRIBUTE_UNUSED =
- kmadd(kxzL,kmul(kyzL,gInv23),kmadd(gInv13,kmul(kxzL,kxzL),knmsub(gInv21,R1213,knmsub(gInv31,R1313,knmsub(gInv32,R1323,kmadd(gInv12,kmsub(kxyL,kxzL,kmul(kxxL,kyzL)),kmsub(gInv22,kmsub(kxzL,kyyL,kmadd(kxyL,kyzL,R1223)),kmul(kzzL,kmadd(kxyL,gInv23,kmul(kxxL,gInv13))))))))));
+ kmadd(kmsub(kxyL,kxzL,kmul(kxxL,kyzL)),gInv12,kmadd(kmsub(kxzL,kyzL,kmul(kxyL,kzzL)),gInv23,knmsub(gInv21,R1213,kmadd(gInv22,kmsub(kxzL,kyyL,kmadd(kxyL,kyzL,R1223)),knmsub(gInv31,R1313,kmsub(gInv13,kmsub(kxzL,kxzL,kmul(kxxL,kzzL)),kmul(gInv32,R1323)))))));
CCTK_REAL_VEC Rojo21 CCTK_ATTRIBUTE_UNUSED =
- kmadd(gInv32,R1223,knmsub(gInv12,R1212,knmsub(gInv13,R1213,kmadd(gInv21,kmsub(kxyL,kxyL,kmul(kxxL,kyyL)),kmadd(gInv23,kmsub(kxyL,kyzL,kmul(kxzL,kyyL)),kmadd(gInv31,kmsub(kxyL,kxzL,kmul(kxxL,kyzL)),kmul(gInv33,kmadd(kxyL,kzzL,knmsub(kxzL,kyzL,R1323)))))))));
+ kmadd(kmsub(kxyL,kyzL,kmul(kxzL,kyyL)),gInv23,kmadd(kmsub(kxyL,kxzL,kmul(kxxL,kyzL)),gInv31,knmsub(gInv12,R1212,knmsub(gInv13,R1213,kmadd(gInv32,R1223,kmadd(gInv33,knmsub(kxzL,kyzL,kmadd(kxyL,kzzL,R1323)),kmul(gInv21,kmsub(kxyL,kxyL,kmul(kxxL,kyyL)))))))));
CCTK_REAL_VEC Rojo22 CCTK_ATTRIBUTE_UNUSED =
kmadd(kadd(gInv13,gInv31),kmsub(kxzL,kyyL,kmadd(kxyL,kyzL,R1223)),kmadd(gInv11,kmadd(kxxL,kyyL,knmsub(kxyL,kxyL,R1212)),kmul(gInv33,kmadd(kyyL,kzzL,knmsub(kyzL,kyzL,R2323)))));
CCTK_REAL_VEC Rojo23 CCTK_ATTRIBUTE_UNUSED =
- kmadd(gInv12,R1223,knmsub(gInv31,R1323,knmsub(gInv32,R2323,kmadd(gInv11,kmadd(kxxL,kyzL,knmsub(kxyL,kxzL,R1213)),kmadd(gInv21,kmsub(kxyL,kyzL,kmul(kxzL,kyyL)),kmadd(gInv13,kmsub(kxzL,kyzL,kmul(kxyL,kzzL)),kmul(gInv23,kmsub(kyzL,kyzL,kmul(kyyL,kzzL)))))))));
+ kmadd(kmsub(kxzL,kyzL,kmul(kxyL,kzzL)),gInv13,kmadd(kmsub(kxyL,kyzL,kmul(kxzL,kyyL)),gInv21,kmadd(gInv11,knmsub(kxyL,kxzL,kmadd(kxxL,kyzL,R1213)),kmadd(gInv12,R1223,knmsub(gInv31,R1323,kmsub(gInv23,kmsub(kyzL,kyzL,kmul(kyyL,kzzL)),kmul(gInv32,R2323)))))));
CCTK_REAL_VEC Rojo31 CCTK_ATTRIBUTE_UNUSED =
- kmadd(kxzL,kmul(kyzL,gInv32),kmadd(gInv31,kmul(kxzL,kxzL),knmsub(gInv12,R1213,knmsub(gInv13,R1313,knmsub(gInv23,R1323,kmadd(gInv21,kmsub(kxyL,kxzL,kmul(kxxL,kyzL)),kmsub(gInv22,kmsub(kxzL,kyyL,kmadd(kxyL,kyzL,R1223)),kmul(kzzL,kmadd(kxyL,gInv32,kmul(kxxL,gInv31))))))))));
+ kmadd(kmsub(kxyL,kxzL,kmul(kxxL,kyzL)),gInv21,kmadd(kmsub(kxzL,kyzL,kmul(kxyL,kzzL)),gInv32,knmsub(gInv12,R1213,kmadd(gInv22,kmsub(kxzL,kyyL,kmadd(kxyL,kyzL,R1223)),knmsub(gInv13,R1313,kmsub(gInv31,kmsub(kxzL,kxzL,kmul(kxxL,kzzL)),kmul(gInv23,R1323)))))));
CCTK_REAL_VEC Rojo32 CCTK_ATTRIBUTE_UNUSED =
- kmadd(gInv21,R1223,knmsub(gInv13,R1323,knmsub(gInv23,R2323,kmadd(gInv11,kmadd(kxxL,kyzL,knmsub(kxyL,kxzL,R1213)),kmadd(gInv12,kmsub(kxyL,kyzL,kmul(kxzL,kyyL)),kmadd(gInv31,kmsub(kxzL,kyzL,kmul(kxyL,kzzL)),kmul(gInv32,kmsub(kyzL,kyzL,kmul(kyyL,kzzL)))))))));
+ kmadd(kmsub(kxyL,kyzL,kmul(kxzL,kyyL)),gInv12,kmadd(kmsub(kxzL,kyzL,kmul(kxyL,kzzL)),gInv31,kmadd(gInv11,knmsub(kxyL,kxzL,kmadd(kxxL,kyzL,R1213)),kmadd(gInv21,R1223,knmsub(gInv13,R1323,kmsub(gInv32,kmsub(kyzL,kyzL,kmul(kyyL,kzzL)),kmul(gInv23,R2323)))))));
CCTK_REAL_VEC Rojo33 CCTK_ATTRIBUTE_UNUSED =
- kmadd(kadd(gInv12,gInv21),kmadd(kxyL,kzzL,knmsub(kxzL,kyzL,R1323)),kmadd(gInv11,kmadd(kxxL,kzzL,knmsub(kxzL,kxzL,R1313)),kmul(gInv22,kmadd(kyyL,kzzL,knmsub(kyzL,kyzL,R2323)))));
+ kmadd(kadd(gInv12,gInv21),knmsub(kxzL,kyzL,kmadd(kxyL,kzzL,R1323)),kmadd(gInv11,kmadd(kxxL,kzzL,knmsub(kxzL,kxzL,R1313)),kmul(gInv22,kmadd(kyyL,kzzL,knmsub(kyzL,kyzL,R2323)))));
CCTK_REAL_VEC Psi4rL CCTK_ATTRIBUTE_UNUSED =
- knmsub(kmadd(R4p1212,kmul(n1,n1),kmadd(R4p2323,kmul(n3,n3),kmul(n1,kmul(n3,kmul(R4p1223,ToReal(-2)))))),kmsub(imbar2,imbar2,kmul(rmbar2,rmbar2)),knmsub(kmul(nn,nn),kmadd(imbar1,kmadd(imbar2,kadd(Rojo12,Rojo21),kmul(imbar3,kadd(Rojo13,Rojo31))),knmsub(rmbar1,kmadd(rmbar2,kadd(Rojo12,Rojo21),kmul(rmbar3,kadd(Rojo13,Rojo31))),kmadd(Rojo23,kmsub(imbar2,imbar3,kmul(rmbar2,rmbar3)),kmadd(Rojo32,kmsub(imbar2,imbar3,kmul(rmbar2,rmbar3)),kmadd(Rojo11,kmsub(imbar1,imbar1,kmul(rmbar1,rmbar1)),kmadd(Rojo22,kmsub(imbar2,imbar2,kmul(rmbar2,rmbar2)),kmul(Rojo33,kmsub(imbar3,imbar3,kmul(rmbar3,rmbar3))))))))),kmsub(kmadd(kmsub(n1,kmadd(n2,R4p1212,kmul(n3,R4p1213)),kmul(n3,kmadd(n2,R4p1223,kmul(n3,R4p1323)))),kmsub(imbar1,imbar2,kmul(rmbar1,rmbar2)),kmadd(kmadd(n1,kmul(n2,R4p1213),kmadd(n1,kmul(n3,R4p1313),kmadd(n2,kmul(n3,R4p1323),kmul(R4p1223,kmul(n2,n2))))),kmsub(imbar1,imbar3,kmul(rmbar1,rmbar3)),kmadd(kmsub(rmbar2,rmbar3,kmul(imbar2,imbar3)),kmadd(R4p1213,kmul(n1,n1),kmsub(n1,kmsub(n2,R4p1223,kmul(n3,R4p1323)),kmul(n2,kmul(n3,R4p2323)))),kmul(nn,kmadd(kmadd(n1,Ro112,kmadd(n2,Ro122,kmul(n3,Ro132))),kmsub(rmbar1,rmbar2,kmul(imbar1,imbar2)),kmadd(kmadd(n1,Ro211,kmadd(n2,Ro221,kmul(n3,Ro231))),kmsub(rmbar1,rmbar2,kmul(imbar1,imbar2)),kmadd(kmadd(n1,Ro113,kmadd(n2,Ro123,kmul(n3,Ro133))),kmsub(rmbar1,rmbar3,kmul(imbar1,imbar3)),kmadd(kmadd(n1,Ro311,kmadd(n2,Ro321,kmul(n3,Ro331))),kmsub(rmbar1,rmbar3,kmul(imbar1,imbar3)),kmadd(kmadd(n1,Ro213,kmadd(n2,Ro223,kmul(n3,Ro233))),kmsub(rmbar2,rmbar3,kmul(imbar2,imbar3)),kmadd(kmadd(n1,Ro312,kmadd(n2,Ro322,kmul(n3,Ro332))),kmsub(rmbar2,rmbar3,kmul(imbar2,imbar3)),kmadd(kmadd(n1,Ro111,kmadd(n2,Ro121,kmul(n3,Ro131))),kmsub(rmbar1,rmbar1,kmul(imbar1,imbar1)),kmadd(kmadd(n1,Ro212,kmadd(n2,Ro222,kmul(n3,Ro232))),kmsub(rmbar2,rmbar2,kmul(imbar2,imbar2)),kmul(kmadd(n1,Ro313,kmadd(n2,Ro323,kmul(n3,Ro333))),kmsub(rmbar3,rmbar3,kmul(imbar3,imbar3))))))))))))))),ToReal(2),kmadd(kmsub(imbar3,imbar3,kmul(rmbar3,rmbar3)),kmadd(R4p1313,kmul(n1,n1),kmadd(R4p2323,kmul(n2,n2),kmul(n1,kmul(n2,kmul(R4p1323,ToReal(2)))))),kmul(kmsub(imbar1,imbar1,kmul(rmbar1,rmbar1)),kmadd(R4p1212,kmul(n2,n2),kmadd(R4p1313,kmul(n3,n3),kmul(n2,kmul(n3,kmul(R4p1213,ToReal(2)))))))))));
+ kmadd(ToReal(2),kmul(kmsub(imbar1,imbar2,kmul(rmbar1,rmbar2)),kmsub(n1,kmadd(n2,R4p1212,kmul(n3,R4p1213)),kmul(n3,kmadd(n2,R4p1223,kmul(n3,R4p1323))))),kmadd(ToReal(2),kmul(kmadd(n1,kmsub(n2,R4p1223,kmul(n3,R4p1323)),kmsub(R4p1213,kmul(n1,n1),kmul(n2,kmul(n3,R4p2323)))),kmsub(rmbar2,rmbar3,kmul(imbar2,imbar3))),kmadd(ToReal(2),kmul(kmadd(n1,kmul(n2,R4p1213),kmadd(n1,kmul(n3,R4p1313),kmadd(n2,kmul(n3,R4p1323),kmul(R4p1223,kmul(n2,n2))))),kmsub(imbar1,imbar3,kmul(rmbar1,rmbar3))),knmsub(kmadd(ToReal(2),kmul(n2,kmul(n3,R4p1213)),kmadd(R4p1212,kmul(n2,n2),kmul(R4p1313,kmul(n3,n3)))),kmsub(imbar1,imbar1,kmul(rmbar1,rmbar1)),knmsub(kmadd(ToReal(-2),kmul(n1,kmul(n3,R4p1223)),kmadd(R4p1212,kmul(n1,n1),kmul(R4p2323,kmul(n3,n3)))),kmsub(imbar2,imbar2,kmul(rmbar2,rmbar2)),knmsub(kmul(nn,nn),kmadd(kmsub(imbar2,imbar3,kmul(rmbar2,rmbar3)),Rojo23,kmadd(imbar1,kmadd(imbar2,kadd(Rojo12,Rojo21),kmul(imbar3,kadd(Rojo13,Rojo31))),knmsub(rmbar1,kmadd(rmbar2,kadd(Rojo12,Rojo21),kmul(rmbar3,kadd(Rojo13,Rojo31))),kmadd(kmsub(imbar2,imbar3,kmul(rmbar2,rmbar3)),Rojo32,kmadd(Rojo11,kmsub(imbar1,imbar1,kmul(rmbar1,rmbar1)),kmadd(Rojo22,kmsub(imbar2,imbar2,kmul(rmbar2,rmbar2)),kmul(Rojo33,kmsub(imbar3,imbar3,kmul(rmbar3,rmbar3))))))))),kmsub(ToReal(2),kmul(nn,kmadd(kmsub(rmbar1,rmbar2,kmul(imbar1,imbar2)),kmadd(n1,Ro112,kmadd(n2,Ro122,kmul(n3,Ro132))),kmadd(kmsub(rmbar1,rmbar3,kmul(imbar1,imbar3)),kmadd(n1,Ro113,kmadd(n2,Ro123,kmul(n3,Ro133))),kmadd(kmsub(rmbar1,rmbar2,kmul(imbar1,imbar2)),kmadd(n1,Ro211,kmadd(n2,Ro221,kmul(n3,Ro231))),kmadd(kmsub(rmbar2,rmbar3,kmul(imbar2,imbar3)),kmadd(n1,Ro213,kmadd(n2,Ro223,kmul(n3,Ro233))),kmadd(kmsub(rmbar1,rmbar3,kmul(imbar1,imbar3)),kmadd(n1,Ro311,kmadd(n2,Ro321,kmul(n3,Ro331))),kmadd(kmsub(rmbar2,rmbar3,kmul(imbar2,imbar3)),kmadd(n1,Ro312,kmadd(n2,Ro322,kmul(n3,Ro332))),kmadd(kmadd(n1,Ro111,kmadd(n2,Ro121,kmul(n3,Ro131))),kmsub(rmbar1,rmbar1,kmul(imbar1,imbar1)),kmadd(kmadd(n1,Ro212,kmadd(n2,Ro222,kmul(n3,Ro232))),kmsub(rmbar2,rmbar2,kmul(imbar2,imbar2)),kmul(kmadd(n1,Ro313,kmadd(n2,Ro323,kmul(n3,Ro333))),kmsub(rmbar3,rmbar3,kmul(imbar3,imbar3)))))))))))),kmul(kmadd(ToReal(2),kmul(n1,kmul(n2,R4p1323)),kmadd(R4p1313,kmul(n1,n1),kmul(R4p2323,kmul(n2,n2)))),kmsub(imbar3,imbar3,kmul(rmbar3,rmbar3))))))))));
CCTK_REAL_VEC Psi4iL CCTK_ATTRIBUTE_UNUSED =
- kmadd(kmadd(kmadd(im3,rm1,kmul(im1,rm3)),kmadd(n1,kmadd(n2,R4p1213,kmul(n3,R4p1313)),kmadd(n2,kmul(n3,R4p1323),kmul(R4p1223,kmul(n2,n2)))),kmadd(kmadd(im2,rm1,kmul(im1,rm2)),kmsub(n1,kmadd(n2,R4p1212,kmul(n3,R4p1213)),kmul(n3,kmadd(n2,R4p1223,kmul(n3,R4p1323)))),kmul(nn,kmadd(kmadd(im1,kmul(rm1,kmadd(n1,Ro111,kmadd(n2,Ro121,kmul(n3,Ro131)))),kmul(im2,kmul(rm2,kmadd(n1,Ro212,kmadd(n2,Ro222,kmul(n3,Ro232)))))),ToReal(-2),kmsub(im3,kmul(rm3,kmul(kmadd(n1,Ro313,kmadd(n2,Ro323,kmul(n3,Ro333))),ToReal(-2))),kmadd(kmadd(im2,rm1,kmul(im1,rm2)),kmadd(n1,kadd(Ro211,Ro112),kmadd(n3,kadd(Ro231,Ro132),kmul(n2,kadd(Ro221,Ro122)))),kmadd(kmadd(im3,rm2,kmul(im2,rm3)),kmadd(n1,kadd(Ro312,Ro213),kmadd(n3,kadd(Ro332,Ro233),kmul(n2,kadd(Ro322,Ro223)))),kmul(kmadd(im3,rm1,kmul(im1,rm3)),kmadd(n1,kadd(Ro311,Ro113),kmadd(n3,kadd(Ro331,Ro133),kmul(n2,kadd(Ro321,Ro123)))))))))))),ToReal(2),kmsub(ToReal(-2),kmadd(im2,kmul(rm2,kmadd(R4p1212,kmul(n1,n1),kmadd(R4p2323,kmul(n3,n3),kmul(n1,kmul(n3,kmul(R4p1223,ToReal(-2))))))),kmadd(kmadd(im3,rm2,kmul(im2,rm3)),kmadd(R4p1213,kmul(n1,n1),kmsub(n1,kmsub(n2,R4p1223,kmul(n3,R4p1323)),kmul(n2,kmul(n3,R4p2323)))),kmadd(im1,kmul(rm1,kmadd(R4p1212,kmul(n2,n2),kmadd(R4p1313,kmul(n3,n3),kmul(n2,kmul(n3,kmul(R4p1213,ToReal(2))))))),kmul(im3,kmul(rm3,kmadd(R4p1313,kmul(n1,n1),kmadd(R4p2323,kmul(n2,n2),kmul(n1,kmul(n2,kmul(R4p1323,ToReal(2))))))))))),kmul(kmul(nn,nn),kmadd(im1,kmadd(rm2,kadd(Rojo12,Rojo21),kmadd(rm3,kadd(Rojo13,Rojo31),kmul(rm1,kmul(Rojo11,ToReal(2))))),kmadd(im2,kmadd(rm1,kadd(Rojo12,Rojo21),kmadd(rm3,kadd(Rojo23,Rojo32),kmul(rm2,kmul(Rojo22,ToReal(2))))),kmul(im3,kmadd(rm1,kadd(Rojo13,Rojo31),kmadd(rm2,kadd(Rojo23,Rojo32),kmul(rm3,kmul(Rojo33,ToReal(2)))))))))));
-
+ kmadd(ToReal(2),kmadd(kmsub(n1,kmadd(n2,R4p1212,kmul(n3,R4p1213)),kmul(n3,kmadd(n2,R4p1223,kmul(n3,R4p1323)))),kmadd(im2,rm1,kmul(im1,rm2)),kmadd(nn,knmsub(kmadd(im2,rm1,kmul(im1,rm2)),kmadd(n1,kadd(Ro112,Ro211),kmadd(n3,kadd(Ro132,Ro231),kmul(n2,kadd(Ro122,Ro221)))),kmadd(ToReal(-2),kmadd(im1,kmul(rm1,kmadd(n1,Ro111,kmadd(n2,Ro121,kmul(n3,Ro131)))),kmul(im2,kmul(rm2,kmadd(n1,Ro212,kmadd(n2,Ro222,kmul(n3,Ro232)))))),knmsub(kmadd(im3,rm1,kmul(im1,rm3)),kmadd(n1,kadd(Ro113,Ro311),kmadd(n3,kadd(Ro133,Ro331),kmul(n2,kadd(Ro123,Ro321)))),kmsub(ToReal(-2),kmul(im3,kmul(rm3,kmadd(n1,Ro313,kmadd(n2,Ro323,kmul(n3,Ro333))))),kmul(kmadd(im3,rm2,kmul(im2,rm3)),kmadd(n1,kadd(Ro213,Ro312),kmadd(n3,kadd(Ro233,Ro332),kmul(n2,kadd(Ro223,Ro322))))))))),kmul(kmadd(im3,rm1,kmul(im1,rm3)),kmadd(n1,kmadd(n2,R4p1213,kmul(n3,R4p1313)),kmadd(n2,kmul(n3,R4p1323),kmul(R4p1223,kmul(n2,n2))))))),kmsub(ToReal(-2),kmadd(kmadd(im3,rm2,kmul(im2,rm3)),kmadd(n1,kmsub(n2,R4p1223,kmul(n3,R4p1323)),kmsub(R4p1213,kmul(n1,n1),kmul(n2,kmul(n3,R4p2323)))),kmadd(im3,kmul(rm3,kmadd(ToReal(2),kmul(n1,kmul(n2,R4p1323)),kmadd(R4p1313,kmul(n1,n1),kmul(R4p2323,kmul(n2,n2))))),kmadd(im1,kmul(rm1,kmadd(ToReal(2),kmul(n2,kmul(n3,R4p1213)),kmadd(R4p1212,kmul(n2,n2),kmul(R4p1313,kmul(n3,n3))))),kmul(im2,kmul(rm2,kmadd(ToReal(-2),kmul(n1,kmul(n3,R4p1223)),kmadd(R4p1212,kmul(n1,n1),kmul(R4p2323,kmul(n3,n3))))))))),kmul(kmadd(im1,kmadd(ToReal(2),kmul(rm1,Rojo11),kmadd(rm2,kadd(Rojo12,Rojo21),kmul(rm3,kadd(Rojo13,Rojo31)))),kmadd(im2,kmadd(rm1,kadd(Rojo12,Rojo21),kmadd(ToReal(2),kmul(rm2,Rojo22),kmul(rm3,kadd(Rojo23,Rojo32)))),kmul(im3,kmadd(rm1,kadd(Rojo13,Rojo31),kmadd(rm2,kadd(Rojo23,Rojo32),kmul(kmul(rm3,Rojo33),ToReal(2))))))),kmul(nn,nn))));
/* Copy local copies back to grid functions */
vec_store_partial_prepare(i,vecimin,vecimax);
vec_store_nta_partial(Psi4i[index],Psi4iL);
@@ -1333,18 +1353,15 @@ static void WeylScal4_psi4_calc_Nth_Body(const cGH* restrict const cctkGH, const
}
CCTK_ENDLOOP3STR(WeylScal4_psi4_calc_Nth);
}
-
extern "C" void WeylScal4_psi4_calc_Nth(CCTK_ARGUMENTS)
{
DECLARE_CCTK_ARGUMENTS;
DECLARE_CCTK_PARAMETERS;
-
if (verbose > 1)
{
CCTK_VInfo(CCTK_THORNSTRING,"Entering WeylScal4_psi4_calc_Nth_Body");
}
-
if (cctk_iteration % WeylScal4_psi4_calc_Nth_calc_every != WeylScal4_psi4_calc_Nth_calc_offset)
{
return;
@@ -1356,41 +1373,42 @@ extern "C" void WeylScal4_psi4_calc_Nth(CCTK_ARGUMENTS)
"grid::coordinates",
"WeylScal4::Psi4i_group",
"WeylScal4::Psi4r_group"};
- GenericFD_AssertGroupStorage(cctkGH, "WeylScal4_psi4_calc_Nth", 5, groups);
+ AssertGroupStorage(cctkGH, "WeylScal4_psi4_calc_Nth", 5, groups);
switch (fdOrder)
{
case 2:
{
- GenericFD_EnsureStencilFits(cctkGH, "WeylScal4_psi4_calc_Nth", 1, 1, 1);
+ EnsureStencilFits(cctkGH, "WeylScal4_psi4_calc_Nth", 1, 1, 1);
break;
}
case 4:
{
- GenericFD_EnsureStencilFits(cctkGH, "WeylScal4_psi4_calc_Nth", 2, 2, 2);
+ EnsureStencilFits(cctkGH, "WeylScal4_psi4_calc_Nth", 2, 2, 2);
break;
}
case 6:
{
- GenericFD_EnsureStencilFits(cctkGH, "WeylScal4_psi4_calc_Nth", 3, 3, 3);
+ EnsureStencilFits(cctkGH, "WeylScal4_psi4_calc_Nth", 3, 3, 3);
break;
}
case 8:
{
- GenericFD_EnsureStencilFits(cctkGH, "WeylScal4_psi4_calc_Nth", 4, 4, 4);
+ EnsureStencilFits(cctkGH, "WeylScal4_psi4_calc_Nth", 4, 4, 4);
break;
}
default:
CCTK_BUILTIN_UNREACHABLE();
}
- GenericFD_LoopOverInterior(cctkGH, WeylScal4_psi4_calc_Nth_Body);
-
+ LoopOverInterior(cctkGH, WeylScal4_psi4_calc_Nth_Body);
if (verbose > 1)
{
CCTK_VInfo(CCTK_THORNSTRING,"Leaving WeylScal4_psi4_calc_Nth_Body");
}
}
+
+} // namespace WeylScal4
diff --git a/src/WeylScal4_psis_calc_2nd.cc b/src/WeylScal4_psis_calc_2nd.cc
index 75130b2..766fd1b 100644
--- a/src/WeylScal4_psis_calc_2nd.cc
+++ b/src/WeylScal4_psis_calc_2nd.cc
@@ -2,6 +2,7 @@
#define KRANC_C
+#include <algorithm>
#include <assert.h>
#include <math.h>
#include <stdio.h>
@@ -10,22 +11,12 @@
#include "cctk.h"
#include "cctk_Arguments.h"
#include "cctk_Parameters.h"
-#include "GenericFD.h"
+#include "Kranc.hh"
#include "Differencing.h"
-#include "cctk_Loop.h"
#include "loopcontrol.h"
#include "vectors.h"
-/* Define macros used in calculations */
-#define INITVALUE (42)
-#define ScalarINV(x) ((CCTK_REAL)1.0 / (x))
-#define ScalarSQR(x) ((x) * (x))
-#define ScalarCUB(x) ((x) * ScalarSQR(x))
-#define ScalarQAD(x) (ScalarSQR(ScalarSQR(x)))
-#define INV(x) (kdiv(ToReal(1.0),x))
-#define SQR(x) (kmul(x,x))
-#define CUB(x) (kmul(x,SQR(x)))
-#define QAD(x) (SQR(SQR(x)))
+namespace WeylScal4 {
extern "C" void WeylScal4_psis_calc_2nd_SelectBCs(CCTK_ARGUMENTS)
{
@@ -35,34 +26,34 @@ extern "C" void WeylScal4_psis_calc_2nd_SelectBCs(CCTK_ARGUMENTS)
if (cctk_iteration % WeylScal4_psis_calc_2nd_calc_every != WeylScal4_psis_calc_2nd_calc_offset)
return;
CCTK_INT ierr CCTK_ATTRIBUTE_UNUSED = 0;
- ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "WeylScal4::Psi0i_group","flat");
+ ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GetBoundaryWidth(cctkGH), -1 /* no table */, "WeylScal4::Psi0i_group","flat");
if (ierr < 0)
CCTK_WARN(1, "Failed to register flat BC for WeylScal4::Psi0i_group.");
- ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "WeylScal4::Psi0r_group","flat");
+ ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GetBoundaryWidth(cctkGH), -1 /* no table */, "WeylScal4::Psi0r_group","flat");
if (ierr < 0)
CCTK_WARN(1, "Failed to register flat BC for WeylScal4::Psi0r_group.");
- ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "WeylScal4::Psi1i_group","flat");
+ ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GetBoundaryWidth(cctkGH), -1 /* no table */, "WeylScal4::Psi1i_group","flat");
if (ierr < 0)
CCTK_WARN(1, "Failed to register flat BC for WeylScal4::Psi1i_group.");
- ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "WeylScal4::Psi1r_group","flat");
+ ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GetBoundaryWidth(cctkGH), -1 /* no table */, "WeylScal4::Psi1r_group","flat");
if (ierr < 0)
CCTK_WARN(1, "Failed to register flat BC for WeylScal4::Psi1r_group.");
- ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "WeylScal4::Psi2i_group","flat");
+ ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GetBoundaryWidth(cctkGH), -1 /* no table */, "WeylScal4::Psi2i_group","flat");
if (ierr < 0)
CCTK_WARN(1, "Failed to register flat BC for WeylScal4::Psi2i_group.");
- ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "WeylScal4::Psi2r_group","flat");
+ ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GetBoundaryWidth(cctkGH), -1 /* no table */, "WeylScal4::Psi2r_group","flat");
if (ierr < 0)
CCTK_WARN(1, "Failed to register flat BC for WeylScal4::Psi2r_group.");
- ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "WeylScal4::Psi3i_group","flat");
+ ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GetBoundaryWidth(cctkGH), -1 /* no table */, "WeylScal4::Psi3i_group","flat");
if (ierr < 0)
CCTK_WARN(1, "Failed to register flat BC for WeylScal4::Psi3i_group.");
- ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "WeylScal4::Psi3r_group","flat");
+ ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GetBoundaryWidth(cctkGH), -1 /* no table */, "WeylScal4::Psi3r_group","flat");
if (ierr < 0)
CCTK_WARN(1, "Failed to register flat BC for WeylScal4::Psi3r_group.");
- ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "WeylScal4::Psi4i_group","flat");
+ ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GetBoundaryWidth(cctkGH), -1 /* no table */, "WeylScal4::Psi4i_group","flat");
if (ierr < 0)
CCTK_WARN(1, "Failed to register flat BC for WeylScal4::Psi4i_group.");
- ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "WeylScal4::Psi4r_group","flat");
+ ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GetBoundaryWidth(cctkGH), -1 /* no table */, "WeylScal4::Psi4r_group","flat");
if (ierr < 0)
CCTK_WARN(1, "Failed to register flat BC for WeylScal4::Psi4r_group.");
return;
@@ -73,24 +64,37 @@ static void WeylScal4_psis_calc_2nd_Body(const cGH* restrict const cctkGH, const
DECLARE_CCTK_ARGUMENTS;
DECLARE_CCTK_PARAMETERS;
-
/* Include user-supplied include files */
-
/* Initialise finite differencing variables */
const ptrdiff_t di CCTK_ATTRIBUTE_UNUSED = 1;
- const ptrdiff_t dj CCTK_ATTRIBUTE_UNUSED = CCTK_GFINDEX3D(cctkGH,0,1,0) - CCTK_GFINDEX3D(cctkGH,0,0,0);
- const ptrdiff_t dk CCTK_ATTRIBUTE_UNUSED = CCTK_GFINDEX3D(cctkGH,0,0,1) - CCTK_GFINDEX3D(cctkGH,0,0,0);
+ const ptrdiff_t dj CCTK_ATTRIBUTE_UNUSED =
+ CCTK_GFINDEX3D(cctkGH,0,1,0) - CCTK_GFINDEX3D(cctkGH,0,0,0);
+ const ptrdiff_t dk CCTK_ATTRIBUTE_UNUSED =
+ CCTK_GFINDEX3D(cctkGH,0,0,1) - CCTK_GFINDEX3D(cctkGH,0,0,0);
const ptrdiff_t cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL) * di;
const ptrdiff_t cdj CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL) * dj;
const ptrdiff_t cdk CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL) * dk;
- const CCTK_REAL_VEC dx CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_SPACE(0));
- const CCTK_REAL_VEC dy CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_SPACE(1));
- const CCTK_REAL_VEC dz CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_SPACE(2));
- const CCTK_REAL_VEC dt CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_TIME);
+ const ptrdiff_t cctkLbnd1 CCTK_ATTRIBUTE_UNUSED = cctk_lbnd[0];
+ const ptrdiff_t cctkLbnd2 CCTK_ATTRIBUTE_UNUSED = cctk_lbnd[1];
+ const ptrdiff_t cctkLbnd3 CCTK_ATTRIBUTE_UNUSED = cctk_lbnd[2];
const CCTK_REAL_VEC t CCTK_ATTRIBUTE_UNUSED = ToReal(cctk_time);
- const CCTK_REAL_VEC dxi CCTK_ATTRIBUTE_UNUSED = INV(dx);
- const CCTK_REAL_VEC dyi CCTK_ATTRIBUTE_UNUSED = INV(dy);
- const CCTK_REAL_VEC dzi CCTK_ATTRIBUTE_UNUSED = INV(dz);
+ const CCTK_REAL_VEC cctkOriginSpace1 CCTK_ATTRIBUTE_UNUSED =
+ ToReal(CCTK_ORIGIN_SPACE(0));
+ const CCTK_REAL_VEC cctkOriginSpace2 CCTK_ATTRIBUTE_UNUSED =
+ ToReal(CCTK_ORIGIN_SPACE(1));
+ const CCTK_REAL_VEC cctkOriginSpace3 CCTK_ATTRIBUTE_UNUSED =
+ ToReal(CCTK_ORIGIN_SPACE(2));
+ const CCTK_REAL_VEC dt CCTK_ATTRIBUTE_UNUSED =
+ ToReal(CCTK_DELTA_TIME);
+ const CCTK_REAL_VEC dx CCTK_ATTRIBUTE_UNUSED =
+ ToReal(CCTK_DELTA_SPACE(0));
+ const CCTK_REAL_VEC dy CCTK_ATTRIBUTE_UNUSED =
+ ToReal(CCTK_DELTA_SPACE(1));
+ const CCTK_REAL_VEC dz CCTK_ATTRIBUTE_UNUSED =
+ ToReal(CCTK_DELTA_SPACE(2));
+ const CCTK_REAL_VEC dxi CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),dx);
+ const CCTK_REAL_VEC dyi CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),dy);
+ const CCTK_REAL_VEC dzi CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),dz);
const CCTK_REAL_VEC khalf CCTK_ATTRIBUTE_UNUSED = ToReal(0.5);
const CCTK_REAL_VEC kthird CCTK_ATTRIBUTE_UNUSED =
ToReal(0.333333333333333333333333333333);
@@ -104,35 +108,34 @@ static void WeylScal4_psis_calc_2nd_Body(const cGH* restrict const cctkGH, const
kmul(dyi,ToReal(0.5));
const CCTK_REAL_VEC hdzi CCTK_ATTRIBUTE_UNUSED =
kmul(dzi,ToReal(0.5));
-
/* Initialize predefined quantities */
const CCTK_REAL_VEC p1o12dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dx);
const CCTK_REAL_VEC p1o12dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dy);
const CCTK_REAL_VEC p1o12dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dz);
- const CCTK_REAL_VEC p1o144dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dy,dx));
- const CCTK_REAL_VEC p1o144dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dz,dx));
- const CCTK_REAL_VEC p1o144dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dz,dy));
+ const CCTK_REAL_VEC p1o144dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dx,dy));
+ const CCTK_REAL_VEC p1o144dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dx,dz));
+ const CCTK_REAL_VEC p1o144dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dy,dz));
const CCTK_REAL_VEC p1o180dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dx,dx));
const CCTK_REAL_VEC p1o180dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dy,dy));
const CCTK_REAL_VEC p1o180dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dz,dz));
const CCTK_REAL_VEC p1o2dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dx);
const CCTK_REAL_VEC p1o2dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dy);
const CCTK_REAL_VEC p1o2dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dz);
- const CCTK_REAL_VEC p1o3600dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dy,dx));
- const CCTK_REAL_VEC p1o3600dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dz,dx));
- const CCTK_REAL_VEC p1o3600dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dz,dy));
- const CCTK_REAL_VEC p1o4dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dy,dx));
- const CCTK_REAL_VEC p1o4dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dz,dx));
- const CCTK_REAL_VEC p1o4dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dz,dy));
+ const CCTK_REAL_VEC p1o3600dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dx,dy));
+ const CCTK_REAL_VEC p1o3600dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dx,dz));
+ const CCTK_REAL_VEC p1o3600dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dy,dz));
+ const CCTK_REAL_VEC p1o4dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dx,dy));
+ const CCTK_REAL_VEC p1o4dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dx,dz));
+ const CCTK_REAL_VEC p1o4dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dy,dz));
const CCTK_REAL_VEC p1o5040dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dx,dx));
const CCTK_REAL_VEC p1o5040dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dy,dy));
const CCTK_REAL_VEC p1o5040dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dz,dz));
const CCTK_REAL_VEC p1o60dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dx);
const CCTK_REAL_VEC p1o60dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dy);
const CCTK_REAL_VEC p1o60dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dz);
- const CCTK_REAL_VEC p1o705600dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dy,dx));
- const CCTK_REAL_VEC p1o705600dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dz,dx));
- const CCTK_REAL_VEC p1o705600dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dz,dy));
+ const CCTK_REAL_VEC p1o705600dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dx,dy));
+ const CCTK_REAL_VEC p1o705600dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dx,dz));
+ const CCTK_REAL_VEC p1o705600dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dy,dz));
const CCTK_REAL_VEC p1o840dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dx);
const CCTK_REAL_VEC p1o840dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dy);
const CCTK_REAL_VEC p1o840dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dz);
@@ -142,62 +145,76 @@ static void WeylScal4_psis_calc_2nd_Body(const cGH* restrict const cctkGH, const
const CCTK_REAL_VEC pm1o12dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dx,dx));
const CCTK_REAL_VEC pm1o12dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dy,dy));
const CCTK_REAL_VEC pm1o12dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dz,dz));
-
/* Jacobian variable pointers */
- const bool use_jacobian1 = (!CCTK_IsFunctionAliased("MultiPatch_GetMap") || MultiPatch_GetMap(cctkGH) != jacobian_identity_map)
+ const bool usejacobian1 = (!CCTK_IsFunctionAliased("MultiPatch_GetMap") || MultiPatch_GetMap(cctkGH) != jacobian_identity_map)
&& strlen(jacobian_group) > 0;
- const bool use_jacobian = assume_use_jacobian>=0 ? assume_use_jacobian : use_jacobian1;
- const bool usejacobian CCTK_ATTRIBUTE_UNUSED = use_jacobian;
- if (use_jacobian && (strlen(jacobian_derivative_group) == 0))
+ const bool usejacobian = assume_use_jacobian>=0 ? assume_use_jacobian : usejacobian1;
+ if (usejacobian && (strlen(jacobian_derivative_group) == 0))
{
CCTK_WARN(1, "GenericFD::jacobian_group and GenericFD::jacobian_derivative_group must both be set to valid group names");
}
const CCTK_REAL* restrict jacobian_ptrs[9];
- if (use_jacobian) GenericFD_GroupDataPointers(cctkGH, jacobian_group,
+ if (usejacobian) GroupDataPointers(cctkGH, jacobian_group,
9, jacobian_ptrs);
- const CCTK_REAL* restrict const J11 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[0] : 0;
- const CCTK_REAL* restrict const J12 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[1] : 0;
- const CCTK_REAL* restrict const J13 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[2] : 0;
- const CCTK_REAL* restrict const J21 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[3] : 0;
- const CCTK_REAL* restrict const J22 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[4] : 0;
- const CCTK_REAL* restrict const J23 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[5] : 0;
- const CCTK_REAL* restrict const J31 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[6] : 0;
- const CCTK_REAL* restrict const J32 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[7] : 0;
- const CCTK_REAL* restrict const J33 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[8] : 0;
+ const CCTK_REAL* restrict const J11 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_ptrs[0] : 0;
+ const CCTK_REAL* restrict const J12 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_ptrs[1] : 0;
+ const CCTK_REAL* restrict const J13 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_ptrs[2] : 0;
+ const CCTK_REAL* restrict const J21 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_ptrs[3] : 0;
+ const CCTK_REAL* restrict const J22 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_ptrs[4] : 0;
+ const CCTK_REAL* restrict const J23 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_ptrs[5] : 0;
+ const CCTK_REAL* restrict const J31 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_ptrs[6] : 0;
+ const CCTK_REAL* restrict const J32 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_ptrs[7] : 0;
+ const CCTK_REAL* restrict const J33 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_ptrs[8] : 0;
- const CCTK_REAL* restrict jacobian_derivative_ptrs[18] CCTK_ATTRIBUTE_UNUSED;
- if (use_jacobian) GenericFD_GroupDataPointers(cctkGH, jacobian_derivative_group,
- 18, jacobian_derivative_ptrs);
+ const CCTK_REAL* restrict jacobian_determinant_ptrs[1] CCTK_ATTRIBUTE_UNUSED;
+ if (usejacobian && strlen(jacobian_determinant_group) > 0) GroupDataPointers(cctkGH, jacobian_determinant_group,
+ 1, jacobian_determinant_ptrs);
- const CCTK_REAL* restrict const dJ111 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[0] : 0;
- const CCTK_REAL* restrict const dJ112 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[1] : 0;
- const CCTK_REAL* restrict const dJ113 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[2] : 0;
- const CCTK_REAL* restrict const dJ122 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[3] : 0;
- const CCTK_REAL* restrict const dJ123 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[4] : 0;
- const CCTK_REAL* restrict const dJ133 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[5] : 0;
- const CCTK_REAL* restrict const dJ211 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[6] : 0;
- const CCTK_REAL* restrict const dJ212 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[7] : 0;
- const CCTK_REAL* restrict const dJ213 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[8] : 0;
- const CCTK_REAL* restrict const dJ222 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[9] : 0;
- const CCTK_REAL* restrict const dJ223 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[10] : 0;
- const CCTK_REAL* restrict const dJ233 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[11] : 0;
- const CCTK_REAL* restrict const dJ311 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[12] : 0;
- const CCTK_REAL* restrict const dJ312 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[13] : 0;
- const CCTK_REAL* restrict const dJ313 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[14] : 0;
- const CCTK_REAL* restrict const dJ322 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[15] : 0;
- const CCTK_REAL* restrict const dJ323 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[16] : 0;
- const CCTK_REAL* restrict const dJ333 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[17] : 0;
+ const CCTK_REAL* restrict const detJ CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_determinant_ptrs[0] : 0;
- /* Assign local copies of arrays functions */
+ const CCTK_REAL* restrict jacobian_inverse_ptrs[9] CCTK_ATTRIBUTE_UNUSED;
+ if (usejacobian && strlen(jacobian_inverse_group) > 0) GroupDataPointers(cctkGH, jacobian_inverse_group,
+ 9, jacobian_inverse_ptrs);
+ const CCTK_REAL* restrict const iJ11 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_inverse_ptrs[0] : 0;
+ const CCTK_REAL* restrict const iJ12 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_inverse_ptrs[1] : 0;
+ const CCTK_REAL* restrict const iJ13 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_inverse_ptrs[2] : 0;
+ const CCTK_REAL* restrict const iJ21 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_inverse_ptrs[3] : 0;
+ const CCTK_REAL* restrict const iJ22 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_inverse_ptrs[4] : 0;
+ const CCTK_REAL* restrict const iJ23 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_inverse_ptrs[5] : 0;
+ const CCTK_REAL* restrict const iJ31 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_inverse_ptrs[6] : 0;
+ const CCTK_REAL* restrict const iJ32 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_inverse_ptrs[7] : 0;
+ const CCTK_REAL* restrict const iJ33 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_inverse_ptrs[8] : 0;
+ const CCTK_REAL* restrict jacobian_derivative_ptrs[18] CCTK_ATTRIBUTE_UNUSED;
+ if (usejacobian) GroupDataPointers(cctkGH, jacobian_derivative_group,
+ 18, jacobian_derivative_ptrs);
- /* Calculate temporaries and arrays functions */
+ const CCTK_REAL* restrict const dJ111 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_derivative_ptrs[0] : 0;
+ const CCTK_REAL* restrict const dJ112 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_derivative_ptrs[1] : 0;
+ const CCTK_REAL* restrict const dJ113 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_derivative_ptrs[2] : 0;
+ const CCTK_REAL* restrict const dJ122 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_derivative_ptrs[3] : 0;
+ const CCTK_REAL* restrict const dJ123 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_derivative_ptrs[4] : 0;
+ const CCTK_REAL* restrict const dJ133 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_derivative_ptrs[5] : 0;
+ const CCTK_REAL* restrict const dJ211 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_derivative_ptrs[6] : 0;
+ const CCTK_REAL* restrict const dJ212 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_derivative_ptrs[7] : 0;
+ const CCTK_REAL* restrict const dJ213 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_derivative_ptrs[8] : 0;
+ const CCTK_REAL* restrict const dJ222 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_derivative_ptrs[9] : 0;
+ const CCTK_REAL* restrict const dJ223 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_derivative_ptrs[10] : 0;
+ const CCTK_REAL* restrict const dJ233 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_derivative_ptrs[11] : 0;
+ const CCTK_REAL* restrict const dJ311 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_derivative_ptrs[12] : 0;
+ const CCTK_REAL* restrict const dJ312 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_derivative_ptrs[13] : 0;
+ const CCTK_REAL* restrict const dJ313 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_derivative_ptrs[14] : 0;
+ const CCTK_REAL* restrict const dJ322 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_derivative_ptrs[15] : 0;
+ const CCTK_REAL* restrict const dJ323 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_derivative_ptrs[16] : 0;
+ const CCTK_REAL* restrict const dJ333 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_derivative_ptrs[17] : 0;
+ /* Assign local copies of arrays functions */
- /* Copy local copies back to grid functions */
+ /* Calculate temporaries and arrays functions */
+ /* Copy local copies back to grid functions */
/* Loop over the grid points */
const int imin0=imin[0];
const int imin1=imin[1];
@@ -205,15 +222,13 @@ static void WeylScal4_psis_calc_2nd_Body(const cGH* restrict const cctkGH, const
const int imax0=imax[0];
const int imax1=imax[1];
const int imax2=imax[2];
- #pragma omp parallel // reduction(+: vec_iter_counter, vec_op_counter, vec_mem_counter)
+ #pragma omp parallel
CCTK_LOOP3STR(WeylScal4_psis_calc_2nd,
i,j,k, imin0,imin1,imin2, imax0,imax1,imax2,
cctk_ash[0],cctk_ash[1],cctk_ash[2],
vecimin,vecimax, CCTK_REAL_VEC_SIZE)
{
const ptrdiff_t index CCTK_ATTRIBUTE_UNUSED = di*i + dj*j + dk*k;
- // vec_iter_counter+=CCTK_REAL_VEC_SIZE;
-
/* Assign local copies of grid functions */
CCTK_REAL_VEC gxxL CCTK_ATTRIBUTE_UNUSED = vec_load(gxx[index]);
@@ -235,7 +250,7 @@ static void WeylScal4_psis_calc_2nd_Body(const cGH* restrict const cctkGH, const
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 CCTK_ATTRIBUTE_UNUSED ;
- if (use_jacobian)
+ if (usejacobian)
{
dJ111L = vec_load(dJ111[index]);
dJ112L = vec_load(dJ112[index]);
@@ -265,9 +280,7 @@ static void WeylScal4_psis_calc_2nd_Body(const cGH* restrict const cctkGH, const
J32L = vec_load(J32[index]);
J33L = vec_load(J33[index]);
}
-
/* Include user supplied include files */
-
/* Precompute derivatives */
CCTK_REAL_VEC PDstandard2nd1gxx CCTK_ATTRIBUTE_UNUSED;
CCTK_REAL_VEC PDstandard2nd2gxx CCTK_ATTRIBUTE_UNUSED;
@@ -654,7 +667,6 @@ static void WeylScal4_psis_calc_2nd_Body(const cGH* restrict const cctkGH, const
default:
CCTK_BUILTIN_UNREACHABLE();
}
-
/* Calculate temporaries and grid functions */
CCTK_REAL_VEC JacPDstandard2nd11gyy CCTK_ATTRIBUTE_UNUSED;
CCTK_REAL_VEC JacPDstandard2nd11gyz CCTK_ATTRIBUTE_UNUSED;
@@ -714,7 +726,7 @@ static void WeylScal4_psis_calc_2nd_Body(const cGH* restrict const cctkGH, const
CCTK_REAL_VEC JacPDstandard2nd3kyy CCTK_ATTRIBUTE_UNUSED;
CCTK_REAL_VEC JacPDstandard2nd3kyz CCTK_ATTRIBUTE_UNUSED;
- if (use_jacobian)
+ if (usejacobian)
{
JacPDstandard2nd1gxx =
kmadd(J11L,PDstandard2nd1gxx,kmadd(J21L,PDstandard2nd2gxx,kmul(J31L,PDstandard2nd3gxx)));
@@ -816,31 +828,31 @@ static void WeylScal4_psis_calc_2nd_Body(const cGH* restrict const cctkGH, const
kmadd(J13L,PDstandard2nd1kyz,kmadd(J23L,PDstandard2nd2kyz,kmul(J33L,PDstandard2nd3kyz)));
JacPDstandard2nd11gyy =
- kmadd(dJ111L,PDstandard2nd1gyy,kmadd(dJ211L,PDstandard2nd2gyy,kmadd(dJ311L,PDstandard2nd3gyy,kmadd(PDstandard2nd11gyy,kmul(J11L,J11L),kmadd(PDstandard2nd22gyy,kmul(J21L,J21L),kmadd(PDstandard2nd33gyy,kmul(J31L,J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandard2nd12gyy,kmul(J31L,PDstandard2nd13gyy)),kmul(J21L,kmul(J31L,PDstandard2nd23gyy))),ToReal(2))))))));
+ kmadd(dJ111L,PDstandard2nd1gyy,kmadd(ToReal(2),kmadd(J11L,kmadd(J21L,PDstandard2nd12gyy,kmul(J31L,PDstandard2nd13gyy)),kmul(J21L,kmul(J31L,PDstandard2nd23gyy))),kmadd(dJ211L,PDstandard2nd2gyy,kmadd(dJ311L,PDstandard2nd3gyy,kmadd(PDstandard2nd11gyy,kmul(J11L,J11L),kmadd(PDstandard2nd22gyy,kmul(J21L,J21L),kmul(PDstandard2nd33gyy,kmul(J31L,J31L))))))));
JacPDstandard2nd11gyz =
- kmadd(dJ111L,PDstandard2nd1gyz,kmadd(dJ211L,PDstandard2nd2gyz,kmadd(dJ311L,PDstandard2nd3gyz,kmadd(PDstandard2nd11gyz,kmul(J11L,J11L),kmadd(PDstandard2nd22gyz,kmul(J21L,J21L),kmadd(PDstandard2nd33gyz,kmul(J31L,J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandard2nd12gyz,kmul(J31L,PDstandard2nd13gyz)),kmul(J21L,kmul(J31L,PDstandard2nd23gyz))),ToReal(2))))))));
+ kmadd(dJ111L,PDstandard2nd1gyz,kmadd(ToReal(2),kmadd(J11L,kmadd(J21L,PDstandard2nd12gyz,kmul(J31L,PDstandard2nd13gyz)),kmul(J21L,kmul(J31L,PDstandard2nd23gyz))),kmadd(dJ211L,PDstandard2nd2gyz,kmadd(dJ311L,PDstandard2nd3gyz,kmadd(PDstandard2nd11gyz,kmul(J11L,J11L),kmadd(PDstandard2nd22gyz,kmul(J21L,J21L),kmul(PDstandard2nd33gyz,kmul(J31L,J31L))))))));
JacPDstandard2nd11gzz =
- kmadd(dJ111L,PDstandard2nd1gzz,kmadd(dJ211L,PDstandard2nd2gzz,kmadd(dJ311L,PDstandard2nd3gzz,kmadd(PDstandard2nd11gzz,kmul(J11L,J11L),kmadd(PDstandard2nd22gzz,kmul(J21L,J21L),kmadd(PDstandard2nd33gzz,kmul(J31L,J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandard2nd12gzz,kmul(J31L,PDstandard2nd13gzz)),kmul(J21L,kmul(J31L,PDstandard2nd23gzz))),ToReal(2))))))));
+ kmadd(dJ111L,PDstandard2nd1gzz,kmadd(ToReal(2),kmadd(J11L,kmadd(J21L,PDstandard2nd12gzz,kmul(J31L,PDstandard2nd13gzz)),kmul(J21L,kmul(J31L,PDstandard2nd23gzz))),kmadd(dJ211L,PDstandard2nd2gzz,kmadd(dJ311L,PDstandard2nd3gzz,kmadd(PDstandard2nd11gzz,kmul(J11L,J11L),kmadd(PDstandard2nd22gzz,kmul(J21L,J21L),kmul(PDstandard2nd33gzz,kmul(J31L,J31L))))))));
JacPDstandard2nd22gxx =
- kmadd(dJ122L,PDstandard2nd1gxx,kmadd(dJ222L,PDstandard2nd2gxx,kmadd(dJ322L,PDstandard2nd3gxx,kmadd(PDstandard2nd11gxx,kmul(J12L,J12L),kmadd(PDstandard2nd22gxx,kmul(J22L,J22L),kmadd(PDstandard2nd33gxx,kmul(J32L,J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandard2nd12gxx,kmul(J32L,PDstandard2nd13gxx)),kmul(J22L,kmul(J32L,PDstandard2nd23gxx))),ToReal(2))))))));
+ kmadd(dJ122L,PDstandard2nd1gxx,kmadd(ToReal(2),kmadd(J12L,kmadd(J22L,PDstandard2nd12gxx,kmul(J32L,PDstandard2nd13gxx)),kmul(J22L,kmul(J32L,PDstandard2nd23gxx))),kmadd(dJ222L,PDstandard2nd2gxx,kmadd(dJ322L,PDstandard2nd3gxx,kmadd(PDstandard2nd11gxx,kmul(J12L,J12L),kmadd(PDstandard2nd22gxx,kmul(J22L,J22L),kmul(PDstandard2nd33gxx,kmul(J32L,J32L))))))));
JacPDstandard2nd22gxz =
- kmadd(dJ122L,PDstandard2nd1gxz,kmadd(dJ222L,PDstandard2nd2gxz,kmadd(dJ322L,PDstandard2nd3gxz,kmadd(PDstandard2nd11gxz,kmul(J12L,J12L),kmadd(PDstandard2nd22gxz,kmul(J22L,J22L),kmadd(PDstandard2nd33gxz,kmul(J32L,J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandard2nd12gxz,kmul(J32L,PDstandard2nd13gxz)),kmul(J22L,kmul(J32L,PDstandard2nd23gxz))),ToReal(2))))))));
+ kmadd(dJ122L,PDstandard2nd1gxz,kmadd(ToReal(2),kmadd(J12L,kmadd(J22L,PDstandard2nd12gxz,kmul(J32L,PDstandard2nd13gxz)),kmul(J22L,kmul(J32L,PDstandard2nd23gxz))),kmadd(dJ222L,PDstandard2nd2gxz,kmadd(dJ322L,PDstandard2nd3gxz,kmadd(PDstandard2nd11gxz,kmul(J12L,J12L),kmadd(PDstandard2nd22gxz,kmul(J22L,J22L),kmul(PDstandard2nd33gxz,kmul(J32L,J32L))))))));
JacPDstandard2nd22gzz =
- kmadd(dJ122L,PDstandard2nd1gzz,kmadd(dJ222L,PDstandard2nd2gzz,kmadd(dJ322L,PDstandard2nd3gzz,kmadd(PDstandard2nd11gzz,kmul(J12L,J12L),kmadd(PDstandard2nd22gzz,kmul(J22L,J22L),kmadd(PDstandard2nd33gzz,kmul(J32L,J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandard2nd12gzz,kmul(J32L,PDstandard2nd13gzz)),kmul(J22L,kmul(J32L,PDstandard2nd23gzz))),ToReal(2))))))));
+ kmadd(dJ122L,PDstandard2nd1gzz,kmadd(ToReal(2),kmadd(J12L,kmadd(J22L,PDstandard2nd12gzz,kmul(J32L,PDstandard2nd13gzz)),kmul(J22L,kmul(J32L,PDstandard2nd23gzz))),kmadd(dJ222L,PDstandard2nd2gzz,kmadd(dJ322L,PDstandard2nd3gzz,kmadd(PDstandard2nd11gzz,kmul(J12L,J12L),kmadd(PDstandard2nd22gzz,kmul(J22L,J22L),kmul(PDstandard2nd33gzz,kmul(J32L,J32L))))))));
JacPDstandard2nd33gxx =
- kmadd(dJ133L,PDstandard2nd1gxx,kmadd(dJ233L,PDstandard2nd2gxx,kmadd(dJ333L,PDstandard2nd3gxx,kmadd(PDstandard2nd11gxx,kmul(J13L,J13L),kmadd(PDstandard2nd22gxx,kmul(J23L,J23L),kmadd(PDstandard2nd33gxx,kmul(J33L,J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandard2nd12gxx,kmul(J33L,PDstandard2nd13gxx)),kmul(J23L,kmul(J33L,PDstandard2nd23gxx))),ToReal(2))))))));
+ kmadd(dJ133L,PDstandard2nd1gxx,kmadd(ToReal(2),kmadd(J13L,kmadd(J23L,PDstandard2nd12gxx,kmul(J33L,PDstandard2nd13gxx)),kmul(J23L,kmul(J33L,PDstandard2nd23gxx))),kmadd(dJ233L,PDstandard2nd2gxx,kmadd(dJ333L,PDstandard2nd3gxx,kmadd(PDstandard2nd11gxx,kmul(J13L,J13L),kmadd(PDstandard2nd22gxx,kmul(J23L,J23L),kmul(PDstandard2nd33gxx,kmul(J33L,J33L))))))));
JacPDstandard2nd33gxy =
- kmadd(dJ133L,PDstandard2nd1gxy,kmadd(dJ233L,PDstandard2nd2gxy,kmadd(dJ333L,PDstandard2nd3gxy,kmadd(PDstandard2nd11gxy,kmul(J13L,J13L),kmadd(PDstandard2nd22gxy,kmul(J23L,J23L),kmadd(PDstandard2nd33gxy,kmul(J33L,J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandard2nd12gxy,kmul(J33L,PDstandard2nd13gxy)),kmul(J23L,kmul(J33L,PDstandard2nd23gxy))),ToReal(2))))))));
+ kmadd(dJ133L,PDstandard2nd1gxy,kmadd(ToReal(2),kmadd(J13L,kmadd(J23L,PDstandard2nd12gxy,kmul(J33L,PDstandard2nd13gxy)),kmul(J23L,kmul(J33L,PDstandard2nd23gxy))),kmadd(dJ233L,PDstandard2nd2gxy,kmadd(dJ333L,PDstandard2nd3gxy,kmadd(PDstandard2nd11gxy,kmul(J13L,J13L),kmadd(PDstandard2nd22gxy,kmul(J23L,J23L),kmul(PDstandard2nd33gxy,kmul(J33L,J33L))))))));
JacPDstandard2nd33gyy =
- kmadd(dJ133L,PDstandard2nd1gyy,kmadd(dJ233L,PDstandard2nd2gyy,kmadd(dJ333L,PDstandard2nd3gyy,kmadd(PDstandard2nd11gyy,kmul(J13L,J13L),kmadd(PDstandard2nd22gyy,kmul(J23L,J23L),kmadd(PDstandard2nd33gyy,kmul(J33L,J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandard2nd12gyy,kmul(J33L,PDstandard2nd13gyy)),kmul(J23L,kmul(J33L,PDstandard2nd23gyy))),ToReal(2))))))));
+ kmadd(dJ133L,PDstandard2nd1gyy,kmadd(ToReal(2),kmadd(J13L,kmadd(J23L,PDstandard2nd12gyy,kmul(J33L,PDstandard2nd13gyy)),kmul(J23L,kmul(J33L,PDstandard2nd23gyy))),kmadd(dJ233L,PDstandard2nd2gyy,kmadd(dJ333L,PDstandard2nd3gyy,kmadd(PDstandard2nd11gyy,kmul(J13L,J13L),kmadd(PDstandard2nd22gyy,kmul(J23L,J23L),kmul(PDstandard2nd33gyy,kmul(J33L,J33L))))))));
JacPDstandard2nd12gxy =
kmadd(J12L,kmadd(J11L,PDstandard2nd11gxy,kmadd(J21L,PDstandard2nd12gxy,kmul(J31L,PDstandard2nd13gxy))),kmadd(J11L,kmadd(J22L,PDstandard2nd12gxy,kmul(J32L,PDstandard2nd13gxy)),kmadd(dJ112L,PDstandard2nd1gxy,kmadd(J22L,kmadd(J21L,PDstandard2nd22gxy,kmul(J31L,PDstandard2nd23gxy)),kmadd(dJ212L,PDstandard2nd2gxy,kmadd(J32L,kmadd(J21L,PDstandard2nd23gxy,kmul(J31L,PDstandard2nd33gxy)),kmul(dJ312L,PDstandard2nd3gxy)))))));
@@ -1005,7 +1017,7 @@ static void WeylScal4_psis_calc_2nd_Body(const cGH* restrict const cctkGH, const
}
CCTK_REAL_VEC detg CCTK_ATTRIBUTE_UNUSED =
- knmsub(gyyL,kmul(gxzL,gxzL),knmsub(gxxL,kmul(gyzL,gyzL),kmadd(gzzL,kmsub(gxxL,gyyL,kmul(gxyL,gxyL)),kmul(gxyL,kmul(gxzL,kmul(gyzL,ToReal(2)))))));
+ kmadd(ToReal(2),kmul(gxyL,kmul(gxzL,gyzL)),knmsub(gzzL,kmul(gxyL,gxyL),kmsub(gyyL,kmsub(gxxL,gzzL,kmul(gxzL,gxzL)),kmul(gxxL,kmul(gyzL,gyzL)))));
CCTK_REAL_VEC invdetg CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),detg);
@@ -1037,13 +1049,13 @@ static void WeylScal4_psis_calc_2nd_Body(const cGH* restrict const cctkGH, const
kmul(invdetg,kmsub(gxxL,gyyL,kmul(gxyL,gxyL)));
CCTK_REAL_VEC gamma111 CCTK_ATTRIBUTE_UNUSED =
- kmul(ToReal(0.5),kmadd(gInv11,JacPDstandard2nd1gxx,knmsub(gInv12,JacPDstandard2nd2gxx,kmsub(kmadd(gInv12,JacPDstandard2nd1gxy,kmul(gInv13,JacPDstandard2nd1gxz)),ToReal(2),kmul(gInv13,JacPDstandard2nd3gxx)))));
+ kmul(kmadd(gInv11,JacPDstandard2nd1gxx,kmsub(ToReal(2),kmadd(gInv12,JacPDstandard2nd1gxy,kmul(gInv13,JacPDstandard2nd1gxz)),kmadd(gInv13,JacPDstandard2nd3gxx,kmul(gInv12,JacPDstandard2nd2gxx)))),ToReal(0.5));
CCTK_REAL_VEC gamma211 CCTK_ATTRIBUTE_UNUSED =
- kmul(ToReal(0.5),kmadd(gInv21,JacPDstandard2nd1gxx,knmsub(gInv22,JacPDstandard2nd2gxx,kmsub(kmadd(gInv22,JacPDstandard2nd1gxy,kmul(gInv23,JacPDstandard2nd1gxz)),ToReal(2),kmul(gInv23,JacPDstandard2nd3gxx)))));
+ kmul(kmadd(gInv21,JacPDstandard2nd1gxx,kmsub(ToReal(2),kmadd(gInv22,JacPDstandard2nd1gxy,kmul(gInv23,JacPDstandard2nd1gxz)),kmadd(gInv23,JacPDstandard2nd3gxx,kmul(gInv22,JacPDstandard2nd2gxx)))),ToReal(0.5));
CCTK_REAL_VEC gamma311 CCTK_ATTRIBUTE_UNUSED =
- kmul(ToReal(0.5),kmadd(gInv31,JacPDstandard2nd1gxx,knmsub(gInv32,JacPDstandard2nd2gxx,kmsub(kmadd(gInv32,JacPDstandard2nd1gxy,kmul(gInv33,JacPDstandard2nd1gxz)),ToReal(2),kmul(gInv33,JacPDstandard2nd3gxx)))));
+ kmul(kmadd(gInv31,JacPDstandard2nd1gxx,kmsub(ToReal(2),kmadd(gInv32,JacPDstandard2nd1gxy,kmul(gInv33,JacPDstandard2nd1gxz)),kmadd(gInv33,JacPDstandard2nd3gxx,kmul(gInv32,JacPDstandard2nd2gxx)))),ToReal(0.5));
CCTK_REAL_VEC gamma121 CCTK_ATTRIBUTE_UNUSED =
kmul(kmadd(gInv12,JacPDstandard2nd1gyy,kmadd(gInv11,JacPDstandard2nd2gxx,kmul(gInv13,kadd(JacPDstandard2nd1gyz,ksub(JacPDstandard2nd2gxz,JacPDstandard2nd3gxy))))),ToReal(0.5));
@@ -1064,31 +1076,31 @@ static void WeylScal4_psis_calc_2nd_Body(const cGH* restrict const cctkGH, const
kmul(kmadd(gInv33,JacPDstandard2nd1gzz,kmadd(gInv31,JacPDstandard2nd3gxx,kmul(gInv32,kadd(JacPDstandard2nd1gyz,ksub(JacPDstandard2nd3gxy,JacPDstandard2nd2gxz))))),ToReal(0.5));
CCTK_REAL_VEC gamma122 CCTK_ATTRIBUTE_UNUSED =
- kmul(ToReal(0.5),kmadd(gInv12,JacPDstandard2nd2gyy,kmadd(gInv11,kmsub(JacPDstandard2nd2gxy,ToReal(2),JacPDstandard2nd1gyy),kmul(gInv13,kmsub(JacPDstandard2nd2gyz,ToReal(2),JacPDstandard2nd3gyy)))));
+ kmul(kmadd(gInv11,kmsub(ToReal(2),JacPDstandard2nd2gxy,JacPDstandard2nd1gyy),kmadd(gInv12,JacPDstandard2nd2gyy,kmul(gInv13,kmsub(ToReal(2),JacPDstandard2nd2gyz,JacPDstandard2nd3gyy)))),ToReal(0.5));
CCTK_REAL_VEC gamma222 CCTK_ATTRIBUTE_UNUSED =
- kmul(ToReal(0.5),kmadd(gInv22,JacPDstandard2nd2gyy,kmadd(gInv21,kmsub(JacPDstandard2nd2gxy,ToReal(2),JacPDstandard2nd1gyy),kmul(gInv23,kmsub(JacPDstandard2nd2gyz,ToReal(2),JacPDstandard2nd3gyy)))));
+ kmul(kmadd(gInv21,kmsub(ToReal(2),JacPDstandard2nd2gxy,JacPDstandard2nd1gyy),kmadd(gInv22,JacPDstandard2nd2gyy,kmul(gInv23,kmsub(ToReal(2),JacPDstandard2nd2gyz,JacPDstandard2nd3gyy)))),ToReal(0.5));
CCTK_REAL_VEC gamma322 CCTK_ATTRIBUTE_UNUSED =
- kmul(ToReal(0.5),kmadd(gInv32,JacPDstandard2nd2gyy,kmadd(gInv31,kmsub(JacPDstandard2nd2gxy,ToReal(2),JacPDstandard2nd1gyy),kmul(gInv33,kmsub(JacPDstandard2nd2gyz,ToReal(2),JacPDstandard2nd3gyy)))));
+ kmul(kmadd(gInv31,kmsub(ToReal(2),JacPDstandard2nd2gxy,JacPDstandard2nd1gyy),kmadd(gInv32,JacPDstandard2nd2gyy,kmul(gInv33,kmsub(ToReal(2),JacPDstandard2nd2gyz,JacPDstandard2nd3gyy)))),ToReal(0.5));
CCTK_REAL_VEC gamma132 CCTK_ATTRIBUTE_UNUSED =
- kmul(kmadd(gInv13,JacPDstandard2nd2gzz,kmadd(gInv12,JacPDstandard2nd3gyy,kmul(gInv11,kadd(JacPDstandard2nd2gxz,ksub(JacPDstandard2nd3gxy,JacPDstandard2nd1gyz))))),ToReal(0.5));
+ kmul(kmadd(gInv13,JacPDstandard2nd2gzz,kmadd(gInv11,ksub(kadd(JacPDstandard2nd2gxz,JacPDstandard2nd3gxy),JacPDstandard2nd1gyz),kmul(gInv12,JacPDstandard2nd3gyy))),ToReal(0.5));
CCTK_REAL_VEC gamma232 CCTK_ATTRIBUTE_UNUSED =
- kmul(kmadd(gInv23,JacPDstandard2nd2gzz,kmadd(gInv22,JacPDstandard2nd3gyy,kmul(gInv21,kadd(JacPDstandard2nd2gxz,ksub(JacPDstandard2nd3gxy,JacPDstandard2nd1gyz))))),ToReal(0.5));
+ kmul(kmadd(gInv23,JacPDstandard2nd2gzz,kmadd(gInv21,ksub(kadd(JacPDstandard2nd2gxz,JacPDstandard2nd3gxy),JacPDstandard2nd1gyz),kmul(gInv22,JacPDstandard2nd3gyy))),ToReal(0.5));
CCTK_REAL_VEC gamma332 CCTK_ATTRIBUTE_UNUSED =
- kmul(kmadd(gInv33,JacPDstandard2nd2gzz,kmadd(gInv32,JacPDstandard2nd3gyy,kmul(gInv31,kadd(JacPDstandard2nd2gxz,ksub(JacPDstandard2nd3gxy,JacPDstandard2nd1gyz))))),ToReal(0.5));
+ kmul(kmadd(gInv33,JacPDstandard2nd2gzz,kmadd(gInv31,ksub(kadd(JacPDstandard2nd2gxz,JacPDstandard2nd3gxy),JacPDstandard2nd1gyz),kmul(gInv32,JacPDstandard2nd3gyy))),ToReal(0.5));
CCTK_REAL_VEC gamma133 CCTK_ATTRIBUTE_UNUSED =
- kmul(ToReal(0.5),kmadd(gInv13,JacPDstandard2nd3gzz,kmadd(gInv11,kmsub(JacPDstandard2nd3gxz,ToReal(2),JacPDstandard2nd1gzz),kmul(gInv12,kmsub(JacPDstandard2nd3gyz,ToReal(2),JacPDstandard2nd2gzz)))));
+ kmul(kmadd(gInv11,kmsub(ToReal(2),JacPDstandard2nd3gxz,JacPDstandard2nd1gzz),kmadd(gInv12,kmsub(ToReal(2),JacPDstandard2nd3gyz,JacPDstandard2nd2gzz),kmul(gInv13,JacPDstandard2nd3gzz))),ToReal(0.5));
CCTK_REAL_VEC gamma233 CCTK_ATTRIBUTE_UNUSED =
- kmul(ToReal(0.5),kmadd(gInv23,JacPDstandard2nd3gzz,kmadd(gInv21,kmsub(JacPDstandard2nd3gxz,ToReal(2),JacPDstandard2nd1gzz),kmul(gInv22,kmsub(JacPDstandard2nd3gyz,ToReal(2),JacPDstandard2nd2gzz)))));
+ kmul(kmadd(gInv21,kmsub(ToReal(2),JacPDstandard2nd3gxz,JacPDstandard2nd1gzz),kmadd(gInv22,kmsub(ToReal(2),JacPDstandard2nd3gyz,JacPDstandard2nd2gzz),kmul(gInv23,JacPDstandard2nd3gzz))),ToReal(0.5));
CCTK_REAL_VEC gamma333 CCTK_ATTRIBUTE_UNUSED =
- kmul(ToReal(0.5),kmadd(gInv33,JacPDstandard2nd3gzz,kmadd(gInv31,kmsub(JacPDstandard2nd3gxz,ToReal(2),JacPDstandard2nd1gzz),kmul(gInv32,kmsub(JacPDstandard2nd3gyz,ToReal(2),JacPDstandard2nd2gzz)))));
+ kmul(kmadd(gInv31,kmsub(ToReal(2),JacPDstandard2nd3gxz,JacPDstandard2nd1gzz),kmadd(gInv32,kmsub(ToReal(2),JacPDstandard2nd3gyz,JacPDstandard2nd2gzz),kmul(gInv33,JacPDstandard2nd3gzz))),ToReal(0.5));
CCTK_REAL_VEC xmoved CCTK_ATTRIBUTE_UNUSED = ksub(xL,ToReal(xorig));
@@ -1109,13 +1121,13 @@ static void WeylScal4_psis_calc_2nd_Body(const cGH* restrict const cctkGH, const
CCTK_REAL_VEC vb3 CCTK_ATTRIBUTE_UNUSED = zmoved;
CCTK_REAL_VEC vc1 CCTK_ATTRIBUTE_UNUSED =
- kmul(ksqrt(detg),kmadd(vb3,kmsub(gInv11,va2,kmul(gInv12,va1)),kmadd(vb1,kmsub(gInv12,va3,kmul(gInv13,va2)),kmul(vb2,kmsub(gInv13,va1,kmul(gInv11,va3))))));
+ kmul(kmadd(kmsub(gInv12,va3,kmul(gInv13,va2)),vb1,kmadd(kmsub(gInv13,va1,kmul(gInv11,va3)),vb2,kmul(vb3,kmsub(gInv11,va2,kmul(gInv12,va1))))),kpow(detg,0.5));
CCTK_REAL_VEC vc2 CCTK_ATTRIBUTE_UNUSED =
- kmul(ksqrt(detg),kmadd(vb3,kmsub(gInv21,va2,kmul(gInv22,va1)),kmadd(vb1,kmsub(gInv22,va3,kmul(gInv23,va2)),kmul(vb2,kmsub(gInv23,va1,kmul(gInv21,va3))))));
+ kmul(kmadd(kmsub(gInv22,va3,kmul(gInv23,va2)),vb1,kmadd(kmsub(gInv23,va1,kmul(gInv21,va3)),vb2,kmul(vb3,kmsub(gInv21,va2,kmul(gInv22,va1))))),kpow(detg,0.5));
CCTK_REAL_VEC vc3 CCTK_ATTRIBUTE_UNUSED =
- kmul(ksqrt(detg),kmadd(vb3,kmsub(gInv31,va2,kmul(gInv32,va1)),kmadd(vb1,kmsub(gInv32,va3,kmul(gInv33,va2)),kmul(vb2,kmsub(gInv33,va1,kmul(gInv31,va3))))));
+ kmul(kmadd(kmsub(gInv32,va3,kmul(gInv33,va2)),vb1,kmadd(kmsub(gInv33,va1,kmul(gInv31,va3)),vb2,kmul(vb3,kmsub(gInv31,va2,kmul(gInv32,va1))))),kpow(detg,0.5));
CCTK_REAL_VEC wa1 CCTK_ATTRIBUTE_UNUSED = va1;
@@ -1124,13 +1136,16 @@ static void WeylScal4_psis_calc_2nd_Body(const cGH* restrict const cctkGH, const
CCTK_REAL_VEC wa3 CCTK_ATTRIBUTE_UNUSED = va3;
CCTK_REAL_VEC omega11 CCTK_ATTRIBUTE_UNUSED =
- kmadd(gxxL,kmul(wa1,wa1),kmadd(gyyL,kmul(wa2,wa2),kmadd(gzzL,kmul(wa3,wa3),kmul(kmadd(gyzL,kmul(wa2,wa3),kmul(wa1,kmadd(gxyL,wa2,kmul(gxzL,wa3)))),ToReal(2)))));
+ kmadd(ToReal(2),kmadd(gyzL,kmul(wa2,wa3),kmul(wa1,kmadd(gxyL,wa2,kmul(gxzL,wa3)))),kmadd(gxxL,kmul(wa1,wa1),kmadd(gyyL,kmul(wa2,wa2),kmul(gzzL,kmul(wa3,wa3)))));
- CCTK_REAL_VEC ea1 CCTK_ATTRIBUTE_UNUSED = kdiv(wa1,ksqrt(omega11));
+ CCTK_REAL_VEC ea1 CCTK_ATTRIBUTE_UNUSED =
+ kmul(wa1,kpow(omega11,-0.5));
- CCTK_REAL_VEC ea2 CCTK_ATTRIBUTE_UNUSED = kdiv(wa2,ksqrt(omega11));
+ CCTK_REAL_VEC ea2 CCTK_ATTRIBUTE_UNUSED =
+ kmul(wa2,kpow(omega11,-0.5));
- CCTK_REAL_VEC ea3 CCTK_ATTRIBUTE_UNUSED = kdiv(wa3,ksqrt(omega11));
+ CCTK_REAL_VEC ea3 CCTK_ATTRIBUTE_UNUSED =
+ kmul(wa3,kpow(omega11,-0.5));
CCTK_REAL_VEC omega12 CCTK_ATTRIBUTE_UNUSED =
kmadd(ea1,kmadd(gxxL,vb1,kmadd(gxyL,vb2,kmul(gxzL,vb3))),kmadd(ea2,kmadd(gxyL,vb1,kmadd(gyyL,vb2,kmul(gyzL,vb3))),kmul(ea3,kmadd(gxzL,vb1,kmadd(gyzL,vb2,kmul(gzzL,vb3))))));
@@ -1142,13 +1157,16 @@ static void WeylScal4_psis_calc_2nd_Body(const cGH* restrict const cctkGH, const
CCTK_REAL_VEC wb3 CCTK_ATTRIBUTE_UNUSED = knmsub(ea3,omega12,vb3);
CCTK_REAL_VEC omega22 CCTK_ATTRIBUTE_UNUSED =
- kmadd(gxxL,kmul(wb1,wb1),kmadd(gyyL,kmul(wb2,wb2),kmadd(gzzL,kmul(wb3,wb3),kmul(kmadd(gyzL,kmul(wb2,wb3),kmul(wb1,kmadd(gxyL,wb2,kmul(gxzL,wb3)))),ToReal(2)))));
+ kmadd(ToReal(2),kmadd(gyzL,kmul(wb2,wb3),kmul(wb1,kmadd(gxyL,wb2,kmul(gxzL,wb3)))),kmadd(gxxL,kmul(wb1,wb1),kmadd(gyyL,kmul(wb2,wb2),kmul(gzzL,kmul(wb3,wb3)))));
- CCTK_REAL_VEC eb1 CCTK_ATTRIBUTE_UNUSED = kdiv(wb1,ksqrt(omega22));
+ CCTK_REAL_VEC eb1 CCTK_ATTRIBUTE_UNUSED =
+ kmul(wb1,kpow(omega22,-0.5));
- CCTK_REAL_VEC eb2 CCTK_ATTRIBUTE_UNUSED = kdiv(wb2,ksqrt(omega22));
+ CCTK_REAL_VEC eb2 CCTK_ATTRIBUTE_UNUSED =
+ kmul(wb2,kpow(omega22,-0.5));
- CCTK_REAL_VEC eb3 CCTK_ATTRIBUTE_UNUSED = kdiv(wb3,ksqrt(omega22));
+ CCTK_REAL_VEC eb3 CCTK_ATTRIBUTE_UNUSED =
+ kmul(wb3,kpow(omega22,-0.5));
CCTK_REAL_VEC omega13 CCTK_ATTRIBUTE_UNUSED =
kmadd(ea1,kmadd(gxxL,vc1,kmadd(gxyL,vc2,kmul(gxzL,vc3))),kmadd(ea2,kmadd(gxyL,vc1,kmadd(gyyL,vc2,kmul(gyzL,vc3))),kmul(ea3,kmadd(gxzL,vc1,kmadd(gyzL,vc2,kmul(gzzL,vc3))))));
@@ -1157,22 +1175,25 @@ static void WeylScal4_psis_calc_2nd_Body(const cGH* restrict const cctkGH, const
kmadd(eb1,kmadd(gxxL,vc1,kmadd(gxyL,vc2,kmul(gxzL,vc3))),kmadd(eb2,kmadd(gxyL,vc1,kmadd(gyyL,vc2,kmul(gyzL,vc3))),kmul(eb3,kmadd(gxzL,vc1,kmadd(gyzL,vc2,kmul(gzzL,vc3))))));
CCTK_REAL_VEC wc1 CCTK_ATTRIBUTE_UNUSED =
- ksub(vc1,kmadd(eb1,omega23,kmul(ea1,omega13)));
+ knmsub(ea1,omega13,knmsub(eb1,omega23,vc1));
CCTK_REAL_VEC wc2 CCTK_ATTRIBUTE_UNUSED =
- ksub(vc2,kmadd(eb2,omega23,kmul(ea2,omega13)));
+ knmsub(ea2,omega13,knmsub(eb2,omega23,vc2));
CCTK_REAL_VEC wc3 CCTK_ATTRIBUTE_UNUSED =
- ksub(vc3,kmadd(eb3,omega23,kmul(ea3,omega13)));
+ knmsub(ea3,omega13,knmsub(eb3,omega23,vc3));
CCTK_REAL_VEC omega33 CCTK_ATTRIBUTE_UNUSED =
- kmadd(gxxL,kmul(wc1,wc1),kmadd(gyyL,kmul(wc2,wc2),kmadd(gzzL,kmul(wc3,wc3),kmul(kmadd(gyzL,kmul(wc2,wc3),kmul(wc1,kmadd(gxyL,wc2,kmul(gxzL,wc3)))),ToReal(2)))));
+ kmadd(ToReal(2),kmadd(gyzL,kmul(wc2,wc3),kmul(wc1,kmadd(gxyL,wc2,kmul(gxzL,wc3)))),kmadd(gxxL,kmul(wc1,wc1),kmadd(gyyL,kmul(wc2,wc2),kmul(gzzL,kmul(wc3,wc3)))));
- CCTK_REAL_VEC ec1 CCTK_ATTRIBUTE_UNUSED = kdiv(wc1,ksqrt(omega33));
+ CCTK_REAL_VEC ec1 CCTK_ATTRIBUTE_UNUSED =
+ kmul(wc1,kpow(omega33,-0.5));
- CCTK_REAL_VEC ec2 CCTK_ATTRIBUTE_UNUSED = kdiv(wc2,ksqrt(omega33));
+ CCTK_REAL_VEC ec2 CCTK_ATTRIBUTE_UNUSED =
+ kmul(wc2,kpow(omega33,-0.5));
- CCTK_REAL_VEC ec3 CCTK_ATTRIBUTE_UNUSED = kdiv(wc3,ksqrt(omega33));
+ CCTK_REAL_VEC ec3 CCTK_ATTRIBUTE_UNUSED =
+ kmul(wc3,kpow(omega33,-0.5));
CCTK_REAL_VEC isqrt2 CCTK_ATTRIBUTE_UNUSED =
ToReal(0.707106781186547524);
@@ -1216,37 +1237,37 @@ static void WeylScal4_psis_calc_2nd_Body(const cGH* restrict const cctkGH, const
CCTK_REAL_VEC nn CCTK_ATTRIBUTE_UNUSED = isqrt2;
CCTK_REAL_VEC R1212 CCTK_ATTRIBUTE_UNUSED =
- kmul(ToReal(0.5),kadd(JacPDstandard2nd12gxy,kadd(JacPDstandard2nd21gxy,kmadd(kmadd(gamma122,kmadd(gxxL,gamma111,kmadd(gxyL,gamma211,kmul(gxzL,gamma311))),kmadd(gamma222,kmadd(gxyL,gamma111,kmadd(gyyL,gamma211,kmul(gyzL,gamma311))),kmul(kmadd(gxzL,gamma111,kmadd(gyzL,gamma211,kmul(gzzL,gamma311))),gamma322))),ToReal(-2),ksub(kmsub(kmadd(gamma121,kmadd(gxxL,gamma121,kmadd(gxyL,gamma221,kmul(gxzL,gamma321))),kmadd(gamma221,kmadd(gxyL,gamma121,kmadd(gyyL,gamma221,kmul(gyzL,gamma321))),kmul(gamma321,kmadd(gxzL,gamma121,kmadd(gyzL,gamma221,kmul(gzzL,gamma321)))))),ToReal(2),JacPDstandard2nd22gxx),JacPDstandard2nd11gyy)))));
+ kmul(kmadd(ToReal(2),kmadd(gamma121,kmadd(gxxL,gamma121,kmadd(gxyL,gamma221,kmul(gxzL,gamma321))),kmadd(gamma221,kmadd(gxyL,gamma121,kmadd(gyyL,gamma221,kmul(gyzL,gamma321))),kmul(gamma321,kmadd(gxzL,gamma121,kmadd(gyzL,gamma221,kmul(gzzL,gamma321)))))),kmadd(ToReal(-2),kmadd(gamma122,kmadd(gxxL,gamma111,kmadd(gxyL,gamma211,kmul(gxzL,gamma311))),kmadd(gamma222,kmadd(gxyL,gamma111,kmadd(gyyL,gamma211,kmul(gyzL,gamma311))),kmul(kmadd(gxzL,gamma111,kmadd(gyzL,gamma211,kmul(gzzL,gamma311))),gamma322))),ksub(kadd(JacPDstandard2nd12gxy,ksub(JacPDstandard2nd21gxy,JacPDstandard2nd22gxx)),JacPDstandard2nd11gyy))),ToReal(0.5));
CCTK_REAL_VEC R1213 CCTK_ATTRIBUTE_UNUSED =
- kmul(ToReal(0.5),kadd(JacPDstandard2nd12gxz,kadd(JacPDstandard2nd31gxy,kmadd(kmadd(gamma132,kmadd(gxxL,gamma111,kmadd(gxyL,gamma211,kmul(gxzL,gamma311))),kmadd(gamma232,kmadd(gxyL,gamma111,kmadd(gyyL,gamma211,kmul(gyzL,gamma311))),kmul(kmadd(gxzL,gamma111,kmadd(gyzL,gamma211,kmul(gzzL,gamma311))),gamma332))),ToReal(-2),ksub(kmsub(kmadd(gamma121,kmadd(gxxL,gamma131,kmadd(gxyL,gamma231,kmul(gxzL,gamma331))),kmadd(gamma221,kmadd(gxyL,gamma131,kmadd(gyyL,gamma231,kmul(gyzL,gamma331))),kmul(gamma321,kmadd(gxzL,gamma131,kmadd(gyzL,gamma231,kmul(gzzL,gamma331)))))),ToReal(2),JacPDstandard2nd23gxx),JacPDstandard2nd11gyz)))));
+ kmul(kmadd(ToReal(2),kmadd(gamma121,kmadd(gxxL,gamma131,kmadd(gxyL,gamma231,kmul(gxzL,gamma331))),kmadd(gamma221,kmadd(gxyL,gamma131,kmadd(gyyL,gamma231,kmul(gyzL,gamma331))),kmul(gamma321,kmadd(gxzL,gamma131,kmadd(gyzL,gamma231,kmul(gzzL,gamma331)))))),kmadd(ToReal(-2),kmadd(gamma132,kmadd(gxxL,gamma111,kmadd(gxyL,gamma211,kmul(gxzL,gamma311))),kmadd(gamma232,kmadd(gxyL,gamma111,kmadd(gyyL,gamma211,kmul(gyzL,gamma311))),kmul(kmadd(gxzL,gamma111,kmadd(gyzL,gamma211,kmul(gzzL,gamma311))),gamma332))),ksub(kadd(JacPDstandard2nd12gxz,ksub(JacPDstandard2nd31gxy,JacPDstandard2nd23gxx)),JacPDstandard2nd11gyz))),ToReal(0.5));
CCTK_REAL_VEC R1223 CCTK_ATTRIBUTE_UNUSED =
- kmul(ToReal(0.5),kadd(JacPDstandard2nd22gxz,kadd(JacPDstandard2nd31gyy,kmadd(kmadd(gamma132,kmadd(gxxL,gamma121,kmadd(gxyL,gamma221,kmul(gxzL,gamma321))),kmadd(gamma232,kmadd(gxyL,gamma121,kmadd(gyyL,gamma221,kmul(gyzL,gamma321))),kmul(kmadd(gxzL,gamma121,kmadd(gyzL,gamma221,kmul(gzzL,gamma321))),gamma332))),ToReal(-2),ksub(kmsub(kmadd(gamma122,kmadd(gxxL,gamma131,kmadd(gxyL,gamma231,kmul(gxzL,gamma331))),kmadd(gamma222,kmadd(gxyL,gamma131,kmadd(gyyL,gamma231,kmul(gyzL,gamma331))),kmul(gamma322,kmadd(gxzL,gamma131,kmadd(gyzL,gamma231,kmul(gzzL,gamma331)))))),ToReal(2),JacPDstandard2nd23gxy),JacPDstandard2nd12gyz)))));
+ kmul(kmadd(ToReal(2),kmadd(gamma122,kmadd(gxxL,gamma131,kmadd(gxyL,gamma231,kmul(gxzL,gamma331))),kmadd(gamma222,kmadd(gxyL,gamma131,kmadd(gyyL,gamma231,kmul(gyzL,gamma331))),kmul(gamma322,kmadd(gxzL,gamma131,kmadd(gyzL,gamma231,kmul(gzzL,gamma331)))))),kmadd(ToReal(-2),kmadd(gamma132,kmadd(gxxL,gamma121,kmadd(gxyL,gamma221,kmul(gxzL,gamma321))),kmadd(gamma232,kmadd(gxyL,gamma121,kmadd(gyyL,gamma221,kmul(gyzL,gamma321))),kmul(kmadd(gxzL,gamma121,kmadd(gyzL,gamma221,kmul(gzzL,gamma321))),gamma332))),ksub(kadd(JacPDstandard2nd22gxz,ksub(JacPDstandard2nd31gyy,JacPDstandard2nd23gxy)),JacPDstandard2nd12gyz))),ToReal(0.5));
CCTK_REAL_VEC R1313 CCTK_ATTRIBUTE_UNUSED =
- kmul(ToReal(0.5),kadd(JacPDstandard2nd13gxz,kadd(JacPDstandard2nd31gxz,kmadd(kmadd(gamma133,kmadd(gxxL,gamma111,kmadd(gxyL,gamma211,kmul(gxzL,gamma311))),kmadd(gamma233,kmadd(gxyL,gamma111,kmadd(gyyL,gamma211,kmul(gyzL,gamma311))),kmul(kmadd(gxzL,gamma111,kmadd(gyzL,gamma211,kmul(gzzL,gamma311))),gamma333))),ToReal(-2),ksub(kmsub(kmadd(gamma131,kmadd(gxxL,gamma131,kmadd(gxyL,gamma231,kmul(gxzL,gamma331))),kmadd(gamma231,kmadd(gxyL,gamma131,kmadd(gyyL,gamma231,kmul(gyzL,gamma331))),kmul(gamma331,kmadd(gxzL,gamma131,kmadd(gyzL,gamma231,kmul(gzzL,gamma331)))))),ToReal(2),JacPDstandard2nd33gxx),JacPDstandard2nd11gzz)))));
+ kmul(kmadd(ToReal(2),kmadd(gamma131,kmadd(gxxL,gamma131,kmadd(gxyL,gamma231,kmul(gxzL,gamma331))),kmadd(gamma231,kmadd(gxyL,gamma131,kmadd(gyyL,gamma231,kmul(gyzL,gamma331))),kmul(gamma331,kmadd(gxzL,gamma131,kmadd(gyzL,gamma231,kmul(gzzL,gamma331)))))),kmadd(ToReal(-2),kmadd(gamma133,kmadd(gxxL,gamma111,kmadd(gxyL,gamma211,kmul(gxzL,gamma311))),kmadd(gamma233,kmadd(gxyL,gamma111,kmadd(gyyL,gamma211,kmul(gyzL,gamma311))),kmul(kmadd(gxzL,gamma111,kmadd(gyzL,gamma211,kmul(gzzL,gamma311))),gamma333))),ksub(kadd(JacPDstandard2nd13gxz,ksub(JacPDstandard2nd31gxz,JacPDstandard2nd33gxx)),JacPDstandard2nd11gzz))),ToReal(0.5));
CCTK_REAL_VEC R1323 CCTK_ATTRIBUTE_UNUSED =
- kmul(ToReal(0.5),kadd(JacPDstandard2nd23gxz,kadd(JacPDstandard2nd31gyz,kmadd(kmadd(gamma133,kmadd(gxxL,gamma121,kmadd(gxyL,gamma221,kmul(gxzL,gamma321))),kmadd(gamma233,kmadd(gxyL,gamma121,kmadd(gyyL,gamma221,kmul(gyzL,gamma321))),kmul(kmadd(gxzL,gamma121,kmadd(gyzL,gamma221,kmul(gzzL,gamma321))),gamma333))),ToReal(-2),ksub(kmsub(kmadd(gamma132,kmadd(gxxL,gamma131,kmadd(gxyL,gamma231,kmul(gxzL,gamma331))),kmadd(gamma232,kmadd(gxyL,gamma131,kmadd(gyyL,gamma231,kmul(gyzL,gamma331))),kmul(kmadd(gxzL,gamma131,kmadd(gyzL,gamma231,kmul(gzzL,gamma331))),gamma332))),ToReal(2),JacPDstandard2nd33gxy),JacPDstandard2nd12gzz)))));
+ kmul(kmadd(ToReal(2),kmadd(gamma132,kmadd(gxxL,gamma131,kmadd(gxyL,gamma231,kmul(gxzL,gamma331))),kmadd(gamma232,kmadd(gxyL,gamma131,kmadd(gyyL,gamma231,kmul(gyzL,gamma331))),kmul(kmadd(gxzL,gamma131,kmadd(gyzL,gamma231,kmul(gzzL,gamma331))),gamma332))),kmadd(ToReal(-2),kmadd(gamma133,kmadd(gxxL,gamma121,kmadd(gxyL,gamma221,kmul(gxzL,gamma321))),kmadd(gamma233,kmadd(gxyL,gamma121,kmadd(gyyL,gamma221,kmul(gyzL,gamma321))),kmul(kmadd(gxzL,gamma121,kmadd(gyzL,gamma221,kmul(gzzL,gamma321))),gamma333))),ksub(kadd(JacPDstandard2nd23gxz,ksub(JacPDstandard2nd31gyz,JacPDstandard2nd33gxy)),JacPDstandard2nd12gzz))),ToReal(0.5));
CCTK_REAL_VEC R2323 CCTK_ATTRIBUTE_UNUSED =
- kmul(ToReal(0.5),kadd(JacPDstandard2nd23gyz,kadd(JacPDstandard2nd32gyz,kmadd(kmadd(gamma133,kmadd(gxxL,gamma122,kmadd(gxyL,gamma222,kmul(gxzL,gamma322))),kmadd(gamma233,kmadd(gxyL,gamma122,kmadd(gyyL,gamma222,kmul(gyzL,gamma322))),kmul(kmadd(gxzL,gamma122,kmadd(gyzL,gamma222,kmul(gzzL,gamma322))),gamma333))),ToReal(-2),ksub(kmsub(kmadd(gamma132,kmadd(gxxL,gamma132,kmadd(gxyL,gamma232,kmul(gxzL,gamma332))),kmadd(gamma232,kmadd(gxyL,gamma132,kmadd(gyyL,gamma232,kmul(gyzL,gamma332))),kmul(gamma332,kmadd(gxzL,gamma132,kmadd(gyzL,gamma232,kmul(gzzL,gamma332)))))),ToReal(2),JacPDstandard2nd33gyy),JacPDstandard2nd22gzz)))));
+ kmul(kmadd(ToReal(2),kmadd(gamma132,kmadd(gxxL,gamma132,kmadd(gxyL,gamma232,kmul(gxzL,gamma332))),kmadd(gamma232,kmadd(gxyL,gamma132,kmadd(gyyL,gamma232,kmul(gyzL,gamma332))),kmul(gamma332,kmadd(gxzL,gamma132,kmadd(gyzL,gamma232,kmul(gzzL,gamma332)))))),kmadd(ToReal(-2),kmadd(gamma133,kmadd(gxxL,gamma122,kmadd(gxyL,gamma222,kmul(gxzL,gamma322))),kmadd(gamma233,kmadd(gxyL,gamma122,kmadd(gyyL,gamma222,kmul(gyzL,gamma322))),kmul(kmadd(gxzL,gamma122,kmadd(gyzL,gamma222,kmul(gzzL,gamma322))),gamma333))),ksub(kadd(JacPDstandard2nd23gyz,ksub(JacPDstandard2nd32gyz,JacPDstandard2nd33gyy)),JacPDstandard2nd22gzz))),ToReal(0.5));
CCTK_REAL_VEC R4p1212 CCTK_ATTRIBUTE_UNUSED =
kmadd(kxxL,kyyL,knmsub(kxyL,kxyL,R1212));
CCTK_REAL_VEC R4p1213 CCTK_ATTRIBUTE_UNUSED =
- kmadd(kxxL,kyzL,knmsub(kxyL,kxzL,R1213));
+ knmsub(kxyL,kxzL,kmadd(kxxL,kyzL,R1213));
CCTK_REAL_VEC R4p1223 CCTK_ATTRIBUTE_UNUSED =
- kmadd(kxyL,kyzL,knmsub(kxzL,kyyL,R1223));
+ knmsub(kxzL,kyyL,kmadd(kxyL,kyzL,R1223));
CCTK_REAL_VEC R4p1313 CCTK_ATTRIBUTE_UNUSED =
kmadd(kxxL,kzzL,knmsub(kxzL,kxzL,R1313));
CCTK_REAL_VEC R4p1323 CCTK_ATTRIBUTE_UNUSED =
- kmadd(kxyL,kzzL,knmsub(kxzL,kyzL,R1323));
+ knmsub(kxzL,kyzL,kmadd(kxyL,kzzL,R1323));
CCTK_REAL_VEC R4p2323 CCTK_ATTRIBUTE_UNUSED =
kmadd(kyyL,kzzL,knmsub(kyzL,kyzL,R2323));
@@ -1254,132 +1275,131 @@ static void WeylScal4_psis_calc_2nd_Body(const cGH* restrict const cctkGH, const
CCTK_REAL_VEC Ro111 CCTK_ATTRIBUTE_UNUSED = ToReal(0);
CCTK_REAL_VEC Ro112 CCTK_ATTRIBUTE_UNUSED =
- kmadd(kxxL,gamma121,kmadd(kxzL,gamma321,kadd(JacPDstandard2nd1kxy,knmsub(kyyL,gamma211,knmsub(kyzL,gamma311,kmsub(kxyL,ksub(gamma221,gamma111),JacPDstandard2nd2kxx))))));
+ kmadd(kxxL,gamma121,knmsub(kyyL,gamma211,kmadd(kxyL,ksub(gamma221,gamma111),knmsub(kyzL,gamma311,kmadd(kxzL,gamma321,ksub(JacPDstandard2nd1kxy,JacPDstandard2nd2kxx))))));
CCTK_REAL_VEC Ro113 CCTK_ATTRIBUTE_UNUSED =
- kmadd(kxxL,gamma131,kmadd(kxyL,gamma231,kadd(JacPDstandard2nd1kxz,knmsub(kyzL,gamma211,knmsub(kzzL,gamma311,kmsub(kxzL,ksub(gamma331,gamma111),JacPDstandard2nd3kxx))))));
+ kmadd(kxxL,gamma131,knmsub(kyzL,gamma211,kmadd(kxyL,gamma231,knmsub(kzzL,gamma311,kmadd(kxzL,ksub(gamma331,gamma111),ksub(JacPDstandard2nd1kxz,JacPDstandard2nd3kxx))))));
CCTK_REAL_VEC Ro121 CCTK_ATTRIBUTE_UNUSED =
- kmadd(kyyL,gamma211,kmadd(kyzL,gamma311,kadd(JacPDstandard2nd2kxx,knmsub(kxxL,gamma121,knmsub(kxzL,gamma321,kmsub(kxyL,ksub(gamma111,gamma221),JacPDstandard2nd1kxy))))));
+ knmsub(kxxL,gamma121,kmadd(kyyL,gamma211,kmadd(kxyL,ksub(gamma111,gamma221),kmadd(kyzL,gamma311,knmsub(kxzL,gamma321,ksub(JacPDstandard2nd2kxx,JacPDstandard2nd1kxy))))));
CCTK_REAL_VEC Ro122 CCTK_ATTRIBUTE_UNUSED = ToReal(0);
CCTK_REAL_VEC Ro123 CCTK_ATTRIBUTE_UNUSED =
- kmadd(kxyL,gamma131,kmadd(kyyL,gamma231,kadd(JacPDstandard2nd2kxz,knmsub(kxzL,gamma121,knmsub(kzzL,gamma321,kmsub(kyzL,ksub(gamma331,gamma221),JacPDstandard2nd3kxy))))));
+ knmsub(kxzL,gamma121,kmadd(kxyL,gamma131,kmadd(kyyL,gamma231,knmsub(kzzL,gamma321,kmadd(kyzL,ksub(gamma331,gamma221),ksub(JacPDstandard2nd2kxz,JacPDstandard2nd3kxy))))));
CCTK_REAL_VEC Ro131 CCTK_ATTRIBUTE_UNUSED =
- kmadd(kyzL,gamma211,kmadd(kzzL,gamma311,kadd(JacPDstandard2nd3kxx,knmsub(kxxL,gamma131,knmsub(kxyL,gamma231,kmsub(kxzL,ksub(gamma111,gamma331),JacPDstandard2nd1kxz))))));
+ knmsub(kxxL,gamma131,kmadd(kyzL,gamma211,knmsub(kxyL,gamma231,kmadd(kzzL,gamma311,kmadd(kxzL,ksub(gamma111,gamma331),ksub(JacPDstandard2nd3kxx,JacPDstandard2nd1kxz))))));
CCTK_REAL_VEC Ro132 CCTK_ATTRIBUTE_UNUSED =
- kmadd(kxzL,gamma121,kmadd(kzzL,gamma321,kadd(JacPDstandard2nd3kxy,knmsub(kxyL,gamma131,knmsub(kyyL,gamma231,kmsub(kyzL,ksub(gamma221,gamma331),JacPDstandard2nd2kxz))))));
+ kmadd(kxzL,gamma121,knmsub(kxyL,gamma131,knmsub(kyyL,gamma231,kmadd(kzzL,gamma321,kmadd(kyzL,ksub(gamma221,gamma331),ksub(JacPDstandard2nd3kxy,JacPDstandard2nd2kxz))))));
CCTK_REAL_VEC Ro133 CCTK_ATTRIBUTE_UNUSED = ToReal(0);
CCTK_REAL_VEC Ro211 CCTK_ATTRIBUTE_UNUSED = ToReal(0);
CCTK_REAL_VEC Ro212 CCTK_ATTRIBUTE_UNUSED =
- kmadd(kxxL,gamma122,kmadd(kxzL,gamma322,kadd(JacPDstandard2nd1kyy,knmsub(kyyL,gamma221,knmsub(kyzL,gamma321,kmsub(kxyL,ksub(gamma222,gamma121),JacPDstandard2nd2kxy))))));
+ kmadd(kxxL,gamma122,knmsub(kyyL,gamma221,kmadd(kxyL,ksub(gamma222,gamma121),knmsub(kyzL,gamma321,kmadd(kxzL,gamma322,ksub(JacPDstandard2nd1kyy,JacPDstandard2nd2kxy))))));
CCTK_REAL_VEC Ro213 CCTK_ATTRIBUTE_UNUSED =
- kmadd(kxxL,gamma132,kmadd(kxyL,gamma232,kadd(JacPDstandard2nd1kyz,knmsub(kyzL,gamma221,knmsub(kzzL,gamma321,kmsub(kxzL,ksub(gamma332,gamma121),JacPDstandard2nd3kxy))))));
+ kmadd(kxxL,gamma132,knmsub(kyzL,gamma221,kmadd(kxyL,gamma232,knmsub(kzzL,gamma321,kmadd(kxzL,ksub(gamma332,gamma121),ksub(JacPDstandard2nd1kyz,JacPDstandard2nd3kxy))))));
CCTK_REAL_VEC Ro221 CCTK_ATTRIBUTE_UNUSED =
- kmadd(kyyL,gamma221,kmadd(kyzL,gamma321,kadd(JacPDstandard2nd2kxy,knmsub(kxxL,gamma122,knmsub(kxzL,gamma322,kmsub(kxyL,ksub(gamma121,gamma222),JacPDstandard2nd1kyy))))));
+ knmsub(kxxL,gamma122,kmadd(kyyL,gamma221,kmadd(kxyL,ksub(gamma121,gamma222),kmadd(kyzL,gamma321,knmsub(kxzL,gamma322,ksub(JacPDstandard2nd2kxy,JacPDstandard2nd1kyy))))));
CCTK_REAL_VEC Ro222 CCTK_ATTRIBUTE_UNUSED = ToReal(0);
CCTK_REAL_VEC Ro223 CCTK_ATTRIBUTE_UNUSED =
- kmadd(kxyL,gamma132,kmadd(kyyL,gamma232,kadd(JacPDstandard2nd2kyz,knmsub(kxzL,gamma122,knmsub(kzzL,gamma322,kmsub(kyzL,ksub(gamma332,gamma222),JacPDstandard2nd3kyy))))));
+ knmsub(kxzL,gamma122,kmadd(kxyL,gamma132,kmadd(kyyL,gamma232,knmsub(kzzL,gamma322,kmadd(kyzL,ksub(gamma332,gamma222),ksub(JacPDstandard2nd2kyz,JacPDstandard2nd3kyy))))));
CCTK_REAL_VEC Ro231 CCTK_ATTRIBUTE_UNUSED =
- kmadd(kyzL,gamma221,kmadd(kzzL,gamma321,kadd(JacPDstandard2nd3kxy,knmsub(kxxL,gamma132,knmsub(kxyL,gamma232,kmsub(kxzL,ksub(gamma121,gamma332),JacPDstandard2nd1kyz))))));
+ knmsub(kxxL,gamma132,kmadd(kyzL,gamma221,knmsub(kxyL,gamma232,kmadd(kzzL,gamma321,kmadd(kxzL,ksub(gamma121,gamma332),ksub(JacPDstandard2nd3kxy,JacPDstandard2nd1kyz))))));
CCTK_REAL_VEC Ro232 CCTK_ATTRIBUTE_UNUSED =
- kmadd(kxzL,gamma122,kmadd(kzzL,gamma322,kadd(JacPDstandard2nd3kyy,knmsub(kxyL,gamma132,knmsub(kyyL,gamma232,kmsub(kyzL,ksub(gamma222,gamma332),JacPDstandard2nd2kyz))))));
+ kmadd(kxzL,gamma122,knmsub(kxyL,gamma132,knmsub(kyyL,gamma232,kmadd(kzzL,gamma322,kmadd(kyzL,ksub(gamma222,gamma332),ksub(JacPDstandard2nd3kyy,JacPDstandard2nd2kyz))))));
CCTK_REAL_VEC Ro233 CCTK_ATTRIBUTE_UNUSED = ToReal(0);
CCTK_REAL_VEC Ro311 CCTK_ATTRIBUTE_UNUSED = ToReal(0);
CCTK_REAL_VEC Ro312 CCTK_ATTRIBUTE_UNUSED =
- kmadd(kxxL,gamma132,kmadd(kxzL,gamma332,kadd(JacPDstandard2nd1kyz,knmsub(kyyL,gamma231,knmsub(kyzL,gamma331,kmsub(kxyL,ksub(gamma232,gamma131),JacPDstandard2nd2kxz))))));
+ kmadd(kxxL,gamma132,knmsub(kyyL,gamma231,kmadd(kxyL,ksub(gamma232,gamma131),knmsub(kyzL,gamma331,kmadd(kxzL,gamma332,ksub(JacPDstandard2nd1kyz,JacPDstandard2nd2kxz))))));
CCTK_REAL_VEC Ro313 CCTK_ATTRIBUTE_UNUSED =
- kmadd(kxxL,gamma133,kmadd(kxyL,gamma233,kadd(JacPDstandard2nd1kzz,knmsub(kyzL,gamma231,knmsub(kzzL,gamma331,kmsub(kxzL,ksub(gamma333,gamma131),JacPDstandard2nd3kxz))))));
+ kmadd(kxxL,gamma133,knmsub(kyzL,gamma231,kmadd(kxyL,gamma233,knmsub(kzzL,gamma331,kmadd(kxzL,ksub(gamma333,gamma131),ksub(JacPDstandard2nd1kzz,JacPDstandard2nd3kxz))))));
CCTK_REAL_VEC Ro321 CCTK_ATTRIBUTE_UNUSED =
- kmadd(kyyL,gamma231,kmadd(kyzL,gamma331,kadd(JacPDstandard2nd2kxz,knmsub(kxxL,gamma132,knmsub(kxzL,gamma332,kmsub(kxyL,ksub(gamma131,gamma232),JacPDstandard2nd1kyz))))));
+ knmsub(kxxL,gamma132,kmadd(kyyL,gamma231,kmadd(kxyL,ksub(gamma131,gamma232),kmadd(kyzL,gamma331,knmsub(kxzL,gamma332,ksub(JacPDstandard2nd2kxz,JacPDstandard2nd1kyz))))));
CCTK_REAL_VEC Ro322 CCTK_ATTRIBUTE_UNUSED = ToReal(0);
CCTK_REAL_VEC Ro323 CCTK_ATTRIBUTE_UNUSED =
- kmadd(kxyL,gamma133,kmadd(kyyL,gamma233,kadd(JacPDstandard2nd2kzz,knmsub(kxzL,gamma132,knmsub(kzzL,gamma332,kmsub(kyzL,ksub(gamma333,gamma232),JacPDstandard2nd3kyz))))));
+ knmsub(kxzL,gamma132,kmadd(kxyL,gamma133,kmadd(kyyL,gamma233,knmsub(kzzL,gamma332,kmadd(kyzL,ksub(gamma333,gamma232),ksub(JacPDstandard2nd2kzz,JacPDstandard2nd3kyz))))));
CCTK_REAL_VEC Ro331 CCTK_ATTRIBUTE_UNUSED =
- kmadd(kyzL,gamma231,kmadd(kzzL,gamma331,kadd(JacPDstandard2nd3kxz,knmsub(kxxL,gamma133,knmsub(kxyL,gamma233,kmsub(kxzL,ksub(gamma131,gamma333),JacPDstandard2nd1kzz))))));
+ knmsub(kxxL,gamma133,kmadd(kyzL,gamma231,knmsub(kxyL,gamma233,kmadd(kzzL,gamma331,kmadd(kxzL,ksub(gamma131,gamma333),ksub(JacPDstandard2nd3kxz,JacPDstandard2nd1kzz))))));
CCTK_REAL_VEC Ro332 CCTK_ATTRIBUTE_UNUSED =
- kmadd(kxzL,gamma132,kmadd(kzzL,gamma332,kadd(JacPDstandard2nd3kyz,knmsub(kxyL,gamma133,knmsub(kyyL,gamma233,kmsub(kyzL,ksub(gamma232,gamma333),JacPDstandard2nd2kzz))))));
+ kmadd(kxzL,gamma132,knmsub(kxyL,gamma133,knmsub(kyyL,gamma233,kmadd(kzzL,gamma332,kmadd(kyzL,ksub(gamma232,gamma333),ksub(JacPDstandard2nd3kyz,JacPDstandard2nd2kzz))))));
CCTK_REAL_VEC Ro333 CCTK_ATTRIBUTE_UNUSED = ToReal(0);
CCTK_REAL_VEC Rojo11 CCTK_ATTRIBUTE_UNUSED =
- kmadd(kadd(gInv23,gInv32),kmadd(kxxL,kyzL,knmsub(kxyL,kxzL,R1213)),kmadd(gInv22,kmadd(kxxL,kyyL,knmsub(kxyL,kxyL,R1212)),kmul(gInv33,kmadd(kxxL,kzzL,knmsub(kxzL,kxzL,R1313)))));
+ kmadd(kadd(gInv23,gInv32),knmsub(kxyL,kxzL,kmadd(kxxL,kyzL,R1213)),kmadd(gInv22,kmadd(kxxL,kyyL,knmsub(kxyL,kxyL,R1212)),kmul(gInv33,kmadd(kxxL,kzzL,knmsub(kxzL,kxzL,R1313)))));
CCTK_REAL_VEC Rojo12 CCTK_ATTRIBUTE_UNUSED =
- kmadd(gInv23,R1223,knmsub(gInv21,R1212,knmsub(gInv31,R1213,kmadd(gInv12,kmsub(kxyL,kxyL,kmul(kxxL,kyyL)),kmadd(gInv32,kmsub(kxyL,kyzL,kmul(kxzL,kyyL)),kmadd(gInv13,kmsub(kxyL,kxzL,kmul(kxxL,kyzL)),kmul(gInv33,kmadd(kxyL,kzzL,knmsub(kxzL,kyzL,R1323)))))))));
+ kmadd(kmsub(kxyL,kxzL,kmul(kxxL,kyzL)),gInv13,kmadd(kmsub(kxyL,kyzL,kmul(kxzL,kyyL)),gInv32,knmsub(gInv21,R1212,knmsub(gInv31,R1213,kmadd(gInv23,R1223,kmadd(gInv33,knmsub(kxzL,kyzL,kmadd(kxyL,kzzL,R1323)),kmul(gInv12,kmsub(kxyL,kxyL,kmul(kxxL,kyyL)))))))));
CCTK_REAL_VEC Rojo13 CCTK_ATTRIBUTE_UNUSED =
- kmadd(kxzL,kmul(kyzL,gInv23),kmadd(gInv13,kmul(kxzL,kxzL),knmsub(gInv21,R1213,knmsub(gInv31,R1313,knmsub(gInv32,R1323,kmadd(gInv12,kmsub(kxyL,kxzL,kmul(kxxL,kyzL)),kmsub(gInv22,kmsub(kxzL,kyyL,kmadd(kxyL,kyzL,R1223)),kmul(kzzL,kmadd(kxyL,gInv23,kmul(kxxL,gInv13))))))))));
+ kmadd(kmsub(kxyL,kxzL,kmul(kxxL,kyzL)),gInv12,kmadd(kmsub(kxzL,kyzL,kmul(kxyL,kzzL)),gInv23,knmsub(gInv21,R1213,kmadd(gInv22,kmsub(kxzL,kyyL,kmadd(kxyL,kyzL,R1223)),knmsub(gInv31,R1313,kmsub(gInv13,kmsub(kxzL,kxzL,kmul(kxxL,kzzL)),kmul(gInv32,R1323)))))));
CCTK_REAL_VEC Rojo21 CCTK_ATTRIBUTE_UNUSED =
- kmadd(gInv32,R1223,knmsub(gInv12,R1212,knmsub(gInv13,R1213,kmadd(gInv21,kmsub(kxyL,kxyL,kmul(kxxL,kyyL)),kmadd(gInv23,kmsub(kxyL,kyzL,kmul(kxzL,kyyL)),kmadd(gInv31,kmsub(kxyL,kxzL,kmul(kxxL,kyzL)),kmul(gInv33,kmadd(kxyL,kzzL,knmsub(kxzL,kyzL,R1323)))))))));
+ kmadd(kmsub(kxyL,kyzL,kmul(kxzL,kyyL)),gInv23,kmadd(kmsub(kxyL,kxzL,kmul(kxxL,kyzL)),gInv31,knmsub(gInv12,R1212,knmsub(gInv13,R1213,kmadd(gInv32,R1223,kmadd(gInv33,knmsub(kxzL,kyzL,kmadd(kxyL,kzzL,R1323)),kmul(gInv21,kmsub(kxyL,kxyL,kmul(kxxL,kyyL)))))))));
CCTK_REAL_VEC Rojo22 CCTK_ATTRIBUTE_UNUSED =
kmadd(kadd(gInv13,gInv31),kmsub(kxzL,kyyL,kmadd(kxyL,kyzL,R1223)),kmadd(gInv11,kmadd(kxxL,kyyL,knmsub(kxyL,kxyL,R1212)),kmul(gInv33,kmadd(kyyL,kzzL,knmsub(kyzL,kyzL,R2323)))));
CCTK_REAL_VEC Rojo23 CCTK_ATTRIBUTE_UNUSED =
- kmadd(gInv12,R1223,knmsub(gInv31,R1323,knmsub(gInv32,R2323,kmadd(gInv11,kmadd(kxxL,kyzL,knmsub(kxyL,kxzL,R1213)),kmadd(gInv21,kmsub(kxyL,kyzL,kmul(kxzL,kyyL)),kmadd(gInv13,kmsub(kxzL,kyzL,kmul(kxyL,kzzL)),kmul(gInv23,kmsub(kyzL,kyzL,kmul(kyyL,kzzL)))))))));
+ kmadd(kmsub(kxzL,kyzL,kmul(kxyL,kzzL)),gInv13,kmadd(kmsub(kxyL,kyzL,kmul(kxzL,kyyL)),gInv21,kmadd(gInv11,knmsub(kxyL,kxzL,kmadd(kxxL,kyzL,R1213)),kmadd(gInv12,R1223,knmsub(gInv31,R1323,kmsub(gInv23,kmsub(kyzL,kyzL,kmul(kyyL,kzzL)),kmul(gInv32,R2323)))))));
CCTK_REAL_VEC Rojo31 CCTK_ATTRIBUTE_UNUSED =
- kmadd(kxzL,kmul(kyzL,gInv32),kmadd(gInv31,kmul(kxzL,kxzL),knmsub(gInv12,R1213,knmsub(gInv13,R1313,knmsub(gInv23,R1323,kmadd(gInv21,kmsub(kxyL,kxzL,kmul(kxxL,kyzL)),kmsub(gInv22,kmsub(kxzL,kyyL,kmadd(kxyL,kyzL,R1223)),kmul(kzzL,kmadd(kxyL,gInv32,kmul(kxxL,gInv31))))))))));
+ kmadd(kmsub(kxyL,kxzL,kmul(kxxL,kyzL)),gInv21,kmadd(kmsub(kxzL,kyzL,kmul(kxyL,kzzL)),gInv32,knmsub(gInv12,R1213,kmadd(gInv22,kmsub(kxzL,kyyL,kmadd(kxyL,kyzL,R1223)),knmsub(gInv13,R1313,kmsub(gInv31,kmsub(kxzL,kxzL,kmul(kxxL,kzzL)),kmul(gInv23,R1323)))))));
CCTK_REAL_VEC Rojo32 CCTK_ATTRIBUTE_UNUSED =
- kmadd(gInv21,R1223,knmsub(gInv13,R1323,knmsub(gInv23,R2323,kmadd(gInv11,kmadd(kxxL,kyzL,knmsub(kxyL,kxzL,R1213)),kmadd(gInv12,kmsub(kxyL,kyzL,kmul(kxzL,kyyL)),kmadd(gInv31,kmsub(kxzL,kyzL,kmul(kxyL,kzzL)),kmul(gInv32,kmsub(kyzL,kyzL,kmul(kyyL,kzzL)))))))));
+ kmadd(kmsub(kxyL,kyzL,kmul(kxzL,kyyL)),gInv12,kmadd(kmsub(kxzL,kyzL,kmul(kxyL,kzzL)),gInv31,kmadd(gInv11,knmsub(kxyL,kxzL,kmadd(kxxL,kyzL,R1213)),kmadd(gInv21,R1223,knmsub(gInv13,R1323,kmsub(gInv32,kmsub(kyzL,kyzL,kmul(kyyL,kzzL)),kmul(gInv23,R2323)))))));
CCTK_REAL_VEC Rojo33 CCTK_ATTRIBUTE_UNUSED =
- kmadd(kadd(gInv12,gInv21),kmadd(kxyL,kzzL,knmsub(kxzL,kyzL,R1323)),kmadd(gInv11,kmadd(kxxL,kzzL,knmsub(kxzL,kxzL,R1313)),kmul(gInv22,kmadd(kyyL,kzzL,knmsub(kyzL,kyzL,R2323)))));
+ kmadd(kadd(gInv12,gInv21),knmsub(kxzL,kyzL,kmadd(kxyL,kzzL,R1323)),kmadd(gInv11,kmadd(kxxL,kzzL,knmsub(kxzL,kxzL,R1313)),kmul(gInv22,kmadd(kyyL,kzzL,knmsub(kyzL,kyzL,R2323)))));
CCTK_REAL_VEC Psi4rL CCTK_ATTRIBUTE_UNUSED =
- knmsub(kmadd(R4p1212,kmul(n1,n1),kmadd(R4p2323,kmul(n3,n3),kmul(n1,kmul(n3,kmul(R4p1223,ToReal(-2)))))),kmsub(imbar2,imbar2,kmul(rmbar2,rmbar2)),knmsub(kmul(nn,nn),kmadd(imbar1,kmadd(imbar2,kadd(Rojo12,Rojo21),kmul(imbar3,kadd(Rojo13,Rojo31))),knmsub(rmbar1,kmadd(rmbar2,kadd(Rojo12,Rojo21),kmul(rmbar3,kadd(Rojo13,Rojo31))),kmadd(Rojo23,kmsub(imbar2,imbar3,kmul(rmbar2,rmbar3)),kmadd(Rojo32,kmsub(imbar2,imbar3,kmul(rmbar2,rmbar3)),kmadd(Rojo11,kmsub(imbar1,imbar1,kmul(rmbar1,rmbar1)),kmadd(Rojo22,kmsub(imbar2,imbar2,kmul(rmbar2,rmbar2)),kmul(Rojo33,kmsub(imbar3,imbar3,kmul(rmbar3,rmbar3))))))))),kmsub(kmadd(kmsub(n1,kmadd(n2,R4p1212,kmul(n3,R4p1213)),kmul(n3,kmadd(n2,R4p1223,kmul(n3,R4p1323)))),kmsub(imbar1,imbar2,kmul(rmbar1,rmbar2)),kmadd(kmadd(n1,kmul(n2,R4p1213),kmadd(n1,kmul(n3,R4p1313),kmadd(n2,kmul(n3,R4p1323),kmul(R4p1223,kmul(n2,n2))))),kmsub(imbar1,imbar3,kmul(rmbar1,rmbar3)),kmadd(kmsub(rmbar2,rmbar3,kmul(imbar2,imbar3)),kmadd(R4p1213,kmul(n1,n1),kmsub(n1,kmsub(n2,R4p1223,kmul(n3,R4p1323)),kmul(n2,kmul(n3,R4p2323)))),kmul(nn,kmadd(kmadd(n1,Ro112,kmadd(n2,Ro122,kmul(n3,Ro132))),kmsub(rmbar1,rmbar2,kmul(imbar1,imbar2)),kmadd(kmadd(n1,Ro211,kmadd(n2,Ro221,kmul(n3,Ro231))),kmsub(rmbar1,rmbar2,kmul(imbar1,imbar2)),kmadd(kmadd(n1,Ro113,kmadd(n2,Ro123,kmul(n3,Ro133))),kmsub(rmbar1,rmbar3,kmul(imbar1,imbar3)),kmadd(kmadd(n1,Ro311,kmadd(n2,Ro321,kmul(n3,Ro331))),kmsub(rmbar1,rmbar3,kmul(imbar1,imbar3)),kmadd(kmadd(n1,Ro213,kmadd(n2,Ro223,kmul(n3,Ro233))),kmsub(rmbar2,rmbar3,kmul(imbar2,imbar3)),kmadd(kmadd(n1,Ro312,kmadd(n2,Ro322,kmul(n3,Ro332))),kmsub(rmbar2,rmbar3,kmul(imbar2,imbar3)),kmadd(kmadd(n1,Ro111,kmadd(n2,Ro121,kmul(n3,Ro131))),kmsub(rmbar1,rmbar1,kmul(imbar1,imbar1)),kmadd(kmadd(n1,Ro212,kmadd(n2,Ro222,kmul(n3,Ro232))),kmsub(rmbar2,rmbar2,kmul(imbar2,imbar2)),kmul(kmadd(n1,Ro313,kmadd(n2,Ro323,kmul(n3,Ro333))),kmsub(rmbar3,rmbar3,kmul(imbar3,imbar3))))))))))))))),ToReal(2),kmadd(kmsub(imbar3,imbar3,kmul(rmbar3,rmbar3)),kmadd(R4p1313,kmul(n1,n1),kmadd(R4p2323,kmul(n2,n2),kmul(n1,kmul(n2,kmul(R4p1323,ToReal(2)))))),kmul(kmsub(imbar1,imbar1,kmul(rmbar1,rmbar1)),kmadd(R4p1212,kmul(n2,n2),kmadd(R4p1313,kmul(n3,n3),kmul(n2,kmul(n3,kmul(R4p1213,ToReal(2)))))))))));
+ kmadd(ToReal(2),kmul(kmsub(imbar1,imbar2,kmul(rmbar1,rmbar2)),kmsub(n1,kmadd(n2,R4p1212,kmul(n3,R4p1213)),kmul(n3,kmadd(n2,R4p1223,kmul(n3,R4p1323))))),kmadd(ToReal(2),kmul(kmadd(n1,kmsub(n2,R4p1223,kmul(n3,R4p1323)),kmsub(R4p1213,kmul(n1,n1),kmul(n2,kmul(n3,R4p2323)))),kmsub(rmbar2,rmbar3,kmul(imbar2,imbar3))),kmadd(ToReal(2),kmul(kmadd(n1,kmul(n2,R4p1213),kmadd(n1,kmul(n3,R4p1313),kmadd(n2,kmul(n3,R4p1323),kmul(R4p1223,kmul(n2,n2))))),kmsub(imbar1,imbar3,kmul(rmbar1,rmbar3))),knmsub(kmadd(ToReal(2),kmul(n2,kmul(n3,R4p1213)),kmadd(R4p1212,kmul(n2,n2),kmul(R4p1313,kmul(n3,n3)))),kmsub(imbar1,imbar1,kmul(rmbar1,rmbar1)),knmsub(kmadd(ToReal(-2),kmul(n1,kmul(n3,R4p1223)),kmadd(R4p1212,kmul(n1,n1),kmul(R4p2323,kmul(n3,n3)))),kmsub(imbar2,imbar2,kmul(rmbar2,rmbar2)),knmsub(kmul(nn,nn),kmadd(kmsub(imbar2,imbar3,kmul(rmbar2,rmbar3)),Rojo23,kmadd(imbar1,kmadd(imbar2,kadd(Rojo12,Rojo21),kmul(imbar3,kadd(Rojo13,Rojo31))),knmsub(rmbar1,kmadd(rmbar2,kadd(Rojo12,Rojo21),kmul(rmbar3,kadd(Rojo13,Rojo31))),kmadd(kmsub(imbar2,imbar3,kmul(rmbar2,rmbar3)),Rojo32,kmadd(Rojo11,kmsub(imbar1,imbar1,kmul(rmbar1,rmbar1)),kmadd(Rojo22,kmsub(imbar2,imbar2,kmul(rmbar2,rmbar2)),kmul(Rojo33,kmsub(imbar3,imbar3,kmul(rmbar3,rmbar3))))))))),kmsub(ToReal(2),kmul(nn,kmadd(kmsub(rmbar1,rmbar2,kmul(imbar1,imbar2)),kmadd(n1,Ro112,kmadd(n2,Ro122,kmul(n3,Ro132))),kmadd(kmsub(rmbar1,rmbar3,kmul(imbar1,imbar3)),kmadd(n1,Ro113,kmadd(n2,Ro123,kmul(n3,Ro133))),kmadd(kmsub(rmbar1,rmbar2,kmul(imbar1,imbar2)),kmadd(n1,Ro211,kmadd(n2,Ro221,kmul(n3,Ro231))),kmadd(kmsub(rmbar2,rmbar3,kmul(imbar2,imbar3)),kmadd(n1,Ro213,kmadd(n2,Ro223,kmul(n3,Ro233))),kmadd(kmsub(rmbar1,rmbar3,kmul(imbar1,imbar3)),kmadd(n1,Ro311,kmadd(n2,Ro321,kmul(n3,Ro331))),kmadd(kmsub(rmbar2,rmbar3,kmul(imbar2,imbar3)),kmadd(n1,Ro312,kmadd(n2,Ro322,kmul(n3,Ro332))),kmadd(kmadd(n1,Ro111,kmadd(n2,Ro121,kmul(n3,Ro131))),kmsub(rmbar1,rmbar1,kmul(imbar1,imbar1)),kmadd(kmadd(n1,Ro212,kmadd(n2,Ro222,kmul(n3,Ro232))),kmsub(rmbar2,rmbar2,kmul(imbar2,imbar2)),kmul(kmadd(n1,Ro313,kmadd(n2,Ro323,kmul(n3,Ro333))),kmsub(rmbar3,rmbar3,kmul(imbar3,imbar3)))))))))))),kmul(kmadd(ToReal(2),kmul(n1,kmul(n2,R4p1323)),kmadd(R4p1313,kmul(n1,n1),kmul(R4p2323,kmul(n2,n2)))),kmsub(imbar3,imbar3,kmul(rmbar3,rmbar3))))))))));
CCTK_REAL_VEC Psi4iL CCTK_ATTRIBUTE_UNUSED =
- kmadd(kmadd(kmadd(im3,rm1,kmul(im1,rm3)),kmadd(n1,kmadd(n2,R4p1213,kmul(n3,R4p1313)),kmadd(n2,kmul(n3,R4p1323),kmul(R4p1223,kmul(n2,n2)))),kmadd(kmadd(im2,rm1,kmul(im1,rm2)),kmsub(n1,kmadd(n2,R4p1212,kmul(n3,R4p1213)),kmul(n3,kmadd(n2,R4p1223,kmul(n3,R4p1323)))),kmul(nn,kmadd(kmadd(im1,kmul(rm1,kmadd(n1,Ro111,kmadd(n2,Ro121,kmul(n3,Ro131)))),kmul(im2,kmul(rm2,kmadd(n1,Ro212,kmadd(n2,Ro222,kmul(n3,Ro232)))))),ToReal(-2),kmsub(im3,kmul(rm3,kmul(kmadd(n1,Ro313,kmadd(n2,Ro323,kmul(n3,Ro333))),ToReal(-2))),kmadd(kmadd(im2,rm1,kmul(im1,rm2)),kmadd(n1,kadd(Ro211,Ro112),kmadd(n3,kadd(Ro231,Ro132),kmul(n2,kadd(Ro221,Ro122)))),kmadd(kmadd(im3,rm2,kmul(im2,rm3)),kmadd(n1,kadd(Ro312,Ro213),kmadd(n3,kadd(Ro332,Ro233),kmul(n2,kadd(Ro322,Ro223)))),kmul(kmadd(im3,rm1,kmul(im1,rm3)),kmadd(n1,kadd(Ro311,Ro113),kmadd(n3,kadd(Ro331,Ro133),kmul(n2,kadd(Ro321,Ro123)))))))))))),ToReal(2),kmsub(ToReal(-2),kmadd(im2,kmul(rm2,kmadd(R4p1212,kmul(n1,n1),kmadd(R4p2323,kmul(n3,n3),kmul(n1,kmul(n3,kmul(R4p1223,ToReal(-2))))))),kmadd(kmadd(im3,rm2,kmul(im2,rm3)),kmadd(R4p1213,kmul(n1,n1),kmsub(n1,kmsub(n2,R4p1223,kmul(n3,R4p1323)),kmul(n2,kmul(n3,R4p2323)))),kmadd(im1,kmul(rm1,kmadd(R4p1212,kmul(n2,n2),kmadd(R4p1313,kmul(n3,n3),kmul(n2,kmul(n3,kmul(R4p1213,ToReal(2))))))),kmul(im3,kmul(rm3,kmadd(R4p1313,kmul(n1,n1),kmadd(R4p2323,kmul(n2,n2),kmul(n1,kmul(n2,kmul(R4p1323,ToReal(2))))))))))),kmul(kmul(nn,nn),kmadd(im1,kmadd(rm2,kadd(Rojo12,Rojo21),kmadd(rm3,kadd(Rojo13,Rojo31),kmul(rm1,kmul(Rojo11,ToReal(2))))),kmadd(im2,kmadd(rm1,kadd(Rojo12,Rojo21),kmadd(rm3,kadd(Rojo23,Rojo32),kmul(rm2,kmul(Rojo22,ToReal(2))))),kmul(im3,kmadd(rm1,kadd(Rojo13,Rojo31),kmadd(rm2,kadd(Rojo23,Rojo32),kmul(rm3,kmul(Rojo33,ToReal(2)))))))))));
+ kmadd(ToReal(2),kmadd(kmsub(n1,kmadd(n2,R4p1212,kmul(n3,R4p1213)),kmul(n3,kmadd(n2,R4p1223,kmul(n3,R4p1323)))),kmadd(im2,rm1,kmul(im1,rm2)),kmadd(nn,knmsub(kmadd(im2,rm1,kmul(im1,rm2)),kmadd(n1,kadd(Ro112,Ro211),kmadd(n3,kadd(Ro132,Ro231),kmul(n2,kadd(Ro122,Ro221)))),kmadd(ToReal(-2),kmadd(im1,kmul(rm1,kmadd(n1,Ro111,kmadd(n2,Ro121,kmul(n3,Ro131)))),kmul(im2,kmul(rm2,kmadd(n1,Ro212,kmadd(n2,Ro222,kmul(n3,Ro232)))))),knmsub(kmadd(im3,rm1,kmul(im1,rm3)),kmadd(n1,kadd(Ro113,Ro311),kmadd(n3,kadd(Ro133,Ro331),kmul(n2,kadd(Ro123,Ro321)))),kmsub(ToReal(-2),kmul(im3,kmul(rm3,kmadd(n1,Ro313,kmadd(n2,Ro323,kmul(n3,Ro333))))),kmul(kmadd(im3,rm2,kmul(im2,rm3)),kmadd(n1,kadd(Ro213,Ro312),kmadd(n3,kadd(Ro233,Ro332),kmul(n2,kadd(Ro223,Ro322))))))))),kmul(kmadd(im3,rm1,kmul(im1,rm3)),kmadd(n1,kmadd(n2,R4p1213,kmul(n3,R4p1313)),kmadd(n2,kmul(n3,R4p1323),kmul(R4p1223,kmul(n2,n2))))))),kmsub(ToReal(-2),kmadd(kmadd(im3,rm2,kmul(im2,rm3)),kmadd(n1,kmsub(n2,R4p1223,kmul(n3,R4p1323)),kmsub(R4p1213,kmul(n1,n1),kmul(n2,kmul(n3,R4p2323)))),kmadd(im3,kmul(rm3,kmadd(ToReal(2),kmul(n1,kmul(n2,R4p1323)),kmadd(R4p1313,kmul(n1,n1),kmul(R4p2323,kmul(n2,n2))))),kmadd(im1,kmul(rm1,kmadd(ToReal(2),kmul(n2,kmul(n3,R4p1213)),kmadd(R4p1212,kmul(n2,n2),kmul(R4p1313,kmul(n3,n3))))),kmul(im2,kmul(rm2,kmadd(ToReal(-2),kmul(n1,kmul(n3,R4p1223)),kmadd(R4p1212,kmul(n1,n1),kmul(R4p2323,kmul(n3,n3))))))))),kmul(kmadd(im1,kmadd(ToReal(2),kmul(rm1,Rojo11),kmadd(rm2,kadd(Rojo12,Rojo21),kmul(rm3,kadd(Rojo13,Rojo31)))),kmadd(im2,kmadd(rm1,kadd(Rojo12,Rojo21),kmadd(ToReal(2),kmul(rm2,Rojo22),kmul(rm3,kadd(Rojo23,Rojo32)))),kmul(im3,kmadd(rm1,kadd(Rojo13,Rojo31),kmadd(rm2,kadd(Rojo23,Rojo32),kmul(kmul(rm3,Rojo33),ToReal(2))))))),kmul(nn,nn))));
CCTK_REAL_VEC Psi3rL CCTK_ATTRIBUTE_UNUSED =
- knmsub(kmul(nn,nn),kmadd(kmadd(rm1,Rojo11,kmadd(rm2,Rojo12,kmul(rm3,Rojo13))),ksub(n1,ltet1),kmadd(kmadd(rm1,Rojo21,kmadd(rm2,Rojo22,kmul(rm3,Rojo23))),ksub(n2,ltet2),kmul(kmadd(rm1,Rojo31,kmadd(rm2,Rojo32,kmul(rm3,Rojo33))),ksub(n3,ltet3)))),kmadd(n3,kmadd(ltet1,kmadd(n2,kmul(R4p1213,rm1),kmadd(n3,kmul(R4p1313,rm1),kmadd(n2,kmul(R4p1223,rm2),kmul(n3,kmul(R4p1323,rm2))))),kmadd(nn,kmul(rm2,kmul(Ro223,kmadd(ltet2,ToReal(-2),n2))),kmadd(nn,kmul(rm3,kmul(Ro333,kmadd(ltet3,ToReal(-2),n3))),knmsub(ltet3,kmadd(n1,kmul(R4p1313,rm1),kmadd(n2,kmul(R4p1323,rm1),kmadd(n1,kmul(R4p1323,rm2),kmul(n2,kmul(R4p2323,rm2))))),kmadd(ltet2,kmsub(n3,kmadd(R4p1323,rm1,kmul(R4p2323,rm2)),kmul(n1,kmadd(R4p1213,rm1,kmul(R4p1223,rm2)))),kmadd(nn,kmul(Ro313,kmsub(rm1,ksub(n3,ltet3),kmul(ltet1,rm3))),kmadd(nn,kmul(Ro323,kmsub(rm2,ksub(n3,ltet3),kmul(ltet2,rm3))),kmul(nn,kmsub(rm1,kmul(Ro113,kmadd(ltet1,ToReal(-2),n1)),kmadd(Ro123,kmadd(ltet2,rm1,kmul(rm2,ksub(ltet1,n1))),kmadd(Ro133,kmadd(ltet3,rm1,kmul(rm3,ksub(ltet1,n1))),kmadd(Ro233,kmadd(ltet3,rm2,kmul(rm3,ksub(ltet2,n2))),kmul(Ro213,kmadd(ltet1,rm2,kmul(rm1,ksub(ltet2,n2)))))))))))))))),kmadd(n1,kmadd(ltet3,kmadd(n1,kmul(R4p1213,rm2),kmadd(n2,kmul(R4p1223,rm2),kmadd(n1,kmul(R4p1313,rm3),kmul(n2,kmul(R4p1323,rm3))))),kmadd(nn,kmul(rm2,kmul(Ro221,kmadd(ltet2,ToReal(-2),n2))),kmadd(nn,kmul(rm3,kmul(Ro331,kmadd(ltet3,ToReal(-2),n3))),knmsub(ltet1,kmadd(n2,kmul(R4p1212,rm2),kmadd(n3,kmul(R4p1213,rm2),kmadd(n2,kmul(R4p1213,rm3),kmul(n3,kmul(R4p1313,rm3))))),kmadd(ltet2,kmsub(n1,kmadd(R4p1212,rm2,kmul(R4p1213,rm3)),kmul(n3,kmadd(R4p1223,rm2,kmul(R4p1323,rm3)))),kmadd(nn,kmsub(Ro121,kmsub(rm2,ksub(n1,ltet1),kmul(ltet2,rm1)),kmul(Ro231,kmadd(ltet3,rm2,kmul(rm3,ksub(ltet2,n2))))),kmadd(nn,kmsub(Ro131,kmsub(rm3,ksub(n1,ltet1),kmul(ltet3,rm1)),kmul(Ro311,kmadd(ltet1,rm3,kmul(rm1,ksub(ltet3,n3))))),kmul(nn,kmsub(rm1,kmul(Ro111,kmadd(ltet1,ToReal(-2),n1)),kmadd(Ro321,kmadd(ltet2,rm3,kmul(rm2,ksub(ltet3,n3))),kmul(Ro211,kmadd(ltet1,rm2,kmul(rm1,ksub(ltet2,n2)))))))))))))),kmul(n2,kmadd(ltet3,kmadd(n1,kmul(R4p1323,rm3),kmsub(n2,kmul(R4p2323,rm3),kmul(rm1,kmadd(n2,R4p1223,kmul(n1,R4p1213))))),kmadd(ltet1,kmsub(kmadd(n2,R4p1212,kmul(n3,R4p1213)),rm1,kmul(rm3,kmadd(n3,R4p1323,kmul(n2,R4p1223)))),kmadd(ltet2,kmadd(rm1,kmsub(n3,R4p1223,kmul(n1,R4p1212)),kmul(rm3,kmsub(n1,R4p1223,kmul(n3,R4p2323)))),kmul(nn,kmadd(rm1,kmul(Ro112,kmadd(ltet1,ToReal(-2),n1)),kmadd(rm2,kmul(Ro222,kmadd(ltet2,ToReal(-2),n2)),kmadd(rm3,kmul(Ro332,kmadd(ltet3,ToReal(-2),n3)),kmadd(Ro212,kmsub(rm1,ksub(n2,ltet2),kmul(ltet1,rm2)),kmsub(Ro232,kmsub(rm3,ksub(n2,ltet2),kmul(ltet3,rm2)),kmadd(Ro122,kmadd(ltet2,rm1,kmul(rm2,ksub(ltet1,n1))),kmadd(Ro132,kmadd(ltet3,rm1,kmul(rm3,ksub(ltet1,n1))),kmadd(Ro322,kmadd(ltet2,rm3,kmul(rm2,ksub(ltet3,n3))),kmul(Ro312,kmadd(ltet1,rm3,kmul(rm1,ksub(ltet3,n3))))))))))))))))))));
+ kmadd(n1,knmsub(ltet1,kmadd(n2,kmul(R4p1212,rm2),kmadd(n3,kmul(R4p1213,rm2),kmadd(n2,kmul(R4p1213,rm3),kmul(n3,kmul(R4p1313,rm3))))),kmadd(ltet3,kmadd(n1,kmul(R4p1213,rm2),kmadd(n2,kmul(R4p1223,rm2),kmadd(n1,kmul(R4p1313,rm3),kmul(n2,kmul(R4p1323,rm3))))),kmadd(ltet2,kmsub(n1,kmadd(R4p1212,rm2,kmul(R4p1213,rm3)),kmul(n3,kmadd(R4p1223,rm2,kmul(R4p1323,rm3)))),kmadd(kmadd(ToReal(-2),ltet2,n2),kmul(nn,kmul(rm2,Ro221)),kmadd(nn,kmsub(kmsub(ksub(n1,ltet1),rm2,kmul(ltet2,rm1)),Ro121,kmul(Ro231,kmadd(ltet3,rm2,kmul(ksub(ltet2,n2),rm3)))),kmadd(nn,kmsub(kmsub(ksub(n1,ltet1),rm3,kmul(ltet3,rm1)),Ro131,kmul(Ro311,kmadd(ksub(ltet3,n3),rm1,kmul(ltet1,rm3)))),kmadd(nn,kmsub(kmadd(ToReal(-2),ltet1,n1),kmul(rm1,Ro111),kmadd(kmadd(ksub(ltet3,n3),rm2,kmul(ltet2,rm3)),Ro321,kmul(Ro211,kmadd(ksub(ltet2,n2),rm1,kmul(ltet1,rm2))))),kmul(kmadd(ToReal(-2),ltet3,n3),kmul(nn,kmul(rm3,Ro331)))))))))),kmadd(n2,kmadd(ltet1,kmsub(kmadd(n2,R4p1212,kmul(n3,R4p1213)),rm1,kmul(rm3,kmadd(n3,R4p1323,kmul(n2,R4p1223)))),kmadd(ltet3,knmsub(kmadd(n2,R4p1223,kmul(n1,R4p1213)),rm1,kmadd(n1,kmul(R4p1323,rm3),kmul(n2,kmul(R4p2323,rm3)))),kmadd(ltet2,kmadd(kmsub(n3,R4p1223,kmul(n1,R4p1212)),rm1,kmul(rm3,kmsub(n1,R4p1223,kmul(n3,R4p2323)))),kmul(nn,kmadd(kmadd(ToReal(-2),ltet1,n1),kmul(rm1,Ro112),knmsub(kmadd(ltet2,rm1,kmul(rm2,ksub(ltet1,n1))),Ro122,knmsub(kmadd(ltet3,rm1,kmul(rm3,ksub(ltet1,n1))),Ro132,kmadd(kmsub(ksub(n2,ltet2),rm1,kmul(ltet1,rm2)),Ro212,kmadd(kmadd(ToReal(-2),ltet2,n2),kmul(rm2,Ro222),kmadd(kmsub(ksub(n2,ltet2),rm3,kmul(ltet3,rm2)),Ro232,knmsub(kmadd(ksub(ltet3,n3),rm1,kmul(ltet1,rm3)),Ro312,kmsub(kmadd(ToReal(-2),ltet3,n3),kmul(rm3,Ro332),kmul(Ro322,kmadd(ksub(ltet3,n3),rm2,kmul(ltet2,rm3))))))))))))))),kmsub(n3,kmadd(ltet1,kmadd(n2,kmul(R4p1213,rm1),kmadd(n3,kmul(R4p1313,rm1),kmadd(n2,kmul(R4p1223,rm2),kmul(n3,kmul(R4p1323,rm2))))),knmsub(ltet3,kmadd(n1,kmul(R4p1313,rm1),kmadd(n2,kmul(R4p1323,rm1),kmadd(n1,kmul(R4p1323,rm2),kmul(n2,kmul(R4p2323,rm2))))),kmadd(ltet2,kmsub(n3,kmadd(R4p1323,rm1,kmul(R4p2323,rm2)),kmul(n1,kmadd(R4p1213,rm1,kmul(R4p1223,rm2)))),kmadd(kmadd(ToReal(-2),ltet2,n2),kmul(nn,kmul(rm2,Ro223)),kmadd(nn,kmsub(kmadd(ToReal(-2),ltet1,n1),kmul(rm1,Ro113),kmadd(kmadd(ltet2,rm1,kmul(rm2,ksub(ltet1,n1))),Ro123,kmadd(kmadd(ltet3,rm1,kmul(rm3,ksub(ltet1,n1))),Ro133,kmadd(kmadd(ltet3,rm2,kmul(rm3,ksub(ltet2,n2))),Ro233,kmul(Ro213,kmadd(ksub(ltet2,n2),rm1,kmul(ltet1,rm2))))))),kmadd(nn,kmul(Ro313,kmsub(ksub(n3,ltet3),rm1,kmul(ltet1,rm3))),kmadd(nn,kmul(Ro323,kmsub(ksub(n3,ltet3),rm2,kmul(ltet2,rm3))),kmul(kmadd(ToReal(-2),ltet3,n3),kmul(nn,kmul(rm3,Ro333)))))))))),kmul(kmadd(ksub(n1,ltet1),kmadd(rm1,Rojo11,kmadd(rm2,Rojo12,kmul(rm3,Rojo13))),kmadd(ksub(n2,ltet2),kmadd(rm1,Rojo21,kmadd(rm2,Rojo22,kmul(rm3,Rojo23))),kmul(kmadd(rm1,Rojo31,kmadd(rm2,Rojo32,kmul(rm3,Rojo33))),ksub(n3,ltet3)))),kmul(nn,nn)))));
CCTK_REAL_VEC Psi3iL CCTK_ATTRIBUTE_UNUSED =
- kmadd(kmul(nn,nn),kmadd(kmadd(im1,Rojo11,kmadd(im2,Rojo12,kmul(im3,Rojo13))),ksub(n1,ltet1),kmadd(kmadd(im1,Rojo21,kmadd(im2,Rojo22,kmul(im3,Rojo23))),ksub(n2,ltet2),kmul(kmadd(im1,Rojo31,kmadd(im2,Rojo32,kmul(im3,Rojo33))),ksub(n3,ltet3)))),kmadd(n1,kmul(nn,kmul(Ro121,kmadd(im1,ltet2,kmul(im2,ksub(ltet1,n1))))),kmadd(n2,kmul(nn,kmul(Ro122,kmadd(im1,ltet2,kmul(im2,ksub(ltet1,n1))))),kmadd(n3,kmul(nn,kmul(Ro123,kmadd(im1,ltet2,kmul(im2,ksub(ltet1,n1))))),kmadd(n1,kmul(nn,kmul(Ro131,kmadd(im1,ltet3,kmul(im3,ksub(ltet1,n1))))),kmadd(n2,kmul(nn,kmul(Ro132,kmadd(im1,ltet3,kmul(im3,ksub(ltet1,n1))))),kmadd(n3,kmul(nn,kmul(Ro133,kmadd(im1,ltet3,kmul(im3,ksub(ltet1,n1))))),kmadd(n1,kmul(nn,kmul(Ro211,kmadd(im2,ltet1,kmul(im1,ksub(ltet2,n2))))),kmadd(n2,kmul(nn,kmul(Ro212,kmadd(im2,ltet1,kmul(im1,ksub(ltet2,n2))))),kmadd(n3,kmul(nn,kmul(Ro213,kmadd(im2,ltet1,kmul(im1,ksub(ltet2,n2))))),kmadd(n1,kmul(nn,kmul(Ro231,kmadd(im2,ltet3,kmul(im3,ksub(ltet2,n2))))),kmadd(n2,kmul(nn,kmul(Ro232,kmadd(im2,ltet3,kmul(im3,ksub(ltet2,n2))))),kmadd(n3,kmul(nn,kmul(Ro233,kmadd(im2,ltet3,kmul(im3,ksub(ltet2,n2))))),kmadd(n1,kmul(nn,kmul(Ro311,kmadd(im3,ltet1,kmul(im1,ksub(ltet3,n3))))),kmadd(n2,kmul(nn,kmul(Ro312,kmadd(im3,ltet1,kmul(im1,ksub(ltet3,n3))))),kmadd(n3,kmul(nn,kmul(Ro313,kmadd(im3,ltet1,kmul(im1,ksub(ltet3,n3))))),kmadd(n1,kmul(nn,kmul(Ro321,kmadd(im3,ltet2,kmul(im2,ksub(ltet3,n3))))),kmadd(n2,kmul(nn,kmul(Ro322,kmadd(im3,ltet2,kmul(im2,ksub(ltet3,n3))))),kmadd(n3,kmul(nn,kmul(Ro323,kmadd(im3,ltet2,kmul(im2,ksub(ltet3,n3))))),kmadd(im2,kmul(n1,kmul(nn,kmul(Ro221,kmsub(ltet2,ToReal(2),n2)))),kmadd(im2,kmul(n2,kmul(nn,kmul(Ro222,kmsub(ltet2,ToReal(2),n2)))),kmadd(im2,kmul(n3,kmul(nn,kmul(Ro223,kmsub(ltet2,ToReal(2),n2)))),kmadd(im3,kmul(n1,kmul(nn,kmul(Ro331,kmsub(ltet3,ToReal(2),n3)))),kmadd(im3,kmul(n2,kmul(nn,kmul(Ro332,kmsub(ltet3,ToReal(2),n3)))),kmadd(im3,kmul(n3,kmul(nn,kmul(Ro333,kmsub(ltet3,ToReal(2),n3)))),kmadd(n1,knmsub(im2,kmadd(R4p1212,kmsub(ltet2,n1,kmul(ltet1,n2)),kmadd(R4p1213,kmsub(ltet3,n1,kmul(ltet1,n3)),kmul(R4p1223,kmsub(ltet3,n2,kmul(ltet2,n3))))),kmsub(im1,kmul(nn,kmul(Ro111,kmsub(ltet1,ToReal(2),n1))),kmul(im3,kmadd(R4p1213,kmsub(ltet2,n1,kmul(ltet1,n2)),kmadd(R4p1313,kmsub(ltet3,n1,kmul(ltet1,n3)),kmul(R4p1323,kmsub(ltet3,n2,kmul(ltet2,n3)))))))),kmadd(n2,kmsub(im1,kmadd(R4p1212,kmsub(ltet2,n1,kmul(ltet1,n2)),kmadd(R4p1213,kmsub(ltet3,n1,kmul(ltet1,n3)),kmadd(R4p1223,kmsub(ltet3,n2,kmul(ltet2,n3)),kmul(nn,kmul(Ro112,kmsub(ltet1,ToReal(2),n1)))))),kmul(im3,kmadd(R4p1223,kmsub(ltet2,n1,kmul(ltet1,n2)),kmadd(R4p1323,kmsub(ltet3,n1,kmul(ltet1,n3)),kmul(R4p2323,kmsub(ltet3,n2,kmul(ltet2,n3))))))),kmul(n3,kmsub(im1,kmadd(R4p1213,kmsub(ltet2,n1,kmul(ltet1,n2)),kmadd(R4p1313,kmsub(ltet3,n1,kmul(ltet1,n3)),kmadd(R4p1323,kmsub(ltet3,n2,kmul(ltet2,n3)),kmul(nn,kmul(Ro113,kmsub(ltet1,ToReal(2),n1)))))),kmul(im2,kmadd(R4p1223,kmsub(ltet1,n2,kmul(ltet2,n1)),kmadd(R4p1323,kmsub(ltet1,n3,kmul(ltet3,n1)),kmul(R4p2323,kmsub(ltet2,n3,kmul(ltet3,n2)))))))))))))))))))))))))))))))))));
+ kmadd(n1,knmsub(im2,kmadd(kmsub(ltet2,n1,kmul(ltet1,n2)),R4p1212,kmadd(kmsub(ltet3,n1,kmul(ltet1,n3)),R4p1213,kmul(R4p1223,kmsub(ltet3,n2,kmul(ltet2,n3))))),kmsub(im1,kmul(kmsub(ToReal(2),ltet1,n1),kmul(nn,Ro111)),kmul(im3,kmadd(kmsub(ltet2,n1,kmul(ltet1,n2)),R4p1213,kmadd(kmsub(ltet3,n1,kmul(ltet1,n3)),R4p1313,kmul(R4p1323,kmsub(ltet3,n2,kmul(ltet2,n3)))))))),kmadd(n2,kmsub(im1,kmadd(kmsub(ltet2,n1,kmul(ltet1,n2)),R4p1212,kmadd(kmsub(ltet3,n1,kmul(ltet1,n3)),R4p1213,kmadd(kmsub(ltet3,n2,kmul(ltet2,n3)),R4p1223,kmul(kmsub(ToReal(2),ltet1,n1),kmul(nn,Ro112))))),kmul(im3,kmadd(kmsub(ltet2,n1,kmul(ltet1,n2)),R4p1223,kmadd(kmsub(ltet3,n1,kmul(ltet1,n3)),R4p1323,kmul(R4p2323,kmsub(ltet3,n2,kmul(ltet2,n3))))))),kmadd(n3,kmsub(im1,kmadd(kmsub(ltet2,n1,kmul(ltet1,n2)),R4p1213,kmadd(kmsub(ltet3,n1,kmul(ltet1,n3)),R4p1313,kmadd(kmsub(ltet3,n2,kmul(ltet2,n3)),R4p1323,kmul(kmsub(ToReal(2),ltet1,n1),kmul(nn,Ro113))))),kmul(im2,kmadd(kmsub(ltet1,n2,kmul(ltet2,n1)),R4p1223,kmadd(kmsub(ltet1,n3,kmul(ltet3,n1)),R4p1323,kmul(R4p2323,kmsub(ltet2,n3,kmul(ltet3,n2))))))),kmadd(kmadd(im1,ltet2,kmul(im2,ksub(ltet1,n1))),kmul(n1,kmul(nn,Ro121)),kmadd(kmadd(im1,ltet2,kmul(im2,ksub(ltet1,n1))),kmul(n2,kmul(nn,Ro122)),kmadd(kmadd(im1,ltet2,kmul(im2,ksub(ltet1,n1))),kmul(n3,kmul(nn,Ro123)),kmadd(kmadd(im1,ltet3,kmul(im3,ksub(ltet1,n1))),kmul(n1,kmul(nn,Ro131)),kmadd(kmadd(im1,ltet3,kmul(im3,ksub(ltet1,n1))),kmul(n2,kmul(nn,Ro132)),kmadd(kmadd(im1,ltet3,kmul(im3,ksub(ltet1,n1))),kmul(n3,kmul(nn,Ro133)),kmadd(n1,kmul(kmadd(im2,ltet1,kmul(im1,ksub(ltet2,n2))),kmul(nn,Ro211)),kmadd(kmadd(im2,ltet1,kmul(im1,ksub(ltet2,n2))),kmul(n2,kmul(nn,Ro212)),kmadd(kmadd(im2,ltet1,kmul(im1,ksub(ltet2,n2))),kmul(n3,kmul(nn,Ro213)),kmadd(im2,kmul(n1,kmul(kmsub(ToReal(2),ltet2,n2),kmul(nn,Ro221))),kmadd(im2,kmul(kmsub(ToReal(2),ltet2,n2),kmul(n2,kmul(nn,Ro222))),kmadd(im2,kmul(kmsub(ToReal(2),ltet2,n2),kmul(n3,kmul(nn,Ro223))),kmadd(n1,kmul(kmadd(im2,ltet3,kmul(im3,ksub(ltet2,n2))),kmul(nn,Ro231)),kmadd(kmadd(im2,ltet3,kmul(im3,ksub(ltet2,n2))),kmul(n2,kmul(nn,Ro232)),kmadd(kmadd(im2,ltet3,kmul(im3,ksub(ltet2,n2))),kmul(n3,kmul(nn,Ro233)),kmadd(n1,kmul(kmadd(im3,ltet1,kmul(im1,ksub(ltet3,n3))),kmul(nn,Ro311)),kmadd(n2,kmul(kmadd(im3,ltet1,kmul(im1,ksub(ltet3,n3))),kmul(nn,Ro312)),kmadd(kmadd(im3,ltet1,kmul(im1,ksub(ltet3,n3))),kmul(n3,kmul(nn,Ro313)),kmadd(n1,kmul(kmadd(im3,ltet2,kmul(im2,ksub(ltet3,n3))),kmul(nn,Ro321)),kmadd(n2,kmul(kmadd(im3,ltet2,kmul(im2,ksub(ltet3,n3))),kmul(nn,Ro322)),kmadd(kmadd(im3,ltet2,kmul(im2,ksub(ltet3,n3))),kmul(n3,kmul(nn,Ro323)),kmadd(im3,kmul(n1,kmul(kmsub(ToReal(2),ltet3,n3),kmul(nn,Ro331))),kmadd(im3,kmul(n2,kmul(kmsub(ToReal(2),ltet3,n3),kmul(nn,Ro332))),kmadd(im3,kmul(kmsub(ToReal(2),ltet3,n3),kmul(n3,kmul(nn,Ro333))),kmul(kmadd(ksub(n1,ltet1),kmadd(im1,Rojo11,kmadd(im2,Rojo12,kmul(im3,Rojo13))),kmadd(ksub(n2,ltet2),kmadd(im1,Rojo21,kmadd(im2,Rojo22,kmul(im3,Rojo23))),kmul(kmadd(im1,Rojo31,kmadd(im2,Rojo32,kmul(im3,Rojo33))),ksub(n3,ltet3)))),kmul(nn,nn)))))))))))))))))))))))))))));
CCTK_REAL_VEC Psi2rL CCTK_ATTRIBUTE_UNUSED =
- knmsub(kmadd(ltet2,kmul(n2,R4p1212),kmadd(ltet3,kmul(n2,R4p1213),kmadd(ltet2,kmul(n3,R4p1213),kmul(ltet3,kmul(n3,R4p1313))))),kmadd(im1,im1,kmul(rm1,rm1)),knmsub(kmadd(ltet1,kmul(n1,R4p1313),kmadd(ltet2,kmul(n1,R4p1323),kmadd(ltet1,kmul(n2,R4p1323),kmul(ltet2,kmul(n2,R4p2323))))),kmadd(im3,im3,kmul(rm3,rm3)),knmsub(kmul(nn,nn),kmadd(im2,kmul(im3,Rojo23),kmadd(rm2,kmul(rm3,Rojo23),kmadd(im1,kmadd(im2,kadd(Rojo12,Rojo21),kmul(im3,kadd(Rojo13,Rojo31))),kmadd(rm1,kmadd(rm2,kadd(Rojo12,Rojo21),kmul(rm3,kadd(Rojo13,Rojo31))),kmadd(im2,kmul(im3,Rojo32),kmadd(rm2,kmul(rm3,Rojo32),kmadd(Rojo11,kmul(im1,im1),kmadd(Rojo22,kmul(im2,im2),kmadd(Rojo33,kmul(im3,im3),kmadd(Rojo11,kmul(rm1,rm1),kmadd(Rojo22,kmul(rm2,rm2),kmul(Rojo33,kmul(rm3,rm3))))))))))))),knmsub(kmadd(im2,im2,kmul(rm2,rm2)),kmadd(n3,kmsub(ltet3,R4p2323,kmul(ltet1,R4p1223)),kmul(n1,kmsub(ltet1,R4p1212,kmul(ltet3,R4p1223)))),kmadd(kmadd(im2,im3,kmul(rm2,rm3)),kmadd(ltet2,kmul(n3,R4p2323),kmadd(ltet3,kmadd(n1,R4p1323,kmul(n2,R4p2323)),kmsub(ltet1,kmsub(n3,R4p1323,kmadd(n2,R4p1223,kmul(n1,R4p1213))),kmul(n1,kmadd(ltet2,R4p1223,kmul(ltet1,R4p1213)))))),kmadd(kmadd(im1,im2,kmul(rm1,rm2)),kmadd(ltet1,kmadd(n2,R4p1212,kmul(n3,R4p1213)),kmadd(ltet3,kmadd(n1,R4p1213,kmsub(n3,kmul(R4p1323,ToReal(-2)),kmul(n2,R4p1223))),kmul(ltet2,kmsub(n1,R4p1212,kmul(n3,R4p1223))))),kmadd(nn,kmadd(kmadd(im1,im2,kmul(rm1,rm2)),kmul(Ro211,ksub(n1,ltet1)),kmadd(kmadd(im1,im3,kmul(rm1,rm3)),kmul(Ro311,ksub(n1,ltet1)),kmadd(Ro111,kmul(kmadd(im1,im1,kmul(rm1,rm1)),ksub(n1,ltet1)),kmadd(kmadd(im1,im2,kmul(rm1,rm2)),kmul(Ro122,ksub(n2,ltet2)),kmadd(kmadd(im2,im3,kmul(rm2,rm3)),kmul(Ro322,ksub(n2,ltet2)),kmadd(Ro222,kmul(kmadd(im2,im2,kmul(rm2,rm2)),ksub(n2,ltet2)),kmadd(kmadd(im1,im3,kmul(rm1,rm3)),kmul(Ro133,ksub(n3,ltet3)),kmadd(kmadd(im2,im3,kmul(rm2,rm3)),kmul(Ro233,ksub(n3,ltet3)),kmadd(Ro333,kmul(kmadd(im3,im3,kmul(rm3,rm3)),ksub(n3,ltet3)),kmadd(Ro112,kmsub(n2,kmadd(im1,im1,kmul(rm1,rm1)),kmul(ltet1,kmadd(im1,im2,kmul(rm1,rm2)))),kmadd(Ro221,kmsub(n1,kmadd(im2,im2,kmul(rm2,rm2)),kmul(ltet2,kmadd(im1,im2,kmul(rm1,rm2)))),kmadd(Ro113,kmsub(n3,kmadd(im1,im1,kmul(rm1,rm1)),kmul(ltet1,kmadd(im1,im3,kmul(rm1,rm3)))),kmadd(Ro331,kmsub(n1,kmadd(im3,im3,kmul(rm3,rm3)),kmul(ltet3,kmadd(im1,im3,kmul(rm1,rm3)))),kmadd(Ro223,kmsub(n3,kmadd(im2,im2,kmul(rm2,rm2)),kmul(ltet2,kmadd(im2,im3,kmul(rm2,rm3)))),kmadd(Ro332,kmsub(n2,kmadd(im3,im3,kmul(rm3,rm3)),kmul(ltet3,kmadd(im2,im3,kmul(rm2,rm3)))),kmadd(Ro121,kmsub(n1,kmadd(im1,im2,kmul(rm1,rm2)),kmul(ltet2,kmadd(im1,im1,kmul(rm1,rm1)))),kmadd(Ro131,kmsub(n1,kmadd(im1,im3,kmul(rm1,rm3)),kmul(ltet3,kmadd(im1,im1,kmul(rm1,rm1)))),kmadd(Ro212,kmsub(n2,kmadd(im1,im2,kmul(rm1,rm2)),kmul(ltet1,kmadd(im2,im2,kmul(rm2,rm2)))),kmadd(Ro232,kmsub(n2,kmadd(im2,im3,kmul(rm2,rm3)),kmul(ltet3,kmadd(im2,im2,kmul(rm2,rm2)))),kmadd(Ro313,kmsub(n3,kmadd(im1,im3,kmul(rm1,rm3)),kmul(ltet1,kmadd(im3,im3,kmul(rm3,rm3)))),kmadd(Ro323,kmsub(n3,kmadd(im2,im3,kmul(rm2,rm3)),kmul(ltet2,kmadd(im3,im3,kmul(rm3,rm3)))),kmadd(Ro321,kmadd(im3,kmsub(im2,n1,kmul(im1,ltet2)),kmul(rm3,kmsub(n1,rm2,kmul(ltet2,rm1)))),kmadd(Ro231,kmadd(im2,kmsub(im3,n1,kmul(im1,ltet3)),kmul(rm2,kmsub(n1,rm3,kmul(ltet3,rm1)))),kmadd(Ro312,kmadd(im3,kmsub(im1,n2,kmul(im2,ltet1)),kmul(rm3,kmsub(n2,rm1,kmul(ltet1,rm2)))),kmadd(Ro132,kmadd(im1,kmsub(im3,n2,kmul(im2,ltet3)),kmul(rm1,kmsub(n2,rm3,kmul(ltet3,rm2)))),kmadd(Ro213,kmadd(im2,kmsub(im1,n3,kmul(im3,ltet1)),kmul(rm2,kmsub(n3,rm1,kmul(ltet1,rm3)))),kmul(Ro123,kmadd(im1,kmsub(im2,n3,kmul(im3,ltet2)),kmul(rm1,kmsub(n3,rm2,kmul(ltet2,rm3))))))))))))))))))))))))))))))),kmul(kmadd(im1,im3,kmul(rm1,rm3)),kmadd(ltet2,kmul(n1,R4p1213),kmadd(ltet1,kmul(n2,R4p1213),kmadd(ltet3,kmul(n1,R4p1313),kmadd(ltet1,kmul(n3,R4p1313),kmadd(ltet3,kmul(n2,R4p1323),kmadd(ltet2,kmul(n3,R4p1323),kmul(ltet2,kmul(n2,kmul(R4p1223,ToReal(2))))))))))))))))));
+ kmadd(kmadd(ltet2,kmsub(n1,R4p1212,kmul(n3,R4p1223)),kmul(ltet3,kmsub(n1,R4p1213,kmul(n3,R4p1323)))),kmadd(im1,im2,kmul(rm1,rm2)),kmadd(kmsub(ltet1,kmadd(n2,R4p1212,kmul(n3,R4p1213)),kmul(ltet3,kmadd(n2,R4p1223,kmul(n3,R4p1323)))),kmadd(im1,im2,kmul(rm1,rm2)),kmadd(kmadd(ltet2,kmul(n1,R4p1213),kmadd(ltet2,kmul(n2,R4p1223),kmadd(ltet3,kmul(n1,R4p1313),kmul(ltet3,kmul(n2,R4p1323))))),kmadd(im1,im3,kmul(rm1,rm3)),kmadd(kmadd(ltet1,kmul(n2,R4p1213),kmadd(ltet2,kmul(n2,R4p1223),kmadd(ltet1,kmul(n3,R4p1313),kmul(ltet2,kmul(n3,R4p1323))))),kmadd(im1,im3,kmul(rm1,rm3)),kmadd(knmsub(n1,kmadd(ltet2,R4p1223,kmul(ltet1,R4p1213)),kmadd(ltet1,knmsub(n1,R4p1213,kmsub(n3,R4p1323,kmul(n2,R4p1223))),kmadd(ltet2,kmul(n3,R4p2323),kmul(ltet3,kmadd(n1,R4p1323,kmul(n2,R4p2323)))))),kmadd(im2,im3,kmul(rm2,rm3)),knmsub(kmadd(ltet2,kmul(n2,R4p1212),kmadd(ltet3,kmul(n2,R4p1213),kmadd(ltet2,kmul(n3,R4p1213),kmul(ltet3,kmul(n3,R4p1313))))),kmadd(im1,im1,kmul(rm1,rm1)),knmsub(kmadd(n1,kmsub(ltet1,R4p1212,kmul(ltet3,R4p1223)),kmul(n3,kmsub(ltet3,R4p2323,kmul(ltet1,R4p1223)))),kmadd(im2,im2,kmul(rm2,rm2)),knmsub(kmadd(ltet1,kmul(n1,R4p1313),kmadd(ltet2,kmul(n1,R4p1323),kmadd(ltet1,kmul(n2,R4p1323),kmul(ltet2,kmul(n2,R4p2323))))),kmadd(im3,im3,kmul(rm3,rm3)),kmsub(nn,kmadd(ksub(n2,ltet2),kmul(Ro122,kmadd(im1,im2,kmul(rm1,rm2))),kmadd(kmadd(im1,kmsub(im2,n3,kmul(im3,ltet2)),kmul(rm1,kmsub(n3,rm2,kmul(ltet2,rm3)))),Ro123,kmadd(kmadd(im1,kmsub(im3,n2,kmul(im2,ltet3)),kmul(rm1,kmsub(n2,rm3,kmul(ltet3,rm2)))),Ro132,kmadd(ksub(n3,ltet3),kmul(Ro133,kmadd(im1,im3,kmul(rm1,rm3))),kmadd(ksub(n1,ltet1),kmul(Ro211,kmadd(im1,im2,kmul(rm1,rm2))),kmadd(kmadd(im2,kmsub(im1,n3,kmul(im3,ltet1)),kmul(rm2,kmsub(n3,rm1,kmul(ltet1,rm3)))),Ro213,kmadd(kmadd(im2,kmsub(im3,n1,kmul(im1,ltet3)),kmul(rm2,kmsub(n1,rm3,kmul(ltet3,rm1)))),Ro231,kmadd(ksub(n3,ltet3),kmul(Ro233,kmadd(im2,im3,kmul(rm2,rm3))),kmadd(ksub(n1,ltet1),kmul(Ro311,kmadd(im1,im3,kmul(rm1,rm3))),kmadd(kmadd(im3,kmsub(im1,n2,kmul(im2,ltet1)),kmul(rm3,kmsub(n2,rm1,kmul(ltet1,rm2)))),Ro312,kmadd(kmadd(im3,kmsub(im2,n1,kmul(im1,ltet2)),kmul(rm3,kmsub(n1,rm2,kmul(ltet2,rm1)))),Ro321,kmadd(ksub(n2,ltet2),kmul(Ro322,kmadd(im2,im3,kmul(rm2,rm3))),kmadd(ksub(n1,ltet1),kmul(Ro111,kmadd(im1,im1,kmul(rm1,rm1))),kmadd(Ro121,kmsub(n1,kmadd(im1,im2,kmul(rm1,rm2)),kmul(ltet2,kmadd(im1,im1,kmul(rm1,rm1)))),kmadd(Ro131,kmsub(n1,kmadd(im1,im3,kmul(rm1,rm3)),kmul(ltet3,kmadd(im1,im1,kmul(rm1,rm1)))),kmadd(Ro112,kmsub(n2,kmadd(im1,im1,kmul(rm1,rm1)),kmul(ltet1,kmadd(im1,im2,kmul(rm1,rm2)))),kmadd(Ro113,kmsub(n3,kmadd(im1,im1,kmul(rm1,rm1)),kmul(ltet1,kmadd(im1,im3,kmul(rm1,rm3)))),kmadd(ksub(n2,ltet2),kmul(Ro222,kmadd(im2,im2,kmul(rm2,rm2))),kmadd(Ro212,kmsub(n2,kmadd(im1,im2,kmul(rm1,rm2)),kmul(ltet1,kmadd(im2,im2,kmul(rm2,rm2)))),kmadd(Ro232,kmsub(n2,kmadd(im2,im3,kmul(rm2,rm3)),kmul(ltet3,kmadd(im2,im2,kmul(rm2,rm2)))),kmadd(Ro221,kmsub(n1,kmadd(im2,im2,kmul(rm2,rm2)),kmul(ltet2,kmadd(im1,im2,kmul(rm1,rm2)))),kmadd(Ro223,kmsub(n3,kmadd(im2,im2,kmul(rm2,rm2)),kmul(ltet2,kmadd(im2,im3,kmul(rm2,rm3)))),kmadd(ksub(n3,ltet3),kmul(Ro333,kmadd(im3,im3,kmul(rm3,rm3))),kmadd(Ro313,kmsub(n3,kmadd(im1,im3,kmul(rm1,rm3)),kmul(ltet1,kmadd(im3,im3,kmul(rm3,rm3)))),kmadd(Ro323,kmsub(n3,kmadd(im2,im3,kmul(rm2,rm3)),kmul(ltet2,kmadd(im3,im3,kmul(rm3,rm3)))),kmadd(Ro331,kmsub(n1,kmadd(im3,im3,kmul(rm3,rm3)),kmul(ltet3,kmadd(im1,im3,kmul(rm1,rm3)))),kmul(Ro332,kmsub(n2,kmadd(im3,im3,kmul(rm3,rm3)),kmul(ltet3,kmadd(im2,im3,kmul(rm2,rm3))))))))))))))))))))))))))))))),kmul(kmadd(im2,kmul(im3,Rojo23),kmadd(rm2,kmul(rm3,Rojo23),kmadd(im1,kmadd(im2,kadd(Rojo12,Rojo21),kmul(im3,kadd(Rojo13,Rojo31))),kmadd(rm1,kmadd(rm2,kadd(Rojo12,Rojo21),kmul(rm3,kadd(Rojo13,Rojo31))),kmadd(im2,kmul(im3,Rojo32),kmadd(rm2,kmul(rm3,Rojo32),kmadd(Rojo11,kmul(im1,im1),kmadd(Rojo22,kmul(im2,im2),kmadd(Rojo33,kmul(im3,im3),kmadd(Rojo11,kmul(rm1,rm1),kmadd(Rojo22,kmul(rm2,rm2),kmul(Rojo33,kmul(rm3,rm3))))))))))))),kmul(nn,nn)))))))))));
CCTK_REAL_VEC Psi2iL CCTK_ATTRIBUTE_UNUSED =
- kmadd(kmsub(im3,rm1,kmul(im1,rm3)),kmadd(R4p1213,kmsub(ltet1,n2,kmul(ltet2,n1)),kmadd(R4p1313,kmsub(ltet1,n3,kmul(ltet3,n1)),kmul(R4p1323,kmsub(ltet2,n3,kmul(ltet3,n2))))),kmadd(kmsub(im2,rm1,kmul(im1,rm2)),kmadd(ltet1,kmadd(n2,R4p1212,kmul(n3,R4p1213)),kmsub(R4p1223,kmsub(ltet2,n3,kmul(ltet3,n2)),kmul(n1,kmadd(ltet3,R4p1213,kmul(ltet2,R4p1212))))),kmadd(kmsub(im3,rm2,kmul(im2,rm3)),kmadd(ltet1,kmadd(n1,R4p1213,kmul(n2,R4p1223)),kmadd(ltet1,kmul(n3,R4p1323),kmsub(ltet2,kmul(n3,R4p2323),kmadd(n1,kmadd(ltet2,R4p1223,kmul(ltet1,R4p1213)),kmul(ltet3,kmadd(n1,R4p1323,kmul(n2,R4p2323))))))),kmsub(kmul(nn,nn),kmadd(im1,kmadd(rm2,ksub(Rojo21,Rojo12),kmul(rm3,ksub(Rojo31,Rojo13))),kmadd(im2,kmadd(rm1,ksub(Rojo12,Rojo21),kmul(rm3,ksub(Rojo32,Rojo23))),kmul(im3,kmadd(rm1,ksub(Rojo13,Rojo31),kmul(rm2,ksub(Rojo23,Rojo32)))))),kmul(nn,kmadd(im1,kmadd(n2,kmul(rm2,Ro212),kmadd(n3,kmul(rm2,Ro213),kmadd(ltet2,kmul(rm2,Ro221),kmadd(ltet3,kmul(rm2,Ro231),kmadd(n2,kmul(rm3,Ro312),kmadd(n3,kmul(rm3,Ro313),kmadd(ltet2,kmul(rm3,Ro321),kmadd(ltet3,kmul(rm3,Ro331),knmsub(rm2,kmadd(n3,Ro123,kmadd(Ro122,kadd(n2,ltet2),kmul(ltet3,Ro132))),knmsub(rm3,kmadd(ltet2,Ro123,kmadd(Ro133,kadd(n3,ltet3),kmul(n2,Ro132))),kmadd(ltet1,kmadd(rm2,ksub(Ro211,Ro112),kmul(rm3,ksub(Ro311,Ro113))),kmul(n1,kmadd(rm2,ksub(Ro211,Ro121),kmul(rm3,ksub(Ro311,Ro131))))))))))))))),kmadd(im2,kmadd(ltet2,kmul(rm3,Ro322),kmadd(n2,kmul(rm3,Ro322),kmadd(n3,kmul(rm3,Ro323),kmadd(ltet3,kmul(rm3,Ro332),knmsub(rm3,kmadd(ltet2,Ro223,kmadd(Ro233,kadd(n3,ltet3),kmul(n2,Ro232))),kmadd(ltet1,kmadd(rm1,ksub(Ro112,Ro211),kmul(rm3,ksub(Ro312,Ro213))),kmadd(rm1,kmadd(n2,ksub(Ro122,Ro212),kmadd(n3,ksub(Ro123,Ro213),kmadd(ltet2,ksub(Ro122,Ro221),kmul(ltet3,ksub(Ro132,Ro231))))),kmul(n1,kmadd(rm1,ksub(Ro121,Ro211),kmul(rm3,ksub(Ro321,Ro231))))))))))),kmul(im3,kmadd(rm1,kmadd(kadd(ltet3,n3),Ro133,knmsub(n3,Ro313,knmsub(ltet3,Ro331,kmadd(n1,ksub(Ro131,Ro311),kmul(n2,ksub(Ro132,Ro312)))))),kmadd(ltet1,kmadd(rm1,ksub(Ro113,Ro311),kmul(rm2,ksub(Ro213,Ro312))),kmadd(ltet2,kmadd(rm1,ksub(Ro123,Ro321),kmul(rm2,ksub(Ro223,Ro322))),kmul(rm2,kmadd(kadd(ltet3,n3),Ro233,knmsub(n3,Ro323,knmsub(ltet3,Ro332,kmadd(n1,ksub(Ro231,Ro321),kmul(n2,ksub(Ro232,Ro322))))))))))))))))));
+ kmadd(knmsub(n1,kmadd(ltet3,R4p1213,kmul(ltet2,R4p1212)),kmadd(ltet1,kmadd(n2,R4p1212,kmul(n3,R4p1213)),kmul(R4p1223,kmsub(ltet2,n3,kmul(ltet3,n2))))),kmsub(im2,rm1,kmul(im1,rm2)),kmadd(kmadd(kmsub(ltet1,n2,kmul(ltet2,n1)),R4p1213,kmadd(kmsub(ltet1,n3,kmul(ltet3,n1)),R4p1313,kmul(R4p1323,kmsub(ltet2,n3,kmul(ltet3,n2))))),kmsub(im3,rm1,kmul(im1,rm3)),kmadd(knmsub(n1,kmadd(ltet2,R4p1223,kmul(ltet1,R4p1213)),kmadd(ltet1,kmadd(n1,R4p1213,kmul(n2,R4p1223)),kmadd(ltet1,kmul(n3,R4p1323),kmsub(ltet2,kmul(n3,R4p2323),kmul(ltet3,kmadd(n1,R4p1323,kmul(n2,R4p2323))))))),kmsub(im3,rm2,kmul(im2,rm3)),kmsub(kmadd(im1,kmadd(rm2,ksub(Rojo21,Rojo12),kmul(rm3,ksub(Rojo31,Rojo13))),kmadd(im3,kmadd(rm1,ksub(Rojo13,Rojo31),kmul(rm2,ksub(Rojo23,Rojo32))),kmul(im2,kmadd(rm1,ksub(Rojo12,Rojo21),kmul(rm3,ksub(Rojo32,Rojo23)))))),kmul(nn,nn),kmul(nn,kmadd(im1,knmsub(rm2,kmadd(kadd(ltet2,n2),Ro122,kmadd(ltet3,Ro132,kmul(n3,Ro123))),knmsub(rm3,kmadd(ltet2,Ro123,kmadd(kadd(ltet3,n3),Ro133,kmul(n2,Ro132))),kmadd(n2,kmul(rm2,Ro212),kmadd(n3,kmul(rm2,Ro213),kmadd(ltet2,kmul(rm2,Ro221),kmadd(ltet3,kmul(rm2,Ro231),kmadd(ltet1,kmadd(rm2,ksub(Ro211,Ro112),kmul(rm3,ksub(Ro311,Ro113))),kmadd(n1,kmadd(rm2,ksub(Ro211,Ro121),kmul(rm3,ksub(Ro311,Ro131))),kmadd(n2,kmul(rm3,Ro312),kmadd(n3,kmul(rm3,Ro313),kmadd(ltet2,kmul(rm3,Ro321),kmul(ltet3,kmul(rm3,Ro331))))))))))))),kmadd(im2,kmadd(rm1,kmadd(n2,ksub(Ro122,Ro212),kmadd(n3,ksub(Ro123,Ro213),kmadd(ltet2,ksub(Ro122,Ro221),kmul(ltet3,ksub(Ro132,Ro231))))),knmsub(rm3,kmadd(ltet2,Ro223,kmadd(kadd(ltet3,n3),Ro233,kmul(n2,Ro232))),kmadd(ltet1,kmadd(rm1,ksub(Ro112,Ro211),kmul(rm3,ksub(Ro312,Ro213))),kmadd(n1,kmadd(rm1,ksub(Ro121,Ro211),kmul(rm3,ksub(Ro321,Ro231))),kmadd(ltet2,kmul(rm3,Ro322),kmadd(n2,kmul(rm3,Ro322),kmadd(n3,kmul(rm3,Ro323),kmul(ltet3,kmul(rm3,Ro332))))))))),kmul(im3,kmadd(ltet1,kmadd(rm1,ksub(Ro113,Ro311),kmul(rm2,ksub(Ro213,Ro312))),kmadd(ltet2,kmadd(rm1,ksub(Ro123,Ro321),kmul(rm2,ksub(Ro223,Ro322))),kmadd(rm1,kmadd(kadd(ltet3,n3),Ro133,kmadd(n1,ksub(Ro131,Ro311),kmsub(n2,ksub(Ro132,Ro312),kmadd(ltet3,Ro331,kmul(n3,Ro313))))),kmul(rm2,kmadd(kadd(ltet3,n3),Ro233,kmadd(n1,ksub(Ro231,Ro321),kmsub(n2,ksub(Ro232,Ro322),kmadd(ltet3,Ro332,kmul(n3,Ro323)))))))))))))))));
CCTK_REAL_VEC Psi1rL CCTK_ATTRIBUTE_UNUSED =
- knmsub(kmul(nn,nn),kmadd(kmadd(rm1,Rojo11,kmadd(rm2,Rojo12,kmul(rm3,Rojo13))),ksub(ltet1,n1),kmadd(rm1,kmadd(Rojo21,ksub(ltet2,n2),kmul(Rojo31,ksub(ltet3,n3))),kmadd(rm2,kmadd(Rojo22,ksub(ltet2,n2),kmul(Rojo32,ksub(ltet3,n3))),kmul(rm3,kmadd(Rojo23,ksub(ltet2,n2),kmul(Rojo33,ksub(ltet3,n3))))))),kmadd(ltet1,kmadd(ltet1,kmadd(n2,kmul(R4p1212,rm2),kmadd(n3,kmul(R4p1213,rm2),kmadd(n2,kmul(R4p1213,rm3),kmul(n3,kmul(R4p1313,rm3))))),kmadd(nn,kmul(rm2,kmul(Ro221,kmadd(n2,ToReal(-2),ltet2))),kmadd(nn,kmul(rm3,kmul(Ro331,kmadd(n3,ToReal(-2),ltet3))),knmsub(ltet3,kmadd(n1,kmul(R4p1213,rm2),kmadd(n2,kmul(R4p1223,rm2),kmadd(n1,kmul(R4p1313,rm3),kmul(n2,kmul(R4p1323,rm3))))),kmadd(ltet2,kmsub(n3,kmadd(R4p1223,rm2,kmul(R4p1323,rm3)),kmul(n1,kmadd(R4p1212,rm2,kmul(R4p1213,rm3)))),kmadd(nn,kmul(Ro121,kmsub(rm2,ksub(ltet1,n1),kmul(n2,rm1))),kmadd(nn,kmul(Ro131,kmsub(rm3,ksub(ltet1,n1),kmul(n3,rm1))),kmadd(nn,kmul(Ro211,kmsub(rm1,ksub(ltet2,n2),kmul(n1,rm2))),kmadd(nn,kmul(Ro311,kmsub(rm1,ksub(ltet3,n3),kmul(n1,rm3))),kmadd(nn,kmul(Ro321,kmsub(rm2,ksub(ltet3,n3),kmul(n2,rm3))),kmul(nn,kmsub(rm1,kmul(Ro111,kmadd(n1,ToReal(-2),ltet1)),kmul(Ro231,kmadd(n3,rm2,kmul(rm3,ksub(n2,ltet2)))))))))))))))),kmadd(ltet3,kmadd(ltet3,kmadd(n1,kmul(R4p1313,rm1),kmadd(n2,kmul(R4p1323,rm1),kmadd(n1,kmul(R4p1323,rm2),kmul(n2,kmul(R4p2323,rm2))))),kmadd(nn,kmul(rm2,kmul(Ro223,kmadd(n2,ToReal(-2),ltet2))),kmadd(nn,kmul(rm3,kmul(Ro333,kmadd(n3,ToReal(-2),ltet3))),knmsub(ltet1,kmadd(n2,kmul(R4p1213,rm1),kmadd(n3,kmul(R4p1313,rm1),kmadd(n2,kmul(R4p1223,rm2),kmul(n3,kmul(R4p1323,rm2))))),kmadd(ltet2,kmsub(n1,kmadd(R4p1213,rm1,kmul(R4p1223,rm2)),kmul(n3,kmadd(R4p1323,rm1,kmul(R4p2323,rm2)))),kmadd(nn,kmul(Ro213,kmsub(rm1,ksub(ltet2,n2),kmul(n1,rm2))),kmadd(nn,kmul(Ro313,kmsub(rm1,ksub(ltet3,n3),kmul(n1,rm3))),kmadd(nn,kmul(Ro323,kmsub(rm2,ksub(ltet3,n3),kmul(n2,rm3))),kmul(nn,kmsub(rm1,kmul(Ro113,kmadd(n1,ToReal(-2),ltet1)),kmadd(Ro123,kmadd(n2,rm1,kmul(rm2,ksub(n1,ltet1))),kmadd(Ro233,kmadd(n3,rm2,kmul(rm3,ksub(n2,ltet2))),kmul(Ro133,kmadd(n3,rm1,kmul(rm3,ksub(n1,ltet1)))))))))))))))),kmul(ltet2,kmadd(ltet1,kmadd(n2,kmul(R4p1223,rm3),kmsub(n3,kmul(R4p1323,rm3),kmul(rm1,kmadd(n3,R4p1213,kmul(n2,R4p1212))))),kmadd(ltet2,kmadd(rm3,kmsub(n3,R4p2323,kmul(n1,R4p1223)),kmul(rm1,kmsub(n1,R4p1212,kmul(n3,R4p1223)))),kmadd(ltet3,kmsub(kmadd(n1,R4p1213,kmul(n2,R4p1223)),rm1,kmul(rm3,kmadd(n2,R4p2323,kmul(n1,R4p1323)))),kmul(nn,kmadd(rm1,kmul(Ro112,kmadd(n1,ToReal(-2),ltet1)),kmadd(rm2,kmul(Ro222,kmadd(n2,ToReal(-2),ltet2)),kmadd(rm3,kmul(Ro332,kmadd(n3,ToReal(-2),ltet3)),knmsub(Ro122,kmadd(n2,rm1,kmul(rm2,ksub(n1,ltet1))),knmsub(Ro132,kmadd(n3,rm1,kmul(rm3,ksub(n1,ltet1))),kmadd(Ro212,kmsub(rm1,ksub(ltet2,n2),kmul(n1,rm2)),kmadd(Ro232,kmsub(rm3,ksub(ltet2,n2),kmul(n3,rm2)),kmadd(Ro312,kmsub(rm1,ksub(ltet3,n3),kmul(n1,rm3)),kmul(Ro322,kmsub(rm2,ksub(ltet3,n3),kmul(n2,rm3)))))))))))))))))));
+ kmadd(ltet1,kmadd(ltet1,kmadd(n2,kmul(R4p1212,rm2),kmadd(n3,kmul(R4p1213,rm2),kmadd(n2,kmul(R4p1213,rm3),kmul(n3,kmul(R4p1313,rm3))))),knmsub(ltet3,kmadd(n1,kmul(R4p1213,rm2),kmadd(n2,kmul(R4p1223,rm2),kmadd(n1,kmul(R4p1313,rm3),kmul(n2,kmul(R4p1323,rm3))))),kmadd(ltet2,kmsub(n3,kmadd(R4p1223,rm2,kmul(R4p1323,rm3)),kmul(n1,kmadd(R4p1212,rm2,kmul(R4p1213,rm3)))),kmadd(nn,kmul(Ro121,kmsub(ksub(ltet1,n1),rm2,kmul(n2,rm1))),kmadd(nn,kmul(Ro131,kmsub(ksub(ltet1,n1),rm3,kmul(n3,rm1))),kmadd(nn,kmul(Ro211,kmsub(ksub(ltet2,n2),rm1,kmul(n1,rm2))),kmadd(kmadd(ToReal(-2),n2,ltet2),kmul(nn,kmul(rm2,Ro221)),kmadd(nn,kmsub(kmadd(ToReal(-2),n1,ltet1),kmul(rm1,Ro111),kmul(Ro231,kmadd(n3,rm2,kmul(ksub(n2,ltet2),rm3)))),kmadd(nn,kmul(Ro311,kmsub(ksub(ltet3,n3),rm1,kmul(n1,rm3))),kmadd(nn,kmul(Ro321,kmsub(ksub(ltet3,n3),rm2,kmul(n2,rm3))),kmul(kmadd(ToReal(-2),n3,ltet3),kmul(nn,kmul(rm3,Ro331))))))))))))),kmadd(ltet2,kmadd(ltet1,knmsub(kmadd(n3,R4p1213,kmul(n2,R4p1212)),rm1,kmadd(n2,kmul(R4p1223,rm3),kmul(n3,kmul(R4p1323,rm3)))),kmadd(ltet3,kmsub(kmadd(n1,R4p1213,kmul(n2,R4p1223)),rm1,kmul(rm3,kmadd(n2,R4p2323,kmul(n1,R4p1323)))),kmadd(ltet2,kmadd(kmsub(n1,R4p1212,kmul(n3,R4p1223)),rm1,kmul(rm3,kmsub(n3,R4p2323,kmul(n1,R4p1223)))),kmul(nn,kmadd(kmadd(ToReal(-2),n1,ltet1),kmul(rm1,Ro112),knmsub(kmadd(n2,rm1,kmul(rm2,ksub(n1,ltet1))),Ro122,knmsub(kmadd(n3,rm1,kmul(rm3,ksub(n1,ltet1))),Ro132,kmadd(kmsub(ksub(ltet2,n2),rm1,kmul(n1,rm2)),Ro212,kmadd(kmadd(ToReal(-2),n2,ltet2),kmul(rm2,Ro222),kmadd(kmsub(ksub(ltet2,n2),rm3,kmul(n3,rm2)),Ro232,kmadd(kmsub(ksub(ltet3,n3),rm1,kmul(n1,rm3)),Ro312,kmadd(kmsub(ksub(ltet3,n3),rm2,kmul(n2,rm3)),Ro322,kmul(kmadd(ToReal(-2),n3,ltet3),kmul(rm3,Ro332)))))))))))))),kmsub(ltet3,knmsub(ltet1,kmadd(n2,kmul(R4p1213,rm1),kmadd(n3,kmul(R4p1313,rm1),kmadd(n2,kmul(R4p1223,rm2),kmul(n3,kmul(R4p1323,rm2))))),kmadd(ltet3,kmadd(n1,kmul(R4p1313,rm1),kmadd(n2,kmul(R4p1323,rm1),kmadd(n1,kmul(R4p1323,rm2),kmul(n2,kmul(R4p2323,rm2))))),kmadd(ltet2,kmsub(n1,kmadd(R4p1213,rm1,kmul(R4p1223,rm2)),kmul(n3,kmadd(R4p1323,rm1,kmul(R4p2323,rm2)))),kmadd(nn,kmul(Ro213,kmsub(ksub(ltet2,n2),rm1,kmul(n1,rm2))),kmadd(kmadd(ToReal(-2),n2,ltet2),kmul(nn,kmul(rm2,Ro223)),kmadd(nn,kmsub(kmadd(ToReal(-2),n1,ltet1),kmul(rm1,Ro113),kmadd(kmadd(n2,rm1,kmul(rm2,ksub(n1,ltet1))),Ro123,kmadd(kmadd(n3,rm2,kmul(rm3,ksub(n2,ltet2))),Ro233,kmul(Ro133,kmadd(n3,rm1,kmul(ksub(n1,ltet1),rm3)))))),kmadd(nn,kmul(Ro313,kmsub(ksub(ltet3,n3),rm1,kmul(n1,rm3))),kmadd(nn,kmul(Ro323,kmsub(ksub(ltet3,n3),rm2,kmul(n2,rm3))),kmul(kmadd(ToReal(-2),n3,ltet3),kmul(nn,kmul(rm3,Ro333))))))))))),kmul(kmadd(ksub(ltet1,n1),kmadd(rm1,Rojo11,kmadd(rm2,Rojo12,kmul(rm3,Rojo13))),kmadd(rm1,kmadd(ksub(ltet2,n2),Rojo21,kmul(Rojo31,ksub(ltet3,n3))),kmadd(rm2,kmadd(ksub(ltet2,n2),Rojo22,kmul(Rojo32,ksub(ltet3,n3))),kmul(rm3,kmadd(ksub(ltet2,n2),Rojo23,kmul(Rojo33,ksub(ltet3,n3))))))),kmul(nn,nn)))));
CCTK_REAL_VEC Psi1iL CCTK_ATTRIBUTE_UNUSED =
- knmsub(kmul(nn,nn),kmadd(im1,kmadd(Rojo11,ksub(ltet1,n1),kmadd(Rojo21,ksub(ltet2,n2),kmul(Rojo31,ksub(ltet3,n3)))),kmadd(im2,kmadd(Rojo12,ksub(ltet1,n1),kmadd(Rojo22,ksub(ltet2,n2),kmul(Rojo32,ksub(ltet3,n3)))),kmul(im3,kmadd(Rojo13,ksub(ltet1,n1),kmadd(Rojo23,ksub(ltet2,n2),kmul(Rojo33,ksub(ltet3,n3))))))),kmadd(ltet1,kmadd(im2,kmadd(nn,kmul(Ro221,kmadd(n2,ToReal(-2),ltet2)),kmadd(R4p1212,kmsub(ltet1,n2,kmul(ltet2,n1)),kmadd(R4p1213,kmsub(ltet1,n3,kmul(ltet3,n1)),kmul(R4p1223,kmsub(ltet2,n3,kmul(ltet3,n2)))))),kmadd(im3,kmadd(nn,kmul(Ro331,kmadd(n3,ToReal(-2),ltet3)),kmadd(R4p1213,kmsub(ltet1,n2,kmul(ltet2,n1)),kmadd(R4p1313,kmsub(ltet1,n3,kmul(ltet3,n1)),kmul(R4p1323,kmsub(ltet2,n3,kmul(ltet3,n2)))))),kmul(nn,kmadd(im1,kmul(Ro111,kmadd(n1,ToReal(-2),ltet1)),knmsub(Ro211,kmadd(im2,n1,kmul(im1,ksub(n2,ltet2))),knmsub(Ro311,kmadd(im3,n1,kmul(im1,ksub(n3,ltet3))),knmsub(Ro321,kmadd(im3,n2,kmul(im2,ksub(n3,ltet3))),kmadd(Ro121,kmsub(im2,ksub(ltet1,n1),kmul(im1,n2)),kmadd(Ro131,kmsub(im3,ksub(ltet1,n1),kmul(im1,n3)),kmul(Ro231,kmsub(im3,ksub(ltet2,n2),kmul(im2,n3)))))))))))),kmadd(ltet2,kmadd(im3,kmadd(nn,kmul(Ro332,kmadd(n3,ToReal(-2),ltet3)),kmadd(R4p1223,kmsub(ltet1,n2,kmul(ltet2,n1)),kmadd(R4p1323,kmsub(ltet1,n3,kmul(ltet3,n1)),kmul(R4p2323,kmsub(ltet2,n3,kmul(ltet3,n2)))))),kmadd(im1,kmadd(nn,kmul(Ro112,kmadd(n1,ToReal(-2),ltet1)),kmadd(R4p1212,kmsub(ltet2,n1,kmul(ltet1,n2)),kmadd(R4p1213,kmsub(ltet3,n1,kmul(ltet1,n3)),kmul(R4p1223,kmsub(ltet3,n2,kmul(ltet2,n3)))))),kmul(nn,kmadd(im2,kmul(Ro222,kmadd(n2,ToReal(-2),ltet2)),knmsub(Ro312,kmadd(im3,n1,kmul(im1,ksub(n3,ltet3))),knmsub(Ro322,kmadd(im3,n2,kmul(im2,ksub(n3,ltet3))),kmadd(Ro122,kmsub(im2,ksub(ltet1,n1),kmul(im1,n2)),kmadd(Ro132,kmsub(im3,ksub(ltet1,n1),kmul(im1,n3)),kmadd(Ro212,kmsub(im1,ksub(ltet2,n2),kmul(im2,n1)),kmul(Ro232,kmsub(im3,ksub(ltet2,n2),kmul(im2,n3)))))))))))),kmul(ltet3,kmadd(im1,kmadd(nn,kmul(Ro113,kmadd(n1,ToReal(-2),ltet1)),kmadd(R4p1213,kmsub(ltet2,n1,kmul(ltet1,n2)),kmadd(R4p1313,kmsub(ltet3,n1,kmul(ltet1,n3)),kmul(R4p1323,kmsub(ltet3,n2,kmul(ltet2,n3)))))),kmadd(im2,kmadd(nn,kmul(Ro223,kmadd(n2,ToReal(-2),ltet2)),kmadd(R4p1223,kmsub(ltet2,n1,kmul(ltet1,n2)),kmadd(R4p1323,kmsub(ltet3,n1,kmul(ltet1,n3)),kmul(R4p2323,kmsub(ltet3,n2,kmul(ltet2,n3)))))),kmul(nn,kmadd(im3,kmul(Ro333,kmadd(n3,ToReal(-2),ltet3)),knmsub(Ro213,kmadd(im2,n1,kmul(im1,ksub(n2,ltet2))),kmadd(Ro123,kmsub(im2,ksub(ltet1,n1),kmul(im1,n2)),kmadd(Ro133,kmsub(im3,ksub(ltet1,n1),kmul(im1,n3)),kmadd(Ro233,kmsub(im3,ksub(ltet2,n2),kmul(im2,n3)),kmadd(Ro313,kmsub(im1,ksub(ltet3,n3),kmul(im3,n1)),kmul(Ro323,kmsub(im2,ksub(ltet3,n3),kmul(im3,n2))))))))))))))));
+ kmadd(ltet1,kmadd(im2,kmadd(kmsub(ltet1,n2,kmul(ltet2,n1)),R4p1212,kmadd(kmsub(ltet1,n3,kmul(ltet3,n1)),R4p1213,kmadd(kmsub(ltet2,n3,kmul(ltet3,n2)),R4p1223,kmul(kmadd(ToReal(-2),n2,ltet2),kmul(nn,Ro221))))),kmadd(nn,kmadd(im1,kmul(Ro111,kmadd(ToReal(-2),n1,ltet1)),kmadd(kmsub(im2,ksub(ltet1,n1),kmul(im1,n2)),Ro121,kmadd(kmsub(im3,ksub(ltet1,n1),kmul(im1,n3)),Ro131,knmsub(kmadd(im2,n1,kmul(im1,ksub(n2,ltet2))),Ro211,kmsub(kmsub(im3,ksub(ltet2,n2),kmul(im2,n3)),Ro231,kmadd(kmadd(im3,n2,kmul(im2,ksub(n3,ltet3))),Ro321,kmul(Ro311,kmadd(im3,n1,kmul(im1,ksub(n3,ltet3)))))))))),kmul(im3,kmadd(kmsub(ltet1,n2,kmul(ltet2,n1)),R4p1213,kmadd(kmsub(ltet1,n3,kmul(ltet3,n1)),R4p1313,kmadd(kmsub(ltet2,n3,kmul(ltet3,n2)),R4p1323,kmul(kmadd(ToReal(-2),n3,ltet3),kmul(nn,Ro331)))))))),kmadd(ltet2,kmadd(im1,kmadd(kmsub(ltet2,n1,kmul(ltet1,n2)),R4p1212,kmadd(kmsub(ltet3,n1,kmul(ltet1,n3)),R4p1213,kmadd(kmsub(ltet3,n2,kmul(ltet2,n3)),R4p1223,kmul(kmadd(ToReal(-2),n1,ltet1),kmul(nn,Ro112))))),kmadd(nn,kmadd(kmsub(im2,ksub(ltet1,n1),kmul(im1,n2)),Ro122,kmadd(kmsub(im3,ksub(ltet1,n1),kmul(im1,n3)),Ro132,kmadd(kmsub(im1,ksub(ltet2,n2),kmul(im2,n1)),Ro212,kmadd(im2,kmul(Ro222,kmadd(ToReal(-2),n2,ltet2)),kmsub(kmsub(im3,ksub(ltet2,n2),kmul(im2,n3)),Ro232,kmadd(kmadd(im3,n2,kmul(im2,ksub(n3,ltet3))),Ro322,kmul(Ro312,kmadd(im3,n1,kmul(im1,ksub(n3,ltet3)))))))))),kmul(im3,kmadd(kmsub(ltet1,n2,kmul(ltet2,n1)),R4p1223,kmadd(kmsub(ltet1,n3,kmul(ltet3,n1)),R4p1323,kmadd(kmsub(ltet2,n3,kmul(ltet3,n2)),R4p2323,kmul(kmadd(ToReal(-2),n3,ltet3),kmul(nn,Ro332)))))))),kmsub(ltet3,kmadd(im1,kmadd(kmsub(ltet2,n1,kmul(ltet1,n2)),R4p1213,kmadd(kmsub(ltet3,n1,kmul(ltet1,n3)),R4p1313,kmadd(kmsub(ltet3,n2,kmul(ltet2,n3)),R4p1323,kmul(kmadd(ToReal(-2),n1,ltet1),kmul(nn,Ro113))))),kmadd(im2,kmadd(kmsub(ltet2,n1,kmul(ltet1,n2)),R4p1223,kmadd(kmsub(ltet3,n1,kmul(ltet1,n3)),R4p1323,kmadd(kmsub(ltet3,n2,kmul(ltet2,n3)),R4p2323,kmul(kmadd(ToReal(-2),n2,ltet2),kmul(nn,Ro223))))),kmul(nn,kmadd(kmsub(im2,ksub(ltet1,n1),kmul(im1,n2)),Ro123,kmadd(kmsub(im3,ksub(ltet1,n1),kmul(im1,n3)),Ro133,knmsub(kmadd(im2,n1,kmul(im1,ksub(n2,ltet2))),Ro213,kmadd(kmsub(im3,ksub(ltet2,n2),kmul(im2,n3)),Ro233,kmadd(kmsub(im1,ksub(ltet3,n3),kmul(im3,n1)),Ro313,kmadd(kmsub(im2,ksub(ltet3,n3),kmul(im3,n2)),Ro323,kmul(im3,kmul(Ro333,kmadd(ToReal(-2),n3,ltet3)))))))))))),kmul(kmadd(im1,kmadd(ksub(ltet1,n1),Rojo11,kmadd(ksub(ltet2,n2),Rojo21,kmul(Rojo31,ksub(ltet3,n3)))),kmadd(im2,kmadd(ksub(ltet1,n1),Rojo12,kmadd(ksub(ltet2,n2),Rojo22,kmul(Rojo32,ksub(ltet3,n3)))),kmul(im3,kmadd(ksub(ltet1,n1),Rojo13,kmadd(ksub(ltet2,n2),Rojo23,kmul(Rojo33,ksub(ltet3,n3))))))),kmul(nn,nn)))));
CCTK_REAL_VEC Psi0rL CCTK_ATTRIBUTE_UNUSED =
- knmsub(kmadd(R4p1212,kmul(ltet1,ltet1),kmadd(R4p2323,kmul(ltet3,ltet3),kmul(ltet1,kmul(ltet3,kmul(R4p1223,ToReal(-2)))))),kmsub(im2,im2,kmul(rm2,rm2)),knmsub(kmul(nn,nn),kmadd(im1,kmadd(im2,kadd(Rojo12,Rojo21),kmul(im3,kadd(Rojo13,Rojo31))),knmsub(rm1,kmadd(rm2,kadd(Rojo12,Rojo21),kmul(rm3,kadd(Rojo13,Rojo31))),kmadd(Rojo23,kmsub(im2,im3,kmul(rm2,rm3)),kmadd(Rojo32,kmsub(im2,im3,kmul(rm2,rm3)),kmadd(Rojo11,kmsub(im1,im1,kmul(rm1,rm1)),kmadd(Rojo22,kmsub(im2,im2,kmul(rm2,rm2)),kmul(Rojo33,kmsub(im3,im3,kmul(rm3,rm3))))))))),kmsub(kmadd(kmsub(ltet1,kmadd(ltet2,R4p1212,kmul(ltet3,R4p1213)),kmul(ltet3,kmadd(ltet2,R4p1223,kmul(ltet3,R4p1323)))),kmsub(im1,im2,kmul(rm1,rm2)),kmadd(kmadd(ltet1,kmul(ltet2,R4p1213),kmadd(ltet1,kmul(ltet3,R4p1313),kmadd(ltet2,kmul(ltet3,R4p1323),kmul(R4p1223,kmul(ltet2,ltet2))))),kmsub(im1,im3,kmul(rm1,rm3)),kmadd(kmsub(rm2,rm3,kmul(im2,im3)),kmadd(R4p1213,kmul(ltet1,ltet1),kmsub(ltet1,kmsub(ltet2,R4p1223,kmul(ltet3,R4p1323)),kmul(ltet2,kmul(ltet3,R4p2323)))),kmul(nn,kmadd(kmadd(ltet1,Ro112,kmadd(ltet2,Ro122,kmul(ltet3,Ro132))),kmsub(rm1,rm2,kmul(im1,im2)),kmadd(kmadd(ltet1,Ro211,kmadd(ltet2,Ro221,kmul(ltet3,Ro231))),kmsub(rm1,rm2,kmul(im1,im2)),kmadd(kmadd(ltet1,Ro113,kmadd(ltet2,Ro123,kmul(ltet3,Ro133))),kmsub(rm1,rm3,kmul(im1,im3)),kmadd(kmadd(ltet1,Ro311,kmadd(ltet2,Ro321,kmul(ltet3,Ro331))),kmsub(rm1,rm3,kmul(im1,im3)),kmadd(kmadd(ltet1,Ro213,kmadd(ltet2,Ro223,kmul(ltet3,Ro233))),kmsub(rm2,rm3,kmul(im2,im3)),kmadd(kmadd(ltet1,Ro312,kmadd(ltet2,Ro322,kmul(ltet3,Ro332))),kmsub(rm2,rm3,kmul(im2,im3)),kmadd(kmadd(ltet1,Ro111,kmadd(ltet2,Ro121,kmul(ltet3,Ro131))),kmsub(rm1,rm1,kmul(im1,im1)),kmadd(kmadd(ltet1,Ro212,kmadd(ltet2,Ro222,kmul(ltet3,Ro232))),kmsub(rm2,rm2,kmul(im2,im2)),kmul(kmadd(ltet1,Ro313,kmadd(ltet2,Ro323,kmul(ltet3,Ro333))),kmsub(rm3,rm3,kmul(im3,im3))))))))))))))),ToReal(2),kmadd(kmsub(im3,im3,kmul(rm3,rm3)),kmadd(R4p1313,kmul(ltet1,ltet1),kmadd(R4p2323,kmul(ltet2,ltet2),kmul(ltet1,kmul(ltet2,kmul(R4p1323,ToReal(2)))))),kmul(kmsub(im1,im1,kmul(rm1,rm1)),kmadd(R4p1212,kmul(ltet2,ltet2),kmadd(R4p1313,kmul(ltet3,ltet3),kmul(ltet2,kmul(ltet3,kmul(R4p1213,ToReal(2)))))))))));
+ kmadd(ToReal(2),kmul(kmsub(im1,im2,kmul(rm1,rm2)),kmsub(ltet1,kmadd(ltet2,R4p1212,kmul(ltet3,R4p1213)),kmul(ltet3,kmadd(ltet2,R4p1223,kmul(ltet3,R4p1323))))),kmadd(ToReal(2),kmul(kmadd(ltet1,kmsub(ltet2,R4p1223,kmul(ltet3,R4p1323)),kmsub(R4p1213,kmul(ltet1,ltet1),kmul(ltet2,kmul(ltet3,R4p2323)))),kmsub(rm2,rm3,kmul(im2,im3))),kmadd(ToReal(2),kmul(kmadd(ltet1,kmul(ltet2,R4p1213),kmadd(ltet1,kmul(ltet3,R4p1313),kmadd(ltet2,kmul(ltet3,R4p1323),kmul(R4p1223,kmul(ltet2,ltet2))))),kmsub(im1,im3,kmul(rm1,rm3))),knmsub(kmadd(ToReal(2),kmul(ltet2,kmul(ltet3,R4p1213)),kmadd(R4p1212,kmul(ltet2,ltet2),kmul(R4p1313,kmul(ltet3,ltet3)))),kmsub(im1,im1,kmul(rm1,rm1)),knmsub(kmadd(ToReal(-2),kmul(ltet1,kmul(ltet3,R4p1223)),kmadd(R4p1212,kmul(ltet1,ltet1),kmul(R4p2323,kmul(ltet3,ltet3)))),kmsub(im2,im2,kmul(rm2,rm2)),knmsub(kmul(nn,nn),kmadd(kmsub(im2,im3,kmul(rm2,rm3)),Rojo23,kmadd(im1,kmadd(im2,kadd(Rojo12,Rojo21),kmul(im3,kadd(Rojo13,Rojo31))),knmsub(rm1,kmadd(rm2,kadd(Rojo12,Rojo21),kmul(rm3,kadd(Rojo13,Rojo31))),kmadd(kmsub(im2,im3,kmul(rm2,rm3)),Rojo32,kmadd(Rojo11,kmsub(im1,im1,kmul(rm1,rm1)),kmadd(Rojo22,kmsub(im2,im2,kmul(rm2,rm2)),kmul(Rojo33,kmsub(im3,im3,kmul(rm3,rm3))))))))),kmsub(ToReal(2),kmul(nn,kmadd(kmsub(rm1,rm2,kmul(im1,im2)),kmadd(ltet1,Ro112,kmadd(ltet2,Ro122,kmul(ltet3,Ro132))),kmadd(kmsub(rm1,rm3,kmul(im1,im3)),kmadd(ltet1,Ro113,kmadd(ltet2,Ro123,kmul(ltet3,Ro133))),kmadd(kmsub(rm1,rm2,kmul(im1,im2)),kmadd(ltet1,Ro211,kmadd(ltet2,Ro221,kmul(ltet3,Ro231))),kmadd(kmsub(rm2,rm3,kmul(im2,im3)),kmadd(ltet1,Ro213,kmadd(ltet2,Ro223,kmul(ltet3,Ro233))),kmadd(kmsub(rm1,rm3,kmul(im1,im3)),kmadd(ltet1,Ro311,kmadd(ltet2,Ro321,kmul(ltet3,Ro331))),kmadd(kmsub(rm2,rm3,kmul(im2,im3)),kmadd(ltet1,Ro312,kmadd(ltet2,Ro322,kmul(ltet3,Ro332))),kmadd(kmadd(ltet1,Ro111,kmadd(ltet2,Ro121,kmul(ltet3,Ro131))),kmsub(rm1,rm1,kmul(im1,im1)),kmadd(kmadd(ltet1,Ro212,kmadd(ltet2,Ro222,kmul(ltet3,Ro232))),kmsub(rm2,rm2,kmul(im2,im2)),kmul(kmadd(ltet1,Ro313,kmadd(ltet2,Ro323,kmul(ltet3,Ro333))),kmsub(rm3,rm3,kmul(im3,im3)))))))))))),kmul(kmadd(ToReal(2),kmul(ltet1,kmul(ltet2,R4p1323)),kmadd(R4p1313,kmul(ltet1,ltet1),kmul(R4p2323,kmul(ltet2,ltet2)))),kmsub(im3,im3,kmul(rm3,rm3))))))))));
CCTK_REAL_VEC Psi0iL CCTK_ATTRIBUTE_UNUSED =
- kmadd(kmadd(im3,rm1,kmul(im1,rm3)),kmul(kmadd(ltet1,kmadd(ltet2,R4p1213,kmul(ltet3,R4p1313)),kmadd(ltet2,kmul(ltet3,R4p1323),kmul(R4p1223,kmul(ltet2,ltet2)))),ToReal(-2)),kmadd(ToReal(2),kmadd(im2,kmul(rm2,kmadd(R4p1212,kmul(ltet1,ltet1),kmadd(R4p2323,kmul(ltet3,ltet3),kmul(ltet1,kmul(ltet3,kmul(R4p1223,ToReal(-2))))))),kmadd(kmadd(im2,rm1,kmul(im1,rm2)),kmsub(ltet3,kmadd(ltet2,R4p1223,kmul(ltet3,R4p1323)),kmul(ltet1,kmadd(ltet2,R4p1212,kmul(ltet3,R4p1213)))),kmadd(kmadd(im3,rm2,kmul(im2,rm3)),kmadd(R4p1213,kmul(ltet1,ltet1),kmsub(ltet1,kmsub(ltet2,R4p1223,kmul(ltet3,R4p1323)),kmul(ltet2,kmul(ltet3,R4p2323)))),kmadd(im1,kmul(rm1,kmadd(R4p1212,kmul(ltet2,ltet2),kmadd(R4p1313,kmul(ltet3,ltet3),kmul(ltet2,kmul(ltet3,kmul(R4p1213,ToReal(2))))))),kmadd(im3,kmul(rm3,kmadd(R4p1313,kmul(ltet1,ltet1),kmadd(R4p2323,kmul(ltet2,ltet2),kmul(ltet1,kmul(ltet2,kmul(R4p1323,ToReal(2))))))),kmul(nn,kmadd(kmadd(im2,rm1,kmul(im1,rm2)),kmadd(ltet1,kadd(Ro112,Ro211),kmadd(ltet2,kadd(Ro122,Ro221),kmul(ltet3,kadd(Ro132,Ro231)))),kmadd(kmadd(im3,rm1,kmul(im1,rm3)),kmadd(ltet1,kadd(Ro113,Ro311),kmadd(ltet2,kadd(Ro123,Ro321),kmul(ltet3,kadd(Ro133,Ro331)))),kmadd(kmadd(im3,rm2,kmul(im2,rm3)),kmadd(ltet1,kadd(Ro213,Ro312),kmadd(ltet2,kadd(Ro223,Ro322),kmul(ltet3,kadd(Ro233,Ro332)))),kmul(kmadd(im1,kmul(rm1,kmadd(ltet1,Ro111,kmadd(ltet2,Ro121,kmul(ltet3,Ro131)))),kmadd(im2,kmul(rm2,kmadd(ltet1,Ro212,kmadd(ltet2,Ro222,kmul(ltet3,Ro232)))),kmul(im3,kmul(rm3,kmadd(ltet1,Ro313,kmadd(ltet2,Ro323,kmul(ltet3,Ro333))))))),ToReal(2))))))))))),kmul(kmul(nn,nn),kmadd(im1,kmadd(rm2,kadd(Rojo12,Rojo21),kmadd(rm3,kadd(Rojo13,Rojo31),kmul(rm1,kmul(Rojo11,ToReal(2))))),kmadd(im2,kmadd(rm1,kadd(Rojo12,Rojo21),kmadd(rm3,kadd(Rojo23,Rojo32),kmul(rm2,kmul(Rojo22,ToReal(2))))),kmul(im3,kmadd(rm1,kadd(Rojo13,Rojo31),kmadd(rm2,kadd(Rojo23,Rojo32),kmul(rm3,kmul(Rojo33,ToReal(2)))))))))));
-
+ kmadd(ToReal(-2),kmul(kmadd(im3,rm1,kmul(im1,rm3)),kmadd(ltet1,kmadd(ltet2,R4p1213,kmul(ltet3,R4p1313)),kmadd(ltet2,kmul(ltet3,R4p1323),kmul(R4p1223,kmul(ltet2,ltet2))))),kmadd(ToReal(2),kmadd(kmsub(ltet3,kmadd(ltet2,R4p1223,kmul(ltet3,R4p1323)),kmul(ltet1,kmadd(ltet2,R4p1212,kmul(ltet3,R4p1213)))),kmadd(im2,rm1,kmul(im1,rm2)),kmadd(nn,kmadd(kmadd(im2,rm1,kmul(im1,rm2)),kmadd(ltet1,kadd(Ro112,Ro211),kmadd(ltet2,kadd(Ro122,Ro221),kmul(ltet3,kadd(Ro132,Ro231)))),kmadd(kmadd(im3,rm1,kmul(im1,rm3)),kmadd(ltet1,kadd(Ro113,Ro311),kmadd(ltet2,kadd(Ro123,Ro321),kmul(ltet3,kadd(Ro133,Ro331)))),kmadd(kmadd(im3,rm2,kmul(im2,rm3)),kmadd(ltet1,kadd(Ro213,Ro312),kmadd(ltet2,kadd(Ro223,Ro322),kmul(ltet3,kadd(Ro233,Ro332)))),kmul(kmadd(im1,kmul(rm1,kmadd(ltet1,Ro111,kmadd(ltet2,Ro121,kmul(ltet3,Ro131)))),kmadd(im2,kmul(rm2,kmadd(ltet1,Ro212,kmadd(ltet2,Ro222,kmul(ltet3,Ro232)))),kmul(im3,kmul(rm3,kmadd(ltet1,Ro313,kmadd(ltet2,Ro323,kmul(ltet3,Ro333))))))),ToReal(2))))),kmadd(kmadd(im3,rm2,kmul(im2,rm3)),kmadd(ltet1,kmsub(ltet2,R4p1223,kmul(ltet3,R4p1323)),kmsub(R4p1213,kmul(ltet1,ltet1),kmul(ltet2,kmul(ltet3,R4p2323)))),kmadd(im3,kmul(rm3,kmadd(ToReal(2),kmul(ltet1,kmul(ltet2,R4p1323)),kmadd(R4p1313,kmul(ltet1,ltet1),kmul(R4p2323,kmul(ltet2,ltet2))))),kmadd(im1,kmul(rm1,kmadd(ToReal(2),kmul(ltet2,kmul(ltet3,R4p1213)),kmadd(R4p1212,kmul(ltet2,ltet2),kmul(R4p1313,kmul(ltet3,ltet3))))),kmul(im2,kmul(rm2,kmadd(ToReal(-2),kmul(ltet1,kmul(ltet3,R4p1223)),kmadd(R4p1212,kmul(ltet1,ltet1),kmul(R4p2323,kmul(ltet3,ltet3))))))))))),kmul(kmadd(im1,kmadd(ToReal(2),kmul(rm1,Rojo11),kmadd(rm2,kadd(Rojo12,Rojo21),kmul(rm3,kadd(Rojo13,Rojo31)))),kmadd(im2,kmadd(rm1,kadd(Rojo12,Rojo21),kmadd(ToReal(2),kmul(rm2,Rojo22),kmul(rm3,kadd(Rojo23,Rojo32)))),kmul(im3,kmadd(rm1,kadd(Rojo13,Rojo31),kmadd(rm2,kadd(Rojo23,Rojo32),kmul(kmul(rm3,Rojo33),ToReal(2))))))),kmul(nn,nn))));
/* Copy local copies back to grid functions */
vec_store_partial_prepare(i,vecimin,vecimax);
vec_store_nta_partial(Psi0i[index],Psi0iL);
@@ -1395,18 +1415,15 @@ static void WeylScal4_psis_calc_2nd_Body(const cGH* restrict const cctkGH, const
}
CCTK_ENDLOOP3STR(WeylScal4_psis_calc_2nd);
}
-
extern "C" void WeylScal4_psis_calc_2nd(CCTK_ARGUMENTS)
{
DECLARE_CCTK_ARGUMENTS;
DECLARE_CCTK_PARAMETERS;
-
if (verbose > 1)
{
CCTK_VInfo(CCTK_THORNSTRING,"Entering WeylScal4_psis_calc_2nd_Body");
}
-
if (cctk_iteration % WeylScal4_psis_calc_2nd_calc_every != WeylScal4_psis_calc_2nd_calc_offset)
{
return;
@@ -1426,41 +1443,42 @@ extern "C" void WeylScal4_psis_calc_2nd(CCTK_ARGUMENTS)
"WeylScal4::Psi3r_group",
"WeylScal4::Psi4i_group",
"WeylScal4::Psi4r_group"};
- GenericFD_AssertGroupStorage(cctkGH, "WeylScal4_psis_calc_2nd", 13, groups);
+ AssertGroupStorage(cctkGH, "WeylScal4_psis_calc_2nd", 13, groups);
switch (fdOrder)
{
case 2:
{
- GenericFD_EnsureStencilFits(cctkGH, "WeylScal4_psis_calc_2nd", 1, 1, 1);
+ EnsureStencilFits(cctkGH, "WeylScal4_psis_calc_2nd", 1, 1, 1);
break;
}
case 4:
{
- GenericFD_EnsureStencilFits(cctkGH, "WeylScal4_psis_calc_2nd", 1, 1, 1);
+ EnsureStencilFits(cctkGH, "WeylScal4_psis_calc_2nd", 1, 1, 1);
break;
}
case 6:
{
- GenericFD_EnsureStencilFits(cctkGH, "WeylScal4_psis_calc_2nd", 1, 1, 1);
+ EnsureStencilFits(cctkGH, "WeylScal4_psis_calc_2nd", 1, 1, 1);
break;
}
case 8:
{
- GenericFD_EnsureStencilFits(cctkGH, "WeylScal4_psis_calc_2nd", 1, 1, 1);
+ EnsureStencilFits(cctkGH, "WeylScal4_psis_calc_2nd", 1, 1, 1);
break;
}
default:
CCTK_BUILTIN_UNREACHABLE();
}
- GenericFD_LoopOverInterior(cctkGH, WeylScal4_psis_calc_2nd_Body);
-
+ LoopOverInterior(cctkGH, WeylScal4_psis_calc_2nd_Body);
if (verbose > 1)
{
CCTK_VInfo(CCTK_THORNSTRING,"Leaving WeylScal4_psis_calc_2nd_Body");
}
}
+
+} // namespace WeylScal4
diff --git a/src/WeylScal4_psis_calc_4th.cc b/src/WeylScal4_psis_calc_4th.cc
index d32959e..06bf82c 100644
--- a/src/WeylScal4_psis_calc_4th.cc
+++ b/src/WeylScal4_psis_calc_4th.cc
@@ -2,6 +2,7 @@
#define KRANC_C
+#include <algorithm>
#include <assert.h>
#include <math.h>
#include <stdio.h>
@@ -10,22 +11,12 @@
#include "cctk.h"
#include "cctk_Arguments.h"
#include "cctk_Parameters.h"
-#include "GenericFD.h"
+#include "Kranc.hh"
#include "Differencing.h"
-#include "cctk_Loop.h"
#include "loopcontrol.h"
#include "vectors.h"
-/* Define macros used in calculations */
-#define INITVALUE (42)
-#define ScalarINV(x) ((CCTK_REAL)1.0 / (x))
-#define ScalarSQR(x) ((x) * (x))
-#define ScalarCUB(x) ((x) * ScalarSQR(x))
-#define ScalarQAD(x) (ScalarSQR(ScalarSQR(x)))
-#define INV(x) (kdiv(ToReal(1.0),x))
-#define SQR(x) (kmul(x,x))
-#define CUB(x) (kmul(x,SQR(x)))
-#define QAD(x) (SQR(SQR(x)))
+namespace WeylScal4 {
extern "C" void WeylScal4_psis_calc_4th_SelectBCs(CCTK_ARGUMENTS)
{
@@ -35,34 +26,34 @@ extern "C" void WeylScal4_psis_calc_4th_SelectBCs(CCTK_ARGUMENTS)
if (cctk_iteration % WeylScal4_psis_calc_4th_calc_every != WeylScal4_psis_calc_4th_calc_offset)
return;
CCTK_INT ierr CCTK_ATTRIBUTE_UNUSED = 0;
- ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "WeylScal4::Psi0i_group","flat");
+ ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GetBoundaryWidth(cctkGH), -1 /* no table */, "WeylScal4::Psi0i_group","flat");
if (ierr < 0)
CCTK_WARN(1, "Failed to register flat BC for WeylScal4::Psi0i_group.");
- ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "WeylScal4::Psi0r_group","flat");
+ ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GetBoundaryWidth(cctkGH), -1 /* no table */, "WeylScal4::Psi0r_group","flat");
if (ierr < 0)
CCTK_WARN(1, "Failed to register flat BC for WeylScal4::Psi0r_group.");
- ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "WeylScal4::Psi1i_group","flat");
+ ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GetBoundaryWidth(cctkGH), -1 /* no table */, "WeylScal4::Psi1i_group","flat");
if (ierr < 0)
CCTK_WARN(1, "Failed to register flat BC for WeylScal4::Psi1i_group.");
- ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "WeylScal4::Psi1r_group","flat");
+ ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GetBoundaryWidth(cctkGH), -1 /* no table */, "WeylScal4::Psi1r_group","flat");
if (ierr < 0)
CCTK_WARN(1, "Failed to register flat BC for WeylScal4::Psi1r_group.");
- ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "WeylScal4::Psi2i_group","flat");
+ ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GetBoundaryWidth(cctkGH), -1 /* no table */, "WeylScal4::Psi2i_group","flat");
if (ierr < 0)
CCTK_WARN(1, "Failed to register flat BC for WeylScal4::Psi2i_group.");
- ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "WeylScal4::Psi2r_group","flat");
+ ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GetBoundaryWidth(cctkGH), -1 /* no table */, "WeylScal4::Psi2r_group","flat");
if (ierr < 0)
CCTK_WARN(1, "Failed to register flat BC for WeylScal4::Psi2r_group.");
- ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "WeylScal4::Psi3i_group","flat");
+ ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GetBoundaryWidth(cctkGH), -1 /* no table */, "WeylScal4::Psi3i_group","flat");
if (ierr < 0)
CCTK_WARN(1, "Failed to register flat BC for WeylScal4::Psi3i_group.");
- ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "WeylScal4::Psi3r_group","flat");
+ ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GetBoundaryWidth(cctkGH), -1 /* no table */, "WeylScal4::Psi3r_group","flat");
if (ierr < 0)
CCTK_WARN(1, "Failed to register flat BC for WeylScal4::Psi3r_group.");
- ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "WeylScal4::Psi4i_group","flat");
+ ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GetBoundaryWidth(cctkGH), -1 /* no table */, "WeylScal4::Psi4i_group","flat");
if (ierr < 0)
CCTK_WARN(1, "Failed to register flat BC for WeylScal4::Psi4i_group.");
- ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "WeylScal4::Psi4r_group","flat");
+ ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GetBoundaryWidth(cctkGH), -1 /* no table */, "WeylScal4::Psi4r_group","flat");
if (ierr < 0)
CCTK_WARN(1, "Failed to register flat BC for WeylScal4::Psi4r_group.");
return;
@@ -73,24 +64,37 @@ static void WeylScal4_psis_calc_4th_Body(const cGH* restrict const cctkGH, const
DECLARE_CCTK_ARGUMENTS;
DECLARE_CCTK_PARAMETERS;
-
/* Include user-supplied include files */
-
/* Initialise finite differencing variables */
const ptrdiff_t di CCTK_ATTRIBUTE_UNUSED = 1;
- const ptrdiff_t dj CCTK_ATTRIBUTE_UNUSED = CCTK_GFINDEX3D(cctkGH,0,1,0) - CCTK_GFINDEX3D(cctkGH,0,0,0);
- const ptrdiff_t dk CCTK_ATTRIBUTE_UNUSED = CCTK_GFINDEX3D(cctkGH,0,0,1) - CCTK_GFINDEX3D(cctkGH,0,0,0);
+ const ptrdiff_t dj CCTK_ATTRIBUTE_UNUSED =
+ CCTK_GFINDEX3D(cctkGH,0,1,0) - CCTK_GFINDEX3D(cctkGH,0,0,0);
+ const ptrdiff_t dk CCTK_ATTRIBUTE_UNUSED =
+ CCTK_GFINDEX3D(cctkGH,0,0,1) - CCTK_GFINDEX3D(cctkGH,0,0,0);
const ptrdiff_t cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL) * di;
const ptrdiff_t cdj CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL) * dj;
const ptrdiff_t cdk CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL) * dk;
- const CCTK_REAL_VEC dx CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_SPACE(0));
- const CCTK_REAL_VEC dy CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_SPACE(1));
- const CCTK_REAL_VEC dz CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_SPACE(2));
- const CCTK_REAL_VEC dt CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_TIME);
+ const ptrdiff_t cctkLbnd1 CCTK_ATTRIBUTE_UNUSED = cctk_lbnd[0];
+ const ptrdiff_t cctkLbnd2 CCTK_ATTRIBUTE_UNUSED = cctk_lbnd[1];
+ const ptrdiff_t cctkLbnd3 CCTK_ATTRIBUTE_UNUSED = cctk_lbnd[2];
const CCTK_REAL_VEC t CCTK_ATTRIBUTE_UNUSED = ToReal(cctk_time);
- const CCTK_REAL_VEC dxi CCTK_ATTRIBUTE_UNUSED = INV(dx);
- const CCTK_REAL_VEC dyi CCTK_ATTRIBUTE_UNUSED = INV(dy);
- const CCTK_REAL_VEC dzi CCTK_ATTRIBUTE_UNUSED = INV(dz);
+ const CCTK_REAL_VEC cctkOriginSpace1 CCTK_ATTRIBUTE_UNUSED =
+ ToReal(CCTK_ORIGIN_SPACE(0));
+ const CCTK_REAL_VEC cctkOriginSpace2 CCTK_ATTRIBUTE_UNUSED =
+ ToReal(CCTK_ORIGIN_SPACE(1));
+ const CCTK_REAL_VEC cctkOriginSpace3 CCTK_ATTRIBUTE_UNUSED =
+ ToReal(CCTK_ORIGIN_SPACE(2));
+ const CCTK_REAL_VEC dt CCTK_ATTRIBUTE_UNUSED =
+ ToReal(CCTK_DELTA_TIME);
+ const CCTK_REAL_VEC dx CCTK_ATTRIBUTE_UNUSED =
+ ToReal(CCTK_DELTA_SPACE(0));
+ const CCTK_REAL_VEC dy CCTK_ATTRIBUTE_UNUSED =
+ ToReal(CCTK_DELTA_SPACE(1));
+ const CCTK_REAL_VEC dz CCTK_ATTRIBUTE_UNUSED =
+ ToReal(CCTK_DELTA_SPACE(2));
+ const CCTK_REAL_VEC dxi CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),dx);
+ const CCTK_REAL_VEC dyi CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),dy);
+ const CCTK_REAL_VEC dzi CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),dz);
const CCTK_REAL_VEC khalf CCTK_ATTRIBUTE_UNUSED = ToReal(0.5);
const CCTK_REAL_VEC kthird CCTK_ATTRIBUTE_UNUSED =
ToReal(0.333333333333333333333333333333);
@@ -104,35 +108,34 @@ static void WeylScal4_psis_calc_4th_Body(const cGH* restrict const cctkGH, const
kmul(dyi,ToReal(0.5));
const CCTK_REAL_VEC hdzi CCTK_ATTRIBUTE_UNUSED =
kmul(dzi,ToReal(0.5));
-
/* Initialize predefined quantities */
const CCTK_REAL_VEC p1o12dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dx);
const CCTK_REAL_VEC p1o12dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dy);
const CCTK_REAL_VEC p1o12dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dz);
- const CCTK_REAL_VEC p1o144dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dy,dx));
- const CCTK_REAL_VEC p1o144dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dz,dx));
- const CCTK_REAL_VEC p1o144dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dz,dy));
+ const CCTK_REAL_VEC p1o144dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dx,dy));
+ const CCTK_REAL_VEC p1o144dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dx,dz));
+ const CCTK_REAL_VEC p1o144dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dy,dz));
const CCTK_REAL_VEC p1o180dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dx,dx));
const CCTK_REAL_VEC p1o180dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dy,dy));
const CCTK_REAL_VEC p1o180dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dz,dz));
const CCTK_REAL_VEC p1o2dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dx);
const CCTK_REAL_VEC p1o2dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dy);
const CCTK_REAL_VEC p1o2dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dz);
- const CCTK_REAL_VEC p1o3600dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dy,dx));
- const CCTK_REAL_VEC p1o3600dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dz,dx));
- const CCTK_REAL_VEC p1o3600dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dz,dy));
- const CCTK_REAL_VEC p1o4dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dy,dx));
- const CCTK_REAL_VEC p1o4dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dz,dx));
- const CCTK_REAL_VEC p1o4dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dz,dy));
+ const CCTK_REAL_VEC p1o3600dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dx,dy));
+ const CCTK_REAL_VEC p1o3600dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dx,dz));
+ const CCTK_REAL_VEC p1o3600dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dy,dz));
+ const CCTK_REAL_VEC p1o4dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dx,dy));
+ const CCTK_REAL_VEC p1o4dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dx,dz));
+ const CCTK_REAL_VEC p1o4dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dy,dz));
const CCTK_REAL_VEC p1o5040dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dx,dx));
const CCTK_REAL_VEC p1o5040dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dy,dy));
const CCTK_REAL_VEC p1o5040dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dz,dz));
const CCTK_REAL_VEC p1o60dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dx);
const CCTK_REAL_VEC p1o60dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dy);
const CCTK_REAL_VEC p1o60dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dz);
- const CCTK_REAL_VEC p1o705600dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dy,dx));
- const CCTK_REAL_VEC p1o705600dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dz,dx));
- const CCTK_REAL_VEC p1o705600dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dz,dy));
+ const CCTK_REAL_VEC p1o705600dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dx,dy));
+ const CCTK_REAL_VEC p1o705600dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dx,dz));
+ const CCTK_REAL_VEC p1o705600dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dy,dz));
const CCTK_REAL_VEC p1o840dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dx);
const CCTK_REAL_VEC p1o840dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dy);
const CCTK_REAL_VEC p1o840dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dz);
@@ -142,62 +145,76 @@ static void WeylScal4_psis_calc_4th_Body(const cGH* restrict const cctkGH, const
const CCTK_REAL_VEC pm1o12dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dx,dx));
const CCTK_REAL_VEC pm1o12dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dy,dy));
const CCTK_REAL_VEC pm1o12dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dz,dz));
-
/* Jacobian variable pointers */
- const bool use_jacobian1 = (!CCTK_IsFunctionAliased("MultiPatch_GetMap") || MultiPatch_GetMap(cctkGH) != jacobian_identity_map)
+ const bool usejacobian1 = (!CCTK_IsFunctionAliased("MultiPatch_GetMap") || MultiPatch_GetMap(cctkGH) != jacobian_identity_map)
&& strlen(jacobian_group) > 0;
- const bool use_jacobian = assume_use_jacobian>=0 ? assume_use_jacobian : use_jacobian1;
- const bool usejacobian CCTK_ATTRIBUTE_UNUSED = use_jacobian;
- if (use_jacobian && (strlen(jacobian_derivative_group) == 0))
+ const bool usejacobian = assume_use_jacobian>=0 ? assume_use_jacobian : usejacobian1;
+ if (usejacobian && (strlen(jacobian_derivative_group) == 0))
{
CCTK_WARN(1, "GenericFD::jacobian_group and GenericFD::jacobian_derivative_group must both be set to valid group names");
}
const CCTK_REAL* restrict jacobian_ptrs[9];
- if (use_jacobian) GenericFD_GroupDataPointers(cctkGH, jacobian_group,
+ if (usejacobian) GroupDataPointers(cctkGH, jacobian_group,
9, jacobian_ptrs);
- const CCTK_REAL* restrict const J11 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[0] : 0;
- const CCTK_REAL* restrict const J12 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[1] : 0;
- const CCTK_REAL* restrict const J13 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[2] : 0;
- const CCTK_REAL* restrict const J21 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[3] : 0;
- const CCTK_REAL* restrict const J22 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[4] : 0;
- const CCTK_REAL* restrict const J23 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[5] : 0;
- const CCTK_REAL* restrict const J31 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[6] : 0;
- const CCTK_REAL* restrict const J32 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[7] : 0;
- const CCTK_REAL* restrict const J33 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[8] : 0;
+ const CCTK_REAL* restrict const J11 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_ptrs[0] : 0;
+ const CCTK_REAL* restrict const J12 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_ptrs[1] : 0;
+ const CCTK_REAL* restrict const J13 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_ptrs[2] : 0;
+ const CCTK_REAL* restrict const J21 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_ptrs[3] : 0;
+ const CCTK_REAL* restrict const J22 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_ptrs[4] : 0;
+ const CCTK_REAL* restrict const J23 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_ptrs[5] : 0;
+ const CCTK_REAL* restrict const J31 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_ptrs[6] : 0;
+ const CCTK_REAL* restrict const J32 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_ptrs[7] : 0;
+ const CCTK_REAL* restrict const J33 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_ptrs[8] : 0;
- const CCTK_REAL* restrict jacobian_derivative_ptrs[18] CCTK_ATTRIBUTE_UNUSED;
- if (use_jacobian) GenericFD_GroupDataPointers(cctkGH, jacobian_derivative_group,
- 18, jacobian_derivative_ptrs);
+ const CCTK_REAL* restrict jacobian_determinant_ptrs[1] CCTK_ATTRIBUTE_UNUSED;
+ if (usejacobian && strlen(jacobian_determinant_group) > 0) GroupDataPointers(cctkGH, jacobian_determinant_group,
+ 1, jacobian_determinant_ptrs);
- const CCTK_REAL* restrict const dJ111 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[0] : 0;
- const CCTK_REAL* restrict const dJ112 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[1] : 0;
- const CCTK_REAL* restrict const dJ113 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[2] : 0;
- const CCTK_REAL* restrict const dJ122 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[3] : 0;
- const CCTK_REAL* restrict const dJ123 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[4] : 0;
- const CCTK_REAL* restrict const dJ133 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[5] : 0;
- const CCTK_REAL* restrict const dJ211 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[6] : 0;
- const CCTK_REAL* restrict const dJ212 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[7] : 0;
- const CCTK_REAL* restrict const dJ213 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[8] : 0;
- const CCTK_REAL* restrict const dJ222 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[9] : 0;
- const CCTK_REAL* restrict const dJ223 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[10] : 0;
- const CCTK_REAL* restrict const dJ233 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[11] : 0;
- const CCTK_REAL* restrict const dJ311 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[12] : 0;
- const CCTK_REAL* restrict const dJ312 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[13] : 0;
- const CCTK_REAL* restrict const dJ313 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[14] : 0;
- const CCTK_REAL* restrict const dJ322 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[15] : 0;
- const CCTK_REAL* restrict const dJ323 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[16] : 0;
- const CCTK_REAL* restrict const dJ333 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[17] : 0;
+ const CCTK_REAL* restrict const detJ CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_determinant_ptrs[0] : 0;
- /* Assign local copies of arrays functions */
+ const CCTK_REAL* restrict jacobian_inverse_ptrs[9] CCTK_ATTRIBUTE_UNUSED;
+ if (usejacobian && strlen(jacobian_inverse_group) > 0) GroupDataPointers(cctkGH, jacobian_inverse_group,
+ 9, jacobian_inverse_ptrs);
+ const CCTK_REAL* restrict const iJ11 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_inverse_ptrs[0] : 0;
+ const CCTK_REAL* restrict const iJ12 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_inverse_ptrs[1] : 0;
+ const CCTK_REAL* restrict const iJ13 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_inverse_ptrs[2] : 0;
+ const CCTK_REAL* restrict const iJ21 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_inverse_ptrs[3] : 0;
+ const CCTK_REAL* restrict const iJ22 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_inverse_ptrs[4] : 0;
+ const CCTK_REAL* restrict const iJ23 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_inverse_ptrs[5] : 0;
+ const CCTK_REAL* restrict const iJ31 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_inverse_ptrs[6] : 0;
+ const CCTK_REAL* restrict const iJ32 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_inverse_ptrs[7] : 0;
+ const CCTK_REAL* restrict const iJ33 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_inverse_ptrs[8] : 0;
+ const CCTK_REAL* restrict jacobian_derivative_ptrs[18] CCTK_ATTRIBUTE_UNUSED;
+ if (usejacobian) GroupDataPointers(cctkGH, jacobian_derivative_group,
+ 18, jacobian_derivative_ptrs);
- /* Calculate temporaries and arrays functions */
+ const CCTK_REAL* restrict const dJ111 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_derivative_ptrs[0] : 0;
+ const CCTK_REAL* restrict const dJ112 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_derivative_ptrs[1] : 0;
+ const CCTK_REAL* restrict const dJ113 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_derivative_ptrs[2] : 0;
+ const CCTK_REAL* restrict const dJ122 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_derivative_ptrs[3] : 0;
+ const CCTK_REAL* restrict const dJ123 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_derivative_ptrs[4] : 0;
+ const CCTK_REAL* restrict const dJ133 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_derivative_ptrs[5] : 0;
+ const CCTK_REAL* restrict const dJ211 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_derivative_ptrs[6] : 0;
+ const CCTK_REAL* restrict const dJ212 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_derivative_ptrs[7] : 0;
+ const CCTK_REAL* restrict const dJ213 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_derivative_ptrs[8] : 0;
+ const CCTK_REAL* restrict const dJ222 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_derivative_ptrs[9] : 0;
+ const CCTK_REAL* restrict const dJ223 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_derivative_ptrs[10] : 0;
+ const CCTK_REAL* restrict const dJ233 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_derivative_ptrs[11] : 0;
+ const CCTK_REAL* restrict const dJ311 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_derivative_ptrs[12] : 0;
+ const CCTK_REAL* restrict const dJ312 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_derivative_ptrs[13] : 0;
+ const CCTK_REAL* restrict const dJ313 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_derivative_ptrs[14] : 0;
+ const CCTK_REAL* restrict const dJ322 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_derivative_ptrs[15] : 0;
+ const CCTK_REAL* restrict const dJ323 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_derivative_ptrs[16] : 0;
+ const CCTK_REAL* restrict const dJ333 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_derivative_ptrs[17] : 0;
+ /* Assign local copies of arrays functions */
- /* Copy local copies back to grid functions */
+ /* Calculate temporaries and arrays functions */
+ /* Copy local copies back to grid functions */
/* Loop over the grid points */
const int imin0=imin[0];
const int imin1=imin[1];
@@ -205,15 +222,13 @@ static void WeylScal4_psis_calc_4th_Body(const cGH* restrict const cctkGH, const
const int imax0=imax[0];
const int imax1=imax[1];
const int imax2=imax[2];
- #pragma omp parallel // reduction(+: vec_iter_counter, vec_op_counter, vec_mem_counter)
+ #pragma omp parallel
CCTK_LOOP3STR(WeylScal4_psis_calc_4th,
i,j,k, imin0,imin1,imin2, imax0,imax1,imax2,
cctk_ash[0],cctk_ash[1],cctk_ash[2],
vecimin,vecimax, CCTK_REAL_VEC_SIZE)
{
const ptrdiff_t index CCTK_ATTRIBUTE_UNUSED = di*i + dj*j + dk*k;
- // vec_iter_counter+=CCTK_REAL_VEC_SIZE;
-
/* Assign local copies of grid functions */
CCTK_REAL_VEC gxxL CCTK_ATTRIBUTE_UNUSED = vec_load(gxx[index]);
@@ -235,7 +250,7 @@ static void WeylScal4_psis_calc_4th_Body(const cGH* restrict const cctkGH, const
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 CCTK_ATTRIBUTE_UNUSED ;
- if (use_jacobian)
+ if (usejacobian)
{
dJ111L = vec_load(dJ111[index]);
dJ112L = vec_load(dJ112[index]);
@@ -265,9 +280,7 @@ static void WeylScal4_psis_calc_4th_Body(const cGH* restrict const cctkGH, const
J32L = vec_load(J32[index]);
J33L = vec_load(J33[index]);
}
-
/* Include user supplied include files */
-
/* Precompute derivatives */
CCTK_REAL_VEC PDstandard4th1gxx CCTK_ATTRIBUTE_UNUSED;
CCTK_REAL_VEC PDstandard4th2gxx CCTK_ATTRIBUTE_UNUSED;
@@ -654,7 +667,6 @@ static void WeylScal4_psis_calc_4th_Body(const cGH* restrict const cctkGH, const
default:
CCTK_BUILTIN_UNREACHABLE();
}
-
/* Calculate temporaries and grid functions */
CCTK_REAL_VEC JacPDstandard4th11gyy CCTK_ATTRIBUTE_UNUSED;
CCTK_REAL_VEC JacPDstandard4th11gyz CCTK_ATTRIBUTE_UNUSED;
@@ -714,7 +726,7 @@ static void WeylScal4_psis_calc_4th_Body(const cGH* restrict const cctkGH, const
CCTK_REAL_VEC JacPDstandard4th3kyy CCTK_ATTRIBUTE_UNUSED;
CCTK_REAL_VEC JacPDstandard4th3kyz CCTK_ATTRIBUTE_UNUSED;
- if (use_jacobian)
+ if (usejacobian)
{
JacPDstandard4th1gxx =
kmadd(J11L,PDstandard4th1gxx,kmadd(J21L,PDstandard4th2gxx,kmul(J31L,PDstandard4th3gxx)));
@@ -816,31 +828,31 @@ static void WeylScal4_psis_calc_4th_Body(const cGH* restrict const cctkGH, const
kmadd(J13L,PDstandard4th1kyz,kmadd(J23L,PDstandard4th2kyz,kmul(J33L,PDstandard4th3kyz)));
JacPDstandard4th11gyy =
- kmadd(dJ111L,PDstandard4th1gyy,kmadd(dJ211L,PDstandard4th2gyy,kmadd(dJ311L,PDstandard4th3gyy,kmadd(PDstandard4th11gyy,kmul(J11L,J11L),kmadd(PDstandard4th22gyy,kmul(J21L,J21L),kmadd(PDstandard4th33gyy,kmul(J31L,J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandard4th12gyy,kmul(J31L,PDstandard4th13gyy)),kmul(J21L,kmul(J31L,PDstandard4th23gyy))),ToReal(2))))))));
+ kmadd(dJ111L,PDstandard4th1gyy,kmadd(ToReal(2),kmadd(J11L,kmadd(J21L,PDstandard4th12gyy,kmul(J31L,PDstandard4th13gyy)),kmul(J21L,kmul(J31L,PDstandard4th23gyy))),kmadd(dJ211L,PDstandard4th2gyy,kmadd(dJ311L,PDstandard4th3gyy,kmadd(PDstandard4th11gyy,kmul(J11L,J11L),kmadd(PDstandard4th22gyy,kmul(J21L,J21L),kmul(PDstandard4th33gyy,kmul(J31L,J31L))))))));
JacPDstandard4th11gyz =
- kmadd(dJ111L,PDstandard4th1gyz,kmadd(dJ211L,PDstandard4th2gyz,kmadd(dJ311L,PDstandard4th3gyz,kmadd(PDstandard4th11gyz,kmul(J11L,J11L),kmadd(PDstandard4th22gyz,kmul(J21L,J21L),kmadd(PDstandard4th33gyz,kmul(J31L,J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandard4th12gyz,kmul(J31L,PDstandard4th13gyz)),kmul(J21L,kmul(J31L,PDstandard4th23gyz))),ToReal(2))))))));
+ kmadd(dJ111L,PDstandard4th1gyz,kmadd(ToReal(2),kmadd(J11L,kmadd(J21L,PDstandard4th12gyz,kmul(J31L,PDstandard4th13gyz)),kmul(J21L,kmul(J31L,PDstandard4th23gyz))),kmadd(dJ211L,PDstandard4th2gyz,kmadd(dJ311L,PDstandard4th3gyz,kmadd(PDstandard4th11gyz,kmul(J11L,J11L),kmadd(PDstandard4th22gyz,kmul(J21L,J21L),kmul(PDstandard4th33gyz,kmul(J31L,J31L))))))));
JacPDstandard4th11gzz =
- kmadd(dJ111L,PDstandard4th1gzz,kmadd(dJ211L,PDstandard4th2gzz,kmadd(dJ311L,PDstandard4th3gzz,kmadd(PDstandard4th11gzz,kmul(J11L,J11L),kmadd(PDstandard4th22gzz,kmul(J21L,J21L),kmadd(PDstandard4th33gzz,kmul(J31L,J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandard4th12gzz,kmul(J31L,PDstandard4th13gzz)),kmul(J21L,kmul(J31L,PDstandard4th23gzz))),ToReal(2))))))));
+ kmadd(dJ111L,PDstandard4th1gzz,kmadd(ToReal(2),kmadd(J11L,kmadd(J21L,PDstandard4th12gzz,kmul(J31L,PDstandard4th13gzz)),kmul(J21L,kmul(J31L,PDstandard4th23gzz))),kmadd(dJ211L,PDstandard4th2gzz,kmadd(dJ311L,PDstandard4th3gzz,kmadd(PDstandard4th11gzz,kmul(J11L,J11L),kmadd(PDstandard4th22gzz,kmul(J21L,J21L),kmul(PDstandard4th33gzz,kmul(J31L,J31L))))))));
JacPDstandard4th22gxx =
- kmadd(dJ122L,PDstandard4th1gxx,kmadd(dJ222L,PDstandard4th2gxx,kmadd(dJ322L,PDstandard4th3gxx,kmadd(PDstandard4th11gxx,kmul(J12L,J12L),kmadd(PDstandard4th22gxx,kmul(J22L,J22L),kmadd(PDstandard4th33gxx,kmul(J32L,J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandard4th12gxx,kmul(J32L,PDstandard4th13gxx)),kmul(J22L,kmul(J32L,PDstandard4th23gxx))),ToReal(2))))))));
+ kmadd(dJ122L,PDstandard4th1gxx,kmadd(ToReal(2),kmadd(J12L,kmadd(J22L,PDstandard4th12gxx,kmul(J32L,PDstandard4th13gxx)),kmul(J22L,kmul(J32L,PDstandard4th23gxx))),kmadd(dJ222L,PDstandard4th2gxx,kmadd(dJ322L,PDstandard4th3gxx,kmadd(PDstandard4th11gxx,kmul(J12L,J12L),kmadd(PDstandard4th22gxx,kmul(J22L,J22L),kmul(PDstandard4th33gxx,kmul(J32L,J32L))))))));
JacPDstandard4th22gxz =
- kmadd(dJ122L,PDstandard4th1gxz,kmadd(dJ222L,PDstandard4th2gxz,kmadd(dJ322L,PDstandard4th3gxz,kmadd(PDstandard4th11gxz,kmul(J12L,J12L),kmadd(PDstandard4th22gxz,kmul(J22L,J22L),kmadd(PDstandard4th33gxz,kmul(J32L,J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandard4th12gxz,kmul(J32L,PDstandard4th13gxz)),kmul(J22L,kmul(J32L,PDstandard4th23gxz))),ToReal(2))))))));
+ kmadd(dJ122L,PDstandard4th1gxz,kmadd(ToReal(2),kmadd(J12L,kmadd(J22L,PDstandard4th12gxz,kmul(J32L,PDstandard4th13gxz)),kmul(J22L,kmul(J32L,PDstandard4th23gxz))),kmadd(dJ222L,PDstandard4th2gxz,kmadd(dJ322L,PDstandard4th3gxz,kmadd(PDstandard4th11gxz,kmul(J12L,J12L),kmadd(PDstandard4th22gxz,kmul(J22L,J22L),kmul(PDstandard4th33gxz,kmul(J32L,J32L))))))));
JacPDstandard4th22gzz =
- kmadd(dJ122L,PDstandard4th1gzz,kmadd(dJ222L,PDstandard4th2gzz,kmadd(dJ322L,PDstandard4th3gzz,kmadd(PDstandard4th11gzz,kmul(J12L,J12L),kmadd(PDstandard4th22gzz,kmul(J22L,J22L),kmadd(PDstandard4th33gzz,kmul(J32L,J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandard4th12gzz,kmul(J32L,PDstandard4th13gzz)),kmul(J22L,kmul(J32L,PDstandard4th23gzz))),ToReal(2))))))));
+ kmadd(dJ122L,PDstandard4th1gzz,kmadd(ToReal(2),kmadd(J12L,kmadd(J22L,PDstandard4th12gzz,kmul(J32L,PDstandard4th13gzz)),kmul(J22L,kmul(J32L,PDstandard4th23gzz))),kmadd(dJ222L,PDstandard4th2gzz,kmadd(dJ322L,PDstandard4th3gzz,kmadd(PDstandard4th11gzz,kmul(J12L,J12L),kmadd(PDstandard4th22gzz,kmul(J22L,J22L),kmul(PDstandard4th33gzz,kmul(J32L,J32L))))))));
JacPDstandard4th33gxx =
- kmadd(dJ133L,PDstandard4th1gxx,kmadd(dJ233L,PDstandard4th2gxx,kmadd(dJ333L,PDstandard4th3gxx,kmadd(PDstandard4th11gxx,kmul(J13L,J13L),kmadd(PDstandard4th22gxx,kmul(J23L,J23L),kmadd(PDstandard4th33gxx,kmul(J33L,J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandard4th12gxx,kmul(J33L,PDstandard4th13gxx)),kmul(J23L,kmul(J33L,PDstandard4th23gxx))),ToReal(2))))))));
+ kmadd(dJ133L,PDstandard4th1gxx,kmadd(ToReal(2),kmadd(J13L,kmadd(J23L,PDstandard4th12gxx,kmul(J33L,PDstandard4th13gxx)),kmul(J23L,kmul(J33L,PDstandard4th23gxx))),kmadd(dJ233L,PDstandard4th2gxx,kmadd(dJ333L,PDstandard4th3gxx,kmadd(PDstandard4th11gxx,kmul(J13L,J13L),kmadd(PDstandard4th22gxx,kmul(J23L,J23L),kmul(PDstandard4th33gxx,kmul(J33L,J33L))))))));
JacPDstandard4th33gxy =
- kmadd(dJ133L,PDstandard4th1gxy,kmadd(dJ233L,PDstandard4th2gxy,kmadd(dJ333L,PDstandard4th3gxy,kmadd(PDstandard4th11gxy,kmul(J13L,J13L),kmadd(PDstandard4th22gxy,kmul(J23L,J23L),kmadd(PDstandard4th33gxy,kmul(J33L,J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandard4th12gxy,kmul(J33L,PDstandard4th13gxy)),kmul(J23L,kmul(J33L,PDstandard4th23gxy))),ToReal(2))))))));
+ kmadd(dJ133L,PDstandard4th1gxy,kmadd(ToReal(2),kmadd(J13L,kmadd(J23L,PDstandard4th12gxy,kmul(J33L,PDstandard4th13gxy)),kmul(J23L,kmul(J33L,PDstandard4th23gxy))),kmadd(dJ233L,PDstandard4th2gxy,kmadd(dJ333L,PDstandard4th3gxy,kmadd(PDstandard4th11gxy,kmul(J13L,J13L),kmadd(PDstandard4th22gxy,kmul(J23L,J23L),kmul(PDstandard4th33gxy,kmul(J33L,J33L))))))));
JacPDstandard4th33gyy =
- kmadd(dJ133L,PDstandard4th1gyy,kmadd(dJ233L,PDstandard4th2gyy,kmadd(dJ333L,PDstandard4th3gyy,kmadd(PDstandard4th11gyy,kmul(J13L,J13L),kmadd(PDstandard4th22gyy,kmul(J23L,J23L),kmadd(PDstandard4th33gyy,kmul(J33L,J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandard4th12gyy,kmul(J33L,PDstandard4th13gyy)),kmul(J23L,kmul(J33L,PDstandard4th23gyy))),ToReal(2))))))));
+ kmadd(dJ133L,PDstandard4th1gyy,kmadd(ToReal(2),kmadd(J13L,kmadd(J23L,PDstandard4th12gyy,kmul(J33L,PDstandard4th13gyy)),kmul(J23L,kmul(J33L,PDstandard4th23gyy))),kmadd(dJ233L,PDstandard4th2gyy,kmadd(dJ333L,PDstandard4th3gyy,kmadd(PDstandard4th11gyy,kmul(J13L,J13L),kmadd(PDstandard4th22gyy,kmul(J23L,J23L),kmul(PDstandard4th33gyy,kmul(J33L,J33L))))))));
JacPDstandard4th12gxy =
kmadd(J12L,kmadd(J11L,PDstandard4th11gxy,kmadd(J21L,PDstandard4th12gxy,kmul(J31L,PDstandard4th13gxy))),kmadd(J11L,kmadd(J22L,PDstandard4th12gxy,kmul(J32L,PDstandard4th13gxy)),kmadd(dJ112L,PDstandard4th1gxy,kmadd(J22L,kmadd(J21L,PDstandard4th22gxy,kmul(J31L,PDstandard4th23gxy)),kmadd(dJ212L,PDstandard4th2gxy,kmadd(J32L,kmadd(J21L,PDstandard4th23gxy,kmul(J31L,PDstandard4th33gxy)),kmul(dJ312L,PDstandard4th3gxy)))))));
@@ -1005,7 +1017,7 @@ static void WeylScal4_psis_calc_4th_Body(const cGH* restrict const cctkGH, const
}
CCTK_REAL_VEC detg CCTK_ATTRIBUTE_UNUSED =
- knmsub(gyyL,kmul(gxzL,gxzL),knmsub(gxxL,kmul(gyzL,gyzL),kmadd(gzzL,kmsub(gxxL,gyyL,kmul(gxyL,gxyL)),kmul(gxyL,kmul(gxzL,kmul(gyzL,ToReal(2)))))));
+ kmadd(ToReal(2),kmul(gxyL,kmul(gxzL,gyzL)),knmsub(gzzL,kmul(gxyL,gxyL),kmsub(gyyL,kmsub(gxxL,gzzL,kmul(gxzL,gxzL)),kmul(gxxL,kmul(gyzL,gyzL)))));
CCTK_REAL_VEC invdetg CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),detg);
@@ -1037,13 +1049,13 @@ static void WeylScal4_psis_calc_4th_Body(const cGH* restrict const cctkGH, const
kmul(invdetg,kmsub(gxxL,gyyL,kmul(gxyL,gxyL)));
CCTK_REAL_VEC gamma111 CCTK_ATTRIBUTE_UNUSED =
- kmul(ToReal(0.5),kmadd(gInv11,JacPDstandard4th1gxx,knmsub(gInv12,JacPDstandard4th2gxx,kmsub(kmadd(gInv12,JacPDstandard4th1gxy,kmul(gInv13,JacPDstandard4th1gxz)),ToReal(2),kmul(gInv13,JacPDstandard4th3gxx)))));
+ kmul(kmadd(gInv11,JacPDstandard4th1gxx,kmsub(ToReal(2),kmadd(gInv12,JacPDstandard4th1gxy,kmul(gInv13,JacPDstandard4th1gxz)),kmadd(gInv13,JacPDstandard4th3gxx,kmul(gInv12,JacPDstandard4th2gxx)))),ToReal(0.5));
CCTK_REAL_VEC gamma211 CCTK_ATTRIBUTE_UNUSED =
- kmul(ToReal(0.5),kmadd(gInv21,JacPDstandard4th1gxx,knmsub(gInv22,JacPDstandard4th2gxx,kmsub(kmadd(gInv22,JacPDstandard4th1gxy,kmul(gInv23,JacPDstandard4th1gxz)),ToReal(2),kmul(gInv23,JacPDstandard4th3gxx)))));
+ kmul(kmadd(gInv21,JacPDstandard4th1gxx,kmsub(ToReal(2),kmadd(gInv22,JacPDstandard4th1gxy,kmul(gInv23,JacPDstandard4th1gxz)),kmadd(gInv23,JacPDstandard4th3gxx,kmul(gInv22,JacPDstandard4th2gxx)))),ToReal(0.5));
CCTK_REAL_VEC gamma311 CCTK_ATTRIBUTE_UNUSED =
- kmul(ToReal(0.5),kmadd(gInv31,JacPDstandard4th1gxx,knmsub(gInv32,JacPDstandard4th2gxx,kmsub(kmadd(gInv32,JacPDstandard4th1gxy,kmul(gInv33,JacPDstandard4th1gxz)),ToReal(2),kmul(gInv33,JacPDstandard4th3gxx)))));
+ kmul(kmadd(gInv31,JacPDstandard4th1gxx,kmsub(ToReal(2),kmadd(gInv32,JacPDstandard4th1gxy,kmul(gInv33,JacPDstandard4th1gxz)),kmadd(gInv33,JacPDstandard4th3gxx,kmul(gInv32,JacPDstandard4th2gxx)))),ToReal(0.5));
CCTK_REAL_VEC gamma121 CCTK_ATTRIBUTE_UNUSED =
kmul(kmadd(gInv12,JacPDstandard4th1gyy,kmadd(gInv11,JacPDstandard4th2gxx,kmul(gInv13,kadd(JacPDstandard4th1gyz,ksub(JacPDstandard4th2gxz,JacPDstandard4th3gxy))))),ToReal(0.5));
@@ -1064,31 +1076,31 @@ static void WeylScal4_psis_calc_4th_Body(const cGH* restrict const cctkGH, const
kmul(kmadd(gInv33,JacPDstandard4th1gzz,kmadd(gInv31,JacPDstandard4th3gxx,kmul(gInv32,kadd(JacPDstandard4th1gyz,ksub(JacPDstandard4th3gxy,JacPDstandard4th2gxz))))),ToReal(0.5));
CCTK_REAL_VEC gamma122 CCTK_ATTRIBUTE_UNUSED =
- kmul(ToReal(0.5),kmadd(gInv12,JacPDstandard4th2gyy,kmadd(gInv11,kmsub(JacPDstandard4th2gxy,ToReal(2),JacPDstandard4th1gyy),kmul(gInv13,kmsub(JacPDstandard4th2gyz,ToReal(2),JacPDstandard4th3gyy)))));
+ kmul(kmadd(gInv11,kmsub(ToReal(2),JacPDstandard4th2gxy,JacPDstandard4th1gyy),kmadd(gInv12,JacPDstandard4th2gyy,kmul(gInv13,kmsub(ToReal(2),JacPDstandard4th2gyz,JacPDstandard4th3gyy)))),ToReal(0.5));
CCTK_REAL_VEC gamma222 CCTK_ATTRIBUTE_UNUSED =
- kmul(ToReal(0.5),kmadd(gInv22,JacPDstandard4th2gyy,kmadd(gInv21,kmsub(JacPDstandard4th2gxy,ToReal(2),JacPDstandard4th1gyy),kmul(gInv23,kmsub(JacPDstandard4th2gyz,ToReal(2),JacPDstandard4th3gyy)))));
+ kmul(kmadd(gInv21,kmsub(ToReal(2),JacPDstandard4th2gxy,JacPDstandard4th1gyy),kmadd(gInv22,JacPDstandard4th2gyy,kmul(gInv23,kmsub(ToReal(2),JacPDstandard4th2gyz,JacPDstandard4th3gyy)))),ToReal(0.5));
CCTK_REAL_VEC gamma322 CCTK_ATTRIBUTE_UNUSED =
- kmul(ToReal(0.5),kmadd(gInv32,JacPDstandard4th2gyy,kmadd(gInv31,kmsub(JacPDstandard4th2gxy,ToReal(2),JacPDstandard4th1gyy),kmul(gInv33,kmsub(JacPDstandard4th2gyz,ToReal(2),JacPDstandard4th3gyy)))));
+ kmul(kmadd(gInv31,kmsub(ToReal(2),JacPDstandard4th2gxy,JacPDstandard4th1gyy),kmadd(gInv32,JacPDstandard4th2gyy,kmul(gInv33,kmsub(ToReal(2),JacPDstandard4th2gyz,JacPDstandard4th3gyy)))),ToReal(0.5));
CCTK_REAL_VEC gamma132 CCTK_ATTRIBUTE_UNUSED =
- kmul(kmadd(gInv13,JacPDstandard4th2gzz,kmadd(gInv12,JacPDstandard4th3gyy,kmul(gInv11,kadd(JacPDstandard4th2gxz,ksub(JacPDstandard4th3gxy,JacPDstandard4th1gyz))))),ToReal(0.5));
+ kmul(kmadd(gInv13,JacPDstandard4th2gzz,kmadd(gInv11,ksub(kadd(JacPDstandard4th2gxz,JacPDstandard4th3gxy),JacPDstandard4th1gyz),kmul(gInv12,JacPDstandard4th3gyy))),ToReal(0.5));
CCTK_REAL_VEC gamma232 CCTK_ATTRIBUTE_UNUSED =
- kmul(kmadd(gInv23,JacPDstandard4th2gzz,kmadd(gInv22,JacPDstandard4th3gyy,kmul(gInv21,kadd(JacPDstandard4th2gxz,ksub(JacPDstandard4th3gxy,JacPDstandard4th1gyz))))),ToReal(0.5));
+ kmul(kmadd(gInv23,JacPDstandard4th2gzz,kmadd(gInv21,ksub(kadd(JacPDstandard4th2gxz,JacPDstandard4th3gxy),JacPDstandard4th1gyz),kmul(gInv22,JacPDstandard4th3gyy))),ToReal(0.5));
CCTK_REAL_VEC gamma332 CCTK_ATTRIBUTE_UNUSED =
- kmul(kmadd(gInv33,JacPDstandard4th2gzz,kmadd(gInv32,JacPDstandard4th3gyy,kmul(gInv31,kadd(JacPDstandard4th2gxz,ksub(JacPDstandard4th3gxy,JacPDstandard4th1gyz))))),ToReal(0.5));
+ kmul(kmadd(gInv33,JacPDstandard4th2gzz,kmadd(gInv31,ksub(kadd(JacPDstandard4th2gxz,JacPDstandard4th3gxy),JacPDstandard4th1gyz),kmul(gInv32,JacPDstandard4th3gyy))),ToReal(0.5));
CCTK_REAL_VEC gamma133 CCTK_ATTRIBUTE_UNUSED =
- kmul(ToReal(0.5),kmadd(gInv13,JacPDstandard4th3gzz,kmadd(gInv11,kmsub(JacPDstandard4th3gxz,ToReal(2),JacPDstandard4th1gzz),kmul(gInv12,kmsub(JacPDstandard4th3gyz,ToReal(2),JacPDstandard4th2gzz)))));
+ kmul(kmadd(gInv11,kmsub(ToReal(2),JacPDstandard4th3gxz,JacPDstandard4th1gzz),kmadd(gInv12,kmsub(ToReal(2),JacPDstandard4th3gyz,JacPDstandard4th2gzz),kmul(gInv13,JacPDstandard4th3gzz))),ToReal(0.5));
CCTK_REAL_VEC gamma233 CCTK_ATTRIBUTE_UNUSED =
- kmul(ToReal(0.5),kmadd(gInv23,JacPDstandard4th3gzz,kmadd(gInv21,kmsub(JacPDstandard4th3gxz,ToReal(2),JacPDstandard4th1gzz),kmul(gInv22,kmsub(JacPDstandard4th3gyz,ToReal(2),JacPDstandard4th2gzz)))));
+ kmul(kmadd(gInv21,kmsub(ToReal(2),JacPDstandard4th3gxz,JacPDstandard4th1gzz),kmadd(gInv22,kmsub(ToReal(2),JacPDstandard4th3gyz,JacPDstandard4th2gzz),kmul(gInv23,JacPDstandard4th3gzz))),ToReal(0.5));
CCTK_REAL_VEC gamma333 CCTK_ATTRIBUTE_UNUSED =
- kmul(ToReal(0.5),kmadd(gInv33,JacPDstandard4th3gzz,kmadd(gInv31,kmsub(JacPDstandard4th3gxz,ToReal(2),JacPDstandard4th1gzz),kmul(gInv32,kmsub(JacPDstandard4th3gyz,ToReal(2),JacPDstandard4th2gzz)))));
+ kmul(kmadd(gInv31,kmsub(ToReal(2),JacPDstandard4th3gxz,JacPDstandard4th1gzz),kmadd(gInv32,kmsub(ToReal(2),JacPDstandard4th3gyz,JacPDstandard4th2gzz),kmul(gInv33,JacPDstandard4th3gzz))),ToReal(0.5));
CCTK_REAL_VEC xmoved CCTK_ATTRIBUTE_UNUSED = ksub(xL,ToReal(xorig));
@@ -1109,13 +1121,13 @@ static void WeylScal4_psis_calc_4th_Body(const cGH* restrict const cctkGH, const
CCTK_REAL_VEC vb3 CCTK_ATTRIBUTE_UNUSED = zmoved;
CCTK_REAL_VEC vc1 CCTK_ATTRIBUTE_UNUSED =
- kmul(ksqrt(detg),kmadd(vb3,kmsub(gInv11,va2,kmul(gInv12,va1)),kmadd(vb1,kmsub(gInv12,va3,kmul(gInv13,va2)),kmul(vb2,kmsub(gInv13,va1,kmul(gInv11,va3))))));
+ kmul(kmadd(kmsub(gInv12,va3,kmul(gInv13,va2)),vb1,kmadd(kmsub(gInv13,va1,kmul(gInv11,va3)),vb2,kmul(vb3,kmsub(gInv11,va2,kmul(gInv12,va1))))),kpow(detg,0.5));
CCTK_REAL_VEC vc2 CCTK_ATTRIBUTE_UNUSED =
- kmul(ksqrt(detg),kmadd(vb3,kmsub(gInv21,va2,kmul(gInv22,va1)),kmadd(vb1,kmsub(gInv22,va3,kmul(gInv23,va2)),kmul(vb2,kmsub(gInv23,va1,kmul(gInv21,va3))))));
+ kmul(kmadd(kmsub(gInv22,va3,kmul(gInv23,va2)),vb1,kmadd(kmsub(gInv23,va1,kmul(gInv21,va3)),vb2,kmul(vb3,kmsub(gInv21,va2,kmul(gInv22,va1))))),kpow(detg,0.5));
CCTK_REAL_VEC vc3 CCTK_ATTRIBUTE_UNUSED =
- kmul(ksqrt(detg),kmadd(vb3,kmsub(gInv31,va2,kmul(gInv32,va1)),kmadd(vb1,kmsub(gInv32,va3,kmul(gInv33,va2)),kmul(vb2,kmsub(gInv33,va1,kmul(gInv31,va3))))));
+ kmul(kmadd(kmsub(gInv32,va3,kmul(gInv33,va2)),vb1,kmadd(kmsub(gInv33,va1,kmul(gInv31,va3)),vb2,kmul(vb3,kmsub(gInv31,va2,kmul(gInv32,va1))))),kpow(detg,0.5));
CCTK_REAL_VEC wa1 CCTK_ATTRIBUTE_UNUSED = va1;
@@ -1124,13 +1136,16 @@ static void WeylScal4_psis_calc_4th_Body(const cGH* restrict const cctkGH, const
CCTK_REAL_VEC wa3 CCTK_ATTRIBUTE_UNUSED = va3;
CCTK_REAL_VEC omega11 CCTK_ATTRIBUTE_UNUSED =
- kmadd(gxxL,kmul(wa1,wa1),kmadd(gyyL,kmul(wa2,wa2),kmadd(gzzL,kmul(wa3,wa3),kmul(kmadd(gyzL,kmul(wa2,wa3),kmul(wa1,kmadd(gxyL,wa2,kmul(gxzL,wa3)))),ToReal(2)))));
+ kmadd(ToReal(2),kmadd(gyzL,kmul(wa2,wa3),kmul(wa1,kmadd(gxyL,wa2,kmul(gxzL,wa3)))),kmadd(gxxL,kmul(wa1,wa1),kmadd(gyyL,kmul(wa2,wa2),kmul(gzzL,kmul(wa3,wa3)))));
- CCTK_REAL_VEC ea1 CCTK_ATTRIBUTE_UNUSED = kdiv(wa1,ksqrt(omega11));
+ CCTK_REAL_VEC ea1 CCTK_ATTRIBUTE_UNUSED =
+ kmul(wa1,kpow(omega11,-0.5));
- CCTK_REAL_VEC ea2 CCTK_ATTRIBUTE_UNUSED = kdiv(wa2,ksqrt(omega11));
+ CCTK_REAL_VEC ea2 CCTK_ATTRIBUTE_UNUSED =
+ kmul(wa2,kpow(omega11,-0.5));
- CCTK_REAL_VEC ea3 CCTK_ATTRIBUTE_UNUSED = kdiv(wa3,ksqrt(omega11));
+ CCTK_REAL_VEC ea3 CCTK_ATTRIBUTE_UNUSED =
+ kmul(wa3,kpow(omega11,-0.5));
CCTK_REAL_VEC omega12 CCTK_ATTRIBUTE_UNUSED =
kmadd(ea1,kmadd(gxxL,vb1,kmadd(gxyL,vb2,kmul(gxzL,vb3))),kmadd(ea2,kmadd(gxyL,vb1,kmadd(gyyL,vb2,kmul(gyzL,vb3))),kmul(ea3,kmadd(gxzL,vb1,kmadd(gyzL,vb2,kmul(gzzL,vb3))))));
@@ -1142,13 +1157,16 @@ static void WeylScal4_psis_calc_4th_Body(const cGH* restrict const cctkGH, const
CCTK_REAL_VEC wb3 CCTK_ATTRIBUTE_UNUSED = knmsub(ea3,omega12,vb3);
CCTK_REAL_VEC omega22 CCTK_ATTRIBUTE_UNUSED =
- kmadd(gxxL,kmul(wb1,wb1),kmadd(gyyL,kmul(wb2,wb2),kmadd(gzzL,kmul(wb3,wb3),kmul(kmadd(gyzL,kmul(wb2,wb3),kmul(wb1,kmadd(gxyL,wb2,kmul(gxzL,wb3)))),ToReal(2)))));
+ kmadd(ToReal(2),kmadd(gyzL,kmul(wb2,wb3),kmul(wb1,kmadd(gxyL,wb2,kmul(gxzL,wb3)))),kmadd(gxxL,kmul(wb1,wb1),kmadd(gyyL,kmul(wb2,wb2),kmul(gzzL,kmul(wb3,wb3)))));
- CCTK_REAL_VEC eb1 CCTK_ATTRIBUTE_UNUSED = kdiv(wb1,ksqrt(omega22));
+ CCTK_REAL_VEC eb1 CCTK_ATTRIBUTE_UNUSED =
+ kmul(wb1,kpow(omega22,-0.5));
- CCTK_REAL_VEC eb2 CCTK_ATTRIBUTE_UNUSED = kdiv(wb2,ksqrt(omega22));
+ CCTK_REAL_VEC eb2 CCTK_ATTRIBUTE_UNUSED =
+ kmul(wb2,kpow(omega22,-0.5));
- CCTK_REAL_VEC eb3 CCTK_ATTRIBUTE_UNUSED = kdiv(wb3,ksqrt(omega22));
+ CCTK_REAL_VEC eb3 CCTK_ATTRIBUTE_UNUSED =
+ kmul(wb3,kpow(omega22,-0.5));
CCTK_REAL_VEC omega13 CCTK_ATTRIBUTE_UNUSED =
kmadd(ea1,kmadd(gxxL,vc1,kmadd(gxyL,vc2,kmul(gxzL,vc3))),kmadd(ea2,kmadd(gxyL,vc1,kmadd(gyyL,vc2,kmul(gyzL,vc3))),kmul(ea3,kmadd(gxzL,vc1,kmadd(gyzL,vc2,kmul(gzzL,vc3))))));
@@ -1157,22 +1175,25 @@ static void WeylScal4_psis_calc_4th_Body(const cGH* restrict const cctkGH, const
kmadd(eb1,kmadd(gxxL,vc1,kmadd(gxyL,vc2,kmul(gxzL,vc3))),kmadd(eb2,kmadd(gxyL,vc1,kmadd(gyyL,vc2,kmul(gyzL,vc3))),kmul(eb3,kmadd(gxzL,vc1,kmadd(gyzL,vc2,kmul(gzzL,vc3))))));
CCTK_REAL_VEC wc1 CCTK_ATTRIBUTE_UNUSED =
- ksub(vc1,kmadd(eb1,omega23,kmul(ea1,omega13)));
+ knmsub(ea1,omega13,knmsub(eb1,omega23,vc1));
CCTK_REAL_VEC wc2 CCTK_ATTRIBUTE_UNUSED =
- ksub(vc2,kmadd(eb2,omega23,kmul(ea2,omega13)));
+ knmsub(ea2,omega13,knmsub(eb2,omega23,vc2));
CCTK_REAL_VEC wc3 CCTK_ATTRIBUTE_UNUSED =
- ksub(vc3,kmadd(eb3,omega23,kmul(ea3,omega13)));
+ knmsub(ea3,omega13,knmsub(eb3,omega23,vc3));
CCTK_REAL_VEC omega33 CCTK_ATTRIBUTE_UNUSED =
- kmadd(gxxL,kmul(wc1,wc1),kmadd(gyyL,kmul(wc2,wc2),kmadd(gzzL,kmul(wc3,wc3),kmul(kmadd(gyzL,kmul(wc2,wc3),kmul(wc1,kmadd(gxyL,wc2,kmul(gxzL,wc3)))),ToReal(2)))));
+ kmadd(ToReal(2),kmadd(gyzL,kmul(wc2,wc3),kmul(wc1,kmadd(gxyL,wc2,kmul(gxzL,wc3)))),kmadd(gxxL,kmul(wc1,wc1),kmadd(gyyL,kmul(wc2,wc2),kmul(gzzL,kmul(wc3,wc3)))));
- CCTK_REAL_VEC ec1 CCTK_ATTRIBUTE_UNUSED = kdiv(wc1,ksqrt(omega33));
+ CCTK_REAL_VEC ec1 CCTK_ATTRIBUTE_UNUSED =
+ kmul(wc1,kpow(omega33,-0.5));
- CCTK_REAL_VEC ec2 CCTK_ATTRIBUTE_UNUSED = kdiv(wc2,ksqrt(omega33));
+ CCTK_REAL_VEC ec2 CCTK_ATTRIBUTE_UNUSED =
+ kmul(wc2,kpow(omega33,-0.5));
- CCTK_REAL_VEC ec3 CCTK_ATTRIBUTE_UNUSED = kdiv(wc3,ksqrt(omega33));
+ CCTK_REAL_VEC ec3 CCTK_ATTRIBUTE_UNUSED =
+ kmul(wc3,kpow(omega33,-0.5));
CCTK_REAL_VEC isqrt2 CCTK_ATTRIBUTE_UNUSED =
ToReal(0.707106781186547524);
@@ -1216,37 +1237,37 @@ static void WeylScal4_psis_calc_4th_Body(const cGH* restrict const cctkGH, const
CCTK_REAL_VEC nn CCTK_ATTRIBUTE_UNUSED = isqrt2;
CCTK_REAL_VEC R1212 CCTK_ATTRIBUTE_UNUSED =
- kmul(ToReal(0.5),kadd(JacPDstandard4th12gxy,kadd(JacPDstandard4th21gxy,kmadd(kmadd(gamma122,kmadd(gxxL,gamma111,kmadd(gxyL,gamma211,kmul(gxzL,gamma311))),kmadd(gamma222,kmadd(gxyL,gamma111,kmadd(gyyL,gamma211,kmul(gyzL,gamma311))),kmul(kmadd(gxzL,gamma111,kmadd(gyzL,gamma211,kmul(gzzL,gamma311))),gamma322))),ToReal(-2),ksub(kmsub(kmadd(gamma121,kmadd(gxxL,gamma121,kmadd(gxyL,gamma221,kmul(gxzL,gamma321))),kmadd(gamma221,kmadd(gxyL,gamma121,kmadd(gyyL,gamma221,kmul(gyzL,gamma321))),kmul(gamma321,kmadd(gxzL,gamma121,kmadd(gyzL,gamma221,kmul(gzzL,gamma321)))))),ToReal(2),JacPDstandard4th22gxx),JacPDstandard4th11gyy)))));
+ kmul(kmadd(ToReal(2),kmadd(gamma121,kmadd(gxxL,gamma121,kmadd(gxyL,gamma221,kmul(gxzL,gamma321))),kmadd(gamma221,kmadd(gxyL,gamma121,kmadd(gyyL,gamma221,kmul(gyzL,gamma321))),kmul(gamma321,kmadd(gxzL,gamma121,kmadd(gyzL,gamma221,kmul(gzzL,gamma321)))))),kmadd(ToReal(-2),kmadd(gamma122,kmadd(gxxL,gamma111,kmadd(gxyL,gamma211,kmul(gxzL,gamma311))),kmadd(gamma222,kmadd(gxyL,gamma111,kmadd(gyyL,gamma211,kmul(gyzL,gamma311))),kmul(kmadd(gxzL,gamma111,kmadd(gyzL,gamma211,kmul(gzzL,gamma311))),gamma322))),ksub(kadd(JacPDstandard4th12gxy,ksub(JacPDstandard4th21gxy,JacPDstandard4th22gxx)),JacPDstandard4th11gyy))),ToReal(0.5));
CCTK_REAL_VEC R1213 CCTK_ATTRIBUTE_UNUSED =
- kmul(ToReal(0.5),kadd(JacPDstandard4th12gxz,kadd(JacPDstandard4th31gxy,kmadd(kmadd(gamma132,kmadd(gxxL,gamma111,kmadd(gxyL,gamma211,kmul(gxzL,gamma311))),kmadd(gamma232,kmadd(gxyL,gamma111,kmadd(gyyL,gamma211,kmul(gyzL,gamma311))),kmul(kmadd(gxzL,gamma111,kmadd(gyzL,gamma211,kmul(gzzL,gamma311))),gamma332))),ToReal(-2),ksub(kmsub(kmadd(gamma121,kmadd(gxxL,gamma131,kmadd(gxyL,gamma231,kmul(gxzL,gamma331))),kmadd(gamma221,kmadd(gxyL,gamma131,kmadd(gyyL,gamma231,kmul(gyzL,gamma331))),kmul(gamma321,kmadd(gxzL,gamma131,kmadd(gyzL,gamma231,kmul(gzzL,gamma331)))))),ToReal(2),JacPDstandard4th23gxx),JacPDstandard4th11gyz)))));
+ kmul(kmadd(ToReal(2),kmadd(gamma121,kmadd(gxxL,gamma131,kmadd(gxyL,gamma231,kmul(gxzL,gamma331))),kmadd(gamma221,kmadd(gxyL,gamma131,kmadd(gyyL,gamma231,kmul(gyzL,gamma331))),kmul(gamma321,kmadd(gxzL,gamma131,kmadd(gyzL,gamma231,kmul(gzzL,gamma331)))))),kmadd(ToReal(-2),kmadd(gamma132,kmadd(gxxL,gamma111,kmadd(gxyL,gamma211,kmul(gxzL,gamma311))),kmadd(gamma232,kmadd(gxyL,gamma111,kmadd(gyyL,gamma211,kmul(gyzL,gamma311))),kmul(kmadd(gxzL,gamma111,kmadd(gyzL,gamma211,kmul(gzzL,gamma311))),gamma332))),ksub(kadd(JacPDstandard4th12gxz,ksub(JacPDstandard4th31gxy,JacPDstandard4th23gxx)),JacPDstandard4th11gyz))),ToReal(0.5));
CCTK_REAL_VEC R1223 CCTK_ATTRIBUTE_UNUSED =
- kmul(ToReal(0.5),kadd(JacPDstandard4th22gxz,kadd(JacPDstandard4th31gyy,kmadd(kmadd(gamma132,kmadd(gxxL,gamma121,kmadd(gxyL,gamma221,kmul(gxzL,gamma321))),kmadd(gamma232,kmadd(gxyL,gamma121,kmadd(gyyL,gamma221,kmul(gyzL,gamma321))),kmul(kmadd(gxzL,gamma121,kmadd(gyzL,gamma221,kmul(gzzL,gamma321))),gamma332))),ToReal(-2),ksub(kmsub(kmadd(gamma122,kmadd(gxxL,gamma131,kmadd(gxyL,gamma231,kmul(gxzL,gamma331))),kmadd(gamma222,kmadd(gxyL,gamma131,kmadd(gyyL,gamma231,kmul(gyzL,gamma331))),kmul(gamma322,kmadd(gxzL,gamma131,kmadd(gyzL,gamma231,kmul(gzzL,gamma331)))))),ToReal(2),JacPDstandard4th23gxy),JacPDstandard4th12gyz)))));
+ kmul(kmadd(ToReal(2),kmadd(gamma122,kmadd(gxxL,gamma131,kmadd(gxyL,gamma231,kmul(gxzL,gamma331))),kmadd(gamma222,kmadd(gxyL,gamma131,kmadd(gyyL,gamma231,kmul(gyzL,gamma331))),kmul(gamma322,kmadd(gxzL,gamma131,kmadd(gyzL,gamma231,kmul(gzzL,gamma331)))))),kmadd(ToReal(-2),kmadd(gamma132,kmadd(gxxL,gamma121,kmadd(gxyL,gamma221,kmul(gxzL,gamma321))),kmadd(gamma232,kmadd(gxyL,gamma121,kmadd(gyyL,gamma221,kmul(gyzL,gamma321))),kmul(kmadd(gxzL,gamma121,kmadd(gyzL,gamma221,kmul(gzzL,gamma321))),gamma332))),ksub(kadd(JacPDstandard4th22gxz,ksub(JacPDstandard4th31gyy,JacPDstandard4th23gxy)),JacPDstandard4th12gyz))),ToReal(0.5));
CCTK_REAL_VEC R1313 CCTK_ATTRIBUTE_UNUSED =
- kmul(ToReal(0.5),kadd(JacPDstandard4th13gxz,kadd(JacPDstandard4th31gxz,kmadd(kmadd(gamma133,kmadd(gxxL,gamma111,kmadd(gxyL,gamma211,kmul(gxzL,gamma311))),kmadd(gamma233,kmadd(gxyL,gamma111,kmadd(gyyL,gamma211,kmul(gyzL,gamma311))),kmul(kmadd(gxzL,gamma111,kmadd(gyzL,gamma211,kmul(gzzL,gamma311))),gamma333))),ToReal(-2),ksub(kmsub(kmadd(gamma131,kmadd(gxxL,gamma131,kmadd(gxyL,gamma231,kmul(gxzL,gamma331))),kmadd(gamma231,kmadd(gxyL,gamma131,kmadd(gyyL,gamma231,kmul(gyzL,gamma331))),kmul(gamma331,kmadd(gxzL,gamma131,kmadd(gyzL,gamma231,kmul(gzzL,gamma331)))))),ToReal(2),JacPDstandard4th33gxx),JacPDstandard4th11gzz)))));
+ kmul(kmadd(ToReal(2),kmadd(gamma131,kmadd(gxxL,gamma131,kmadd(gxyL,gamma231,kmul(gxzL,gamma331))),kmadd(gamma231,kmadd(gxyL,gamma131,kmadd(gyyL,gamma231,kmul(gyzL,gamma331))),kmul(gamma331,kmadd(gxzL,gamma131,kmadd(gyzL,gamma231,kmul(gzzL,gamma331)))))),kmadd(ToReal(-2),kmadd(gamma133,kmadd(gxxL,gamma111,kmadd(gxyL,gamma211,kmul(gxzL,gamma311))),kmadd(gamma233,kmadd(gxyL,gamma111,kmadd(gyyL,gamma211,kmul(gyzL,gamma311))),kmul(kmadd(gxzL,gamma111,kmadd(gyzL,gamma211,kmul(gzzL,gamma311))),gamma333))),ksub(kadd(JacPDstandard4th13gxz,ksub(JacPDstandard4th31gxz,JacPDstandard4th33gxx)),JacPDstandard4th11gzz))),ToReal(0.5));
CCTK_REAL_VEC R1323 CCTK_ATTRIBUTE_UNUSED =
- kmul(ToReal(0.5),kadd(JacPDstandard4th23gxz,kadd(JacPDstandard4th31gyz,kmadd(kmadd(gamma133,kmadd(gxxL,gamma121,kmadd(gxyL,gamma221,kmul(gxzL,gamma321))),kmadd(gamma233,kmadd(gxyL,gamma121,kmadd(gyyL,gamma221,kmul(gyzL,gamma321))),kmul(kmadd(gxzL,gamma121,kmadd(gyzL,gamma221,kmul(gzzL,gamma321))),gamma333))),ToReal(-2),ksub(kmsub(kmadd(gamma132,kmadd(gxxL,gamma131,kmadd(gxyL,gamma231,kmul(gxzL,gamma331))),kmadd(gamma232,kmadd(gxyL,gamma131,kmadd(gyyL,gamma231,kmul(gyzL,gamma331))),kmul(kmadd(gxzL,gamma131,kmadd(gyzL,gamma231,kmul(gzzL,gamma331))),gamma332))),ToReal(2),JacPDstandard4th33gxy),JacPDstandard4th12gzz)))));
+ kmul(kmadd(ToReal(2),kmadd(gamma132,kmadd(gxxL,gamma131,kmadd(gxyL,gamma231,kmul(gxzL,gamma331))),kmadd(gamma232,kmadd(gxyL,gamma131,kmadd(gyyL,gamma231,kmul(gyzL,gamma331))),kmul(kmadd(gxzL,gamma131,kmadd(gyzL,gamma231,kmul(gzzL,gamma331))),gamma332))),kmadd(ToReal(-2),kmadd(gamma133,kmadd(gxxL,gamma121,kmadd(gxyL,gamma221,kmul(gxzL,gamma321))),kmadd(gamma233,kmadd(gxyL,gamma121,kmadd(gyyL,gamma221,kmul(gyzL,gamma321))),kmul(kmadd(gxzL,gamma121,kmadd(gyzL,gamma221,kmul(gzzL,gamma321))),gamma333))),ksub(kadd(JacPDstandard4th23gxz,ksub(JacPDstandard4th31gyz,JacPDstandard4th33gxy)),JacPDstandard4th12gzz))),ToReal(0.5));
CCTK_REAL_VEC R2323 CCTK_ATTRIBUTE_UNUSED =
- kmul(ToReal(0.5),kadd(JacPDstandard4th23gyz,kadd(JacPDstandard4th32gyz,kmadd(kmadd(gamma133,kmadd(gxxL,gamma122,kmadd(gxyL,gamma222,kmul(gxzL,gamma322))),kmadd(gamma233,kmadd(gxyL,gamma122,kmadd(gyyL,gamma222,kmul(gyzL,gamma322))),kmul(kmadd(gxzL,gamma122,kmadd(gyzL,gamma222,kmul(gzzL,gamma322))),gamma333))),ToReal(-2),ksub(kmsub(kmadd(gamma132,kmadd(gxxL,gamma132,kmadd(gxyL,gamma232,kmul(gxzL,gamma332))),kmadd(gamma232,kmadd(gxyL,gamma132,kmadd(gyyL,gamma232,kmul(gyzL,gamma332))),kmul(gamma332,kmadd(gxzL,gamma132,kmadd(gyzL,gamma232,kmul(gzzL,gamma332)))))),ToReal(2),JacPDstandard4th33gyy),JacPDstandard4th22gzz)))));
+ kmul(kmadd(ToReal(2),kmadd(gamma132,kmadd(gxxL,gamma132,kmadd(gxyL,gamma232,kmul(gxzL,gamma332))),kmadd(gamma232,kmadd(gxyL,gamma132,kmadd(gyyL,gamma232,kmul(gyzL,gamma332))),kmul(gamma332,kmadd(gxzL,gamma132,kmadd(gyzL,gamma232,kmul(gzzL,gamma332)))))),kmadd(ToReal(-2),kmadd(gamma133,kmadd(gxxL,gamma122,kmadd(gxyL,gamma222,kmul(gxzL,gamma322))),kmadd(gamma233,kmadd(gxyL,gamma122,kmadd(gyyL,gamma222,kmul(gyzL,gamma322))),kmul(kmadd(gxzL,gamma122,kmadd(gyzL,gamma222,kmul(gzzL,gamma322))),gamma333))),ksub(kadd(JacPDstandard4th23gyz,ksub(JacPDstandard4th32gyz,JacPDstandard4th33gyy)),JacPDstandard4th22gzz))),ToReal(0.5));
CCTK_REAL_VEC R4p1212 CCTK_ATTRIBUTE_UNUSED =
kmadd(kxxL,kyyL,knmsub(kxyL,kxyL,R1212));
CCTK_REAL_VEC R4p1213 CCTK_ATTRIBUTE_UNUSED =
- kmadd(kxxL,kyzL,knmsub(kxyL,kxzL,R1213));
+ knmsub(kxyL,kxzL,kmadd(kxxL,kyzL,R1213));
CCTK_REAL_VEC R4p1223 CCTK_ATTRIBUTE_UNUSED =
- kmadd(kxyL,kyzL,knmsub(kxzL,kyyL,R1223));
+ knmsub(kxzL,kyyL,kmadd(kxyL,kyzL,R1223));
CCTK_REAL_VEC R4p1313 CCTK_ATTRIBUTE_UNUSED =
kmadd(kxxL,kzzL,knmsub(kxzL,kxzL,R1313));
CCTK_REAL_VEC R4p1323 CCTK_ATTRIBUTE_UNUSED =
- kmadd(kxyL,kzzL,knmsub(kxzL,kyzL,R1323));
+ knmsub(kxzL,kyzL,kmadd(kxyL,kzzL,R1323));
CCTK_REAL_VEC R4p2323 CCTK_ATTRIBUTE_UNUSED =
kmadd(kyyL,kzzL,knmsub(kyzL,kyzL,R2323));
@@ -1254,132 +1275,131 @@ static void WeylScal4_psis_calc_4th_Body(const cGH* restrict const cctkGH, const
CCTK_REAL_VEC Ro111 CCTK_ATTRIBUTE_UNUSED = ToReal(0);
CCTK_REAL_VEC Ro112 CCTK_ATTRIBUTE_UNUSED =
- kmadd(kxxL,gamma121,kmadd(kxzL,gamma321,kadd(JacPDstandard4th1kxy,knmsub(kyyL,gamma211,knmsub(kyzL,gamma311,kmsub(kxyL,ksub(gamma221,gamma111),JacPDstandard4th2kxx))))));
+ kmadd(kxxL,gamma121,knmsub(kyyL,gamma211,kmadd(kxyL,ksub(gamma221,gamma111),knmsub(kyzL,gamma311,kmadd(kxzL,gamma321,ksub(JacPDstandard4th1kxy,JacPDstandard4th2kxx))))));
CCTK_REAL_VEC Ro113 CCTK_ATTRIBUTE_UNUSED =
- kmadd(kxxL,gamma131,kmadd(kxyL,gamma231,kadd(JacPDstandard4th1kxz,knmsub(kyzL,gamma211,knmsub(kzzL,gamma311,kmsub(kxzL,ksub(gamma331,gamma111),JacPDstandard4th3kxx))))));
+ kmadd(kxxL,gamma131,knmsub(kyzL,gamma211,kmadd(kxyL,gamma231,knmsub(kzzL,gamma311,kmadd(kxzL,ksub(gamma331,gamma111),ksub(JacPDstandard4th1kxz,JacPDstandard4th3kxx))))));
CCTK_REAL_VEC Ro121 CCTK_ATTRIBUTE_UNUSED =
- kmadd(kyyL,gamma211,kmadd(kyzL,gamma311,kadd(JacPDstandard4th2kxx,knmsub(kxxL,gamma121,knmsub(kxzL,gamma321,kmsub(kxyL,ksub(gamma111,gamma221),JacPDstandard4th1kxy))))));
+ knmsub(kxxL,gamma121,kmadd(kyyL,gamma211,kmadd(kxyL,ksub(gamma111,gamma221),kmadd(kyzL,gamma311,knmsub(kxzL,gamma321,ksub(JacPDstandard4th2kxx,JacPDstandard4th1kxy))))));
CCTK_REAL_VEC Ro122 CCTK_ATTRIBUTE_UNUSED = ToReal(0);
CCTK_REAL_VEC Ro123 CCTK_ATTRIBUTE_UNUSED =
- kmadd(kxyL,gamma131,kmadd(kyyL,gamma231,kadd(JacPDstandard4th2kxz,knmsub(kxzL,gamma121,knmsub(kzzL,gamma321,kmsub(kyzL,ksub(gamma331,gamma221),JacPDstandard4th3kxy))))));
+ knmsub(kxzL,gamma121,kmadd(kxyL,gamma131,kmadd(kyyL,gamma231,knmsub(kzzL,gamma321,kmadd(kyzL,ksub(gamma331,gamma221),ksub(JacPDstandard4th2kxz,JacPDstandard4th3kxy))))));
CCTK_REAL_VEC Ro131 CCTK_ATTRIBUTE_UNUSED =
- kmadd(kyzL,gamma211,kmadd(kzzL,gamma311,kadd(JacPDstandard4th3kxx,knmsub(kxxL,gamma131,knmsub(kxyL,gamma231,kmsub(kxzL,ksub(gamma111,gamma331),JacPDstandard4th1kxz))))));
+ knmsub(kxxL,gamma131,kmadd(kyzL,gamma211,knmsub(kxyL,gamma231,kmadd(kzzL,gamma311,kmadd(kxzL,ksub(gamma111,gamma331),ksub(JacPDstandard4th3kxx,JacPDstandard4th1kxz))))));
CCTK_REAL_VEC Ro132 CCTK_ATTRIBUTE_UNUSED =
- kmadd(kxzL,gamma121,kmadd(kzzL,gamma321,kadd(JacPDstandard4th3kxy,knmsub(kxyL,gamma131,knmsub(kyyL,gamma231,kmsub(kyzL,ksub(gamma221,gamma331),JacPDstandard4th2kxz))))));
+ kmadd(kxzL,gamma121,knmsub(kxyL,gamma131,knmsub(kyyL,gamma231,kmadd(kzzL,gamma321,kmadd(kyzL,ksub(gamma221,gamma331),ksub(JacPDstandard4th3kxy,JacPDstandard4th2kxz))))));
CCTK_REAL_VEC Ro133 CCTK_ATTRIBUTE_UNUSED = ToReal(0);
CCTK_REAL_VEC Ro211 CCTK_ATTRIBUTE_UNUSED = ToReal(0);
CCTK_REAL_VEC Ro212 CCTK_ATTRIBUTE_UNUSED =
- kmadd(kxxL,gamma122,kmadd(kxzL,gamma322,kadd(JacPDstandard4th1kyy,knmsub(kyyL,gamma221,knmsub(kyzL,gamma321,kmsub(kxyL,ksub(gamma222,gamma121),JacPDstandard4th2kxy))))));
+ kmadd(kxxL,gamma122,knmsub(kyyL,gamma221,kmadd(kxyL,ksub(gamma222,gamma121),knmsub(kyzL,gamma321,kmadd(kxzL,gamma322,ksub(JacPDstandard4th1kyy,JacPDstandard4th2kxy))))));
CCTK_REAL_VEC Ro213 CCTK_ATTRIBUTE_UNUSED =
- kmadd(kxxL,gamma132,kmadd(kxyL,gamma232,kadd(JacPDstandard4th1kyz,knmsub(kyzL,gamma221,knmsub(kzzL,gamma321,kmsub(kxzL,ksub(gamma332,gamma121),JacPDstandard4th3kxy))))));
+ kmadd(kxxL,gamma132,knmsub(kyzL,gamma221,kmadd(kxyL,gamma232,knmsub(kzzL,gamma321,kmadd(kxzL,ksub(gamma332,gamma121),ksub(JacPDstandard4th1kyz,JacPDstandard4th3kxy))))));
CCTK_REAL_VEC Ro221 CCTK_ATTRIBUTE_UNUSED =
- kmadd(kyyL,gamma221,kmadd(kyzL,gamma321,kadd(JacPDstandard4th2kxy,knmsub(kxxL,gamma122,knmsub(kxzL,gamma322,kmsub(kxyL,ksub(gamma121,gamma222),JacPDstandard4th1kyy))))));
+ knmsub(kxxL,gamma122,kmadd(kyyL,gamma221,kmadd(kxyL,ksub(gamma121,gamma222),kmadd(kyzL,gamma321,knmsub(kxzL,gamma322,ksub(JacPDstandard4th2kxy,JacPDstandard4th1kyy))))));
CCTK_REAL_VEC Ro222 CCTK_ATTRIBUTE_UNUSED = ToReal(0);
CCTK_REAL_VEC Ro223 CCTK_ATTRIBUTE_UNUSED =
- kmadd(kxyL,gamma132,kmadd(kyyL,gamma232,kadd(JacPDstandard4th2kyz,knmsub(kxzL,gamma122,knmsub(kzzL,gamma322,kmsub(kyzL,ksub(gamma332,gamma222),JacPDstandard4th3kyy))))));
+ knmsub(kxzL,gamma122,kmadd(kxyL,gamma132,kmadd(kyyL,gamma232,knmsub(kzzL,gamma322,kmadd(kyzL,ksub(gamma332,gamma222),ksub(JacPDstandard4th2kyz,JacPDstandard4th3kyy))))));
CCTK_REAL_VEC Ro231 CCTK_ATTRIBUTE_UNUSED =
- kmadd(kyzL,gamma221,kmadd(kzzL,gamma321,kadd(JacPDstandard4th3kxy,knmsub(kxxL,gamma132,knmsub(kxyL,gamma232,kmsub(kxzL,ksub(gamma121,gamma332),JacPDstandard4th1kyz))))));
+ knmsub(kxxL,gamma132,kmadd(kyzL,gamma221,knmsub(kxyL,gamma232,kmadd(kzzL,gamma321,kmadd(kxzL,ksub(gamma121,gamma332),ksub(JacPDstandard4th3kxy,JacPDstandard4th1kyz))))));
CCTK_REAL_VEC Ro232 CCTK_ATTRIBUTE_UNUSED =
- kmadd(kxzL,gamma122,kmadd(kzzL,gamma322,kadd(JacPDstandard4th3kyy,knmsub(kxyL,gamma132,knmsub(kyyL,gamma232,kmsub(kyzL,ksub(gamma222,gamma332),JacPDstandard4th2kyz))))));
+ kmadd(kxzL,gamma122,knmsub(kxyL,gamma132,knmsub(kyyL,gamma232,kmadd(kzzL,gamma322,kmadd(kyzL,ksub(gamma222,gamma332),ksub(JacPDstandard4th3kyy,JacPDstandard4th2kyz))))));
CCTK_REAL_VEC Ro233 CCTK_ATTRIBUTE_UNUSED = ToReal(0);
CCTK_REAL_VEC Ro311 CCTK_ATTRIBUTE_UNUSED = ToReal(0);
CCTK_REAL_VEC Ro312 CCTK_ATTRIBUTE_UNUSED =
- kmadd(kxxL,gamma132,kmadd(kxzL,gamma332,kadd(JacPDstandard4th1kyz,knmsub(kyyL,gamma231,knmsub(kyzL,gamma331,kmsub(kxyL,ksub(gamma232,gamma131),JacPDstandard4th2kxz))))));
+ kmadd(kxxL,gamma132,knmsub(kyyL,gamma231,kmadd(kxyL,ksub(gamma232,gamma131),knmsub(kyzL,gamma331,kmadd(kxzL,gamma332,ksub(JacPDstandard4th1kyz,JacPDstandard4th2kxz))))));
CCTK_REAL_VEC Ro313 CCTK_ATTRIBUTE_UNUSED =
- kmadd(kxxL,gamma133,kmadd(kxyL,gamma233,kadd(JacPDstandard4th1kzz,knmsub(kyzL,gamma231,knmsub(kzzL,gamma331,kmsub(kxzL,ksub(gamma333,gamma131),JacPDstandard4th3kxz))))));
+ kmadd(kxxL,gamma133,knmsub(kyzL,gamma231,kmadd(kxyL,gamma233,knmsub(kzzL,gamma331,kmadd(kxzL,ksub(gamma333,gamma131),ksub(JacPDstandard4th1kzz,JacPDstandard4th3kxz))))));
CCTK_REAL_VEC Ro321 CCTK_ATTRIBUTE_UNUSED =
- kmadd(kyyL,gamma231,kmadd(kyzL,gamma331,kadd(JacPDstandard4th2kxz,knmsub(kxxL,gamma132,knmsub(kxzL,gamma332,kmsub(kxyL,ksub(gamma131,gamma232),JacPDstandard4th1kyz))))));
+ knmsub(kxxL,gamma132,kmadd(kyyL,gamma231,kmadd(kxyL,ksub(gamma131,gamma232),kmadd(kyzL,gamma331,knmsub(kxzL,gamma332,ksub(JacPDstandard4th2kxz,JacPDstandard4th1kyz))))));
CCTK_REAL_VEC Ro322 CCTK_ATTRIBUTE_UNUSED = ToReal(0);
CCTK_REAL_VEC Ro323 CCTK_ATTRIBUTE_UNUSED =
- kmadd(kxyL,gamma133,kmadd(kyyL,gamma233,kadd(JacPDstandard4th2kzz,knmsub(kxzL,gamma132,knmsub(kzzL,gamma332,kmsub(kyzL,ksub(gamma333,gamma232),JacPDstandard4th3kyz))))));
+ knmsub(kxzL,gamma132,kmadd(kxyL,gamma133,kmadd(kyyL,gamma233,knmsub(kzzL,gamma332,kmadd(kyzL,ksub(gamma333,gamma232),ksub(JacPDstandard4th2kzz,JacPDstandard4th3kyz))))));
CCTK_REAL_VEC Ro331 CCTK_ATTRIBUTE_UNUSED =
- kmadd(kyzL,gamma231,kmadd(kzzL,gamma331,kadd(JacPDstandard4th3kxz,knmsub(kxxL,gamma133,knmsub(kxyL,gamma233,kmsub(kxzL,ksub(gamma131,gamma333),JacPDstandard4th1kzz))))));
+ knmsub(kxxL,gamma133,kmadd(kyzL,gamma231,knmsub(kxyL,gamma233,kmadd(kzzL,gamma331,kmadd(kxzL,ksub(gamma131,gamma333),ksub(JacPDstandard4th3kxz,JacPDstandard4th1kzz))))));
CCTK_REAL_VEC Ro332 CCTK_ATTRIBUTE_UNUSED =
- kmadd(kxzL,gamma132,kmadd(kzzL,gamma332,kadd(JacPDstandard4th3kyz,knmsub(kxyL,gamma133,knmsub(kyyL,gamma233,kmsub(kyzL,ksub(gamma232,gamma333),JacPDstandard4th2kzz))))));
+ kmadd(kxzL,gamma132,knmsub(kxyL,gamma133,knmsub(kyyL,gamma233,kmadd(kzzL,gamma332,kmadd(kyzL,ksub(gamma232,gamma333),ksub(JacPDstandard4th3kyz,JacPDstandard4th2kzz))))));
CCTK_REAL_VEC Ro333 CCTK_ATTRIBUTE_UNUSED = ToReal(0);
CCTK_REAL_VEC Rojo11 CCTK_ATTRIBUTE_UNUSED =
- kmadd(kadd(gInv23,gInv32),kmadd(kxxL,kyzL,knmsub(kxyL,kxzL,R1213)),kmadd(gInv22,kmadd(kxxL,kyyL,knmsub(kxyL,kxyL,R1212)),kmul(gInv33,kmadd(kxxL,kzzL,knmsub(kxzL,kxzL,R1313)))));
+ kmadd(kadd(gInv23,gInv32),knmsub(kxyL,kxzL,kmadd(kxxL,kyzL,R1213)),kmadd(gInv22,kmadd(kxxL,kyyL,knmsub(kxyL,kxyL,R1212)),kmul(gInv33,kmadd(kxxL,kzzL,knmsub(kxzL,kxzL,R1313)))));
CCTK_REAL_VEC Rojo12 CCTK_ATTRIBUTE_UNUSED =
- kmadd(gInv23,R1223,knmsub(gInv21,R1212,knmsub(gInv31,R1213,kmadd(gInv12,kmsub(kxyL,kxyL,kmul(kxxL,kyyL)),kmadd(gInv32,kmsub(kxyL,kyzL,kmul(kxzL,kyyL)),kmadd(gInv13,kmsub(kxyL,kxzL,kmul(kxxL,kyzL)),kmul(gInv33,kmadd(kxyL,kzzL,knmsub(kxzL,kyzL,R1323)))))))));
+ kmadd(kmsub(kxyL,kxzL,kmul(kxxL,kyzL)),gInv13,kmadd(kmsub(kxyL,kyzL,kmul(kxzL,kyyL)),gInv32,knmsub(gInv21,R1212,knmsub(gInv31,R1213,kmadd(gInv23,R1223,kmadd(gInv33,knmsub(kxzL,kyzL,kmadd(kxyL,kzzL,R1323)),kmul(gInv12,kmsub(kxyL,kxyL,kmul(kxxL,kyyL)))))))));
CCTK_REAL_VEC Rojo13 CCTK_ATTRIBUTE_UNUSED =
- kmadd(kxzL,kmul(kyzL,gInv23),kmadd(gInv13,kmul(kxzL,kxzL),knmsub(gInv21,R1213,knmsub(gInv31,R1313,knmsub(gInv32,R1323,kmadd(gInv12,kmsub(kxyL,kxzL,kmul(kxxL,kyzL)),kmsub(gInv22,kmsub(kxzL,kyyL,kmadd(kxyL,kyzL,R1223)),kmul(kzzL,kmadd(kxyL,gInv23,kmul(kxxL,gInv13))))))))));
+ kmadd(kmsub(kxyL,kxzL,kmul(kxxL,kyzL)),gInv12,kmadd(kmsub(kxzL,kyzL,kmul(kxyL,kzzL)),gInv23,knmsub(gInv21,R1213,kmadd(gInv22,kmsub(kxzL,kyyL,kmadd(kxyL,kyzL,R1223)),knmsub(gInv31,R1313,kmsub(gInv13,kmsub(kxzL,kxzL,kmul(kxxL,kzzL)),kmul(gInv32,R1323)))))));
CCTK_REAL_VEC Rojo21 CCTK_ATTRIBUTE_UNUSED =
- kmadd(gInv32,R1223,knmsub(gInv12,R1212,knmsub(gInv13,R1213,kmadd(gInv21,kmsub(kxyL,kxyL,kmul(kxxL,kyyL)),kmadd(gInv23,kmsub(kxyL,kyzL,kmul(kxzL,kyyL)),kmadd(gInv31,kmsub(kxyL,kxzL,kmul(kxxL,kyzL)),kmul(gInv33,kmadd(kxyL,kzzL,knmsub(kxzL,kyzL,R1323)))))))));
+ kmadd(kmsub(kxyL,kyzL,kmul(kxzL,kyyL)),gInv23,kmadd(kmsub(kxyL,kxzL,kmul(kxxL,kyzL)),gInv31,knmsub(gInv12,R1212,knmsub(gInv13,R1213,kmadd(gInv32,R1223,kmadd(gInv33,knmsub(kxzL,kyzL,kmadd(kxyL,kzzL,R1323)),kmul(gInv21,kmsub(kxyL,kxyL,kmul(kxxL,kyyL)))))))));
CCTK_REAL_VEC Rojo22 CCTK_ATTRIBUTE_UNUSED =
kmadd(kadd(gInv13,gInv31),kmsub(kxzL,kyyL,kmadd(kxyL,kyzL,R1223)),kmadd(gInv11,kmadd(kxxL,kyyL,knmsub(kxyL,kxyL,R1212)),kmul(gInv33,kmadd(kyyL,kzzL,knmsub(kyzL,kyzL,R2323)))));
CCTK_REAL_VEC Rojo23 CCTK_ATTRIBUTE_UNUSED =
- kmadd(gInv12,R1223,knmsub(gInv31,R1323,knmsub(gInv32,R2323,kmadd(gInv11,kmadd(kxxL,kyzL,knmsub(kxyL,kxzL,R1213)),kmadd(gInv21,kmsub(kxyL,kyzL,kmul(kxzL,kyyL)),kmadd(gInv13,kmsub(kxzL,kyzL,kmul(kxyL,kzzL)),kmul(gInv23,kmsub(kyzL,kyzL,kmul(kyyL,kzzL)))))))));
+ kmadd(kmsub(kxzL,kyzL,kmul(kxyL,kzzL)),gInv13,kmadd(kmsub(kxyL,kyzL,kmul(kxzL,kyyL)),gInv21,kmadd(gInv11,knmsub(kxyL,kxzL,kmadd(kxxL,kyzL,R1213)),kmadd(gInv12,R1223,knmsub(gInv31,R1323,kmsub(gInv23,kmsub(kyzL,kyzL,kmul(kyyL,kzzL)),kmul(gInv32,R2323)))))));
CCTK_REAL_VEC Rojo31 CCTK_ATTRIBUTE_UNUSED =
- kmadd(kxzL,kmul(kyzL,gInv32),kmadd(gInv31,kmul(kxzL,kxzL),knmsub(gInv12,R1213,knmsub(gInv13,R1313,knmsub(gInv23,R1323,kmadd(gInv21,kmsub(kxyL,kxzL,kmul(kxxL,kyzL)),kmsub(gInv22,kmsub(kxzL,kyyL,kmadd(kxyL,kyzL,R1223)),kmul(kzzL,kmadd(kxyL,gInv32,kmul(kxxL,gInv31))))))))));
+ kmadd(kmsub(kxyL,kxzL,kmul(kxxL,kyzL)),gInv21,kmadd(kmsub(kxzL,kyzL,kmul(kxyL,kzzL)),gInv32,knmsub(gInv12,R1213,kmadd(gInv22,kmsub(kxzL,kyyL,kmadd(kxyL,kyzL,R1223)),knmsub(gInv13,R1313,kmsub(gInv31,kmsub(kxzL,kxzL,kmul(kxxL,kzzL)),kmul(gInv23,R1323)))))));
CCTK_REAL_VEC Rojo32 CCTK_ATTRIBUTE_UNUSED =
- kmadd(gInv21,R1223,knmsub(gInv13,R1323,knmsub(gInv23,R2323,kmadd(gInv11,kmadd(kxxL,kyzL,knmsub(kxyL,kxzL,R1213)),kmadd(gInv12,kmsub(kxyL,kyzL,kmul(kxzL,kyyL)),kmadd(gInv31,kmsub(kxzL,kyzL,kmul(kxyL,kzzL)),kmul(gInv32,kmsub(kyzL,kyzL,kmul(kyyL,kzzL)))))))));
+ kmadd(kmsub(kxyL,kyzL,kmul(kxzL,kyyL)),gInv12,kmadd(kmsub(kxzL,kyzL,kmul(kxyL,kzzL)),gInv31,kmadd(gInv11,knmsub(kxyL,kxzL,kmadd(kxxL,kyzL,R1213)),kmadd(gInv21,R1223,knmsub(gInv13,R1323,kmsub(gInv32,kmsub(kyzL,kyzL,kmul(kyyL,kzzL)),kmul(gInv23,R2323)))))));
CCTK_REAL_VEC Rojo33 CCTK_ATTRIBUTE_UNUSED =
- kmadd(kadd(gInv12,gInv21),kmadd(kxyL,kzzL,knmsub(kxzL,kyzL,R1323)),kmadd(gInv11,kmadd(kxxL,kzzL,knmsub(kxzL,kxzL,R1313)),kmul(gInv22,kmadd(kyyL,kzzL,knmsub(kyzL,kyzL,R2323)))));
+ kmadd(kadd(gInv12,gInv21),knmsub(kxzL,kyzL,kmadd(kxyL,kzzL,R1323)),kmadd(gInv11,kmadd(kxxL,kzzL,knmsub(kxzL,kxzL,R1313)),kmul(gInv22,kmadd(kyyL,kzzL,knmsub(kyzL,kyzL,R2323)))));
CCTK_REAL_VEC Psi4rL CCTK_ATTRIBUTE_UNUSED =
- knmsub(kmadd(R4p1212,kmul(n1,n1),kmadd(R4p2323,kmul(n3,n3),kmul(n1,kmul(n3,kmul(R4p1223,ToReal(-2)))))),kmsub(imbar2,imbar2,kmul(rmbar2,rmbar2)),knmsub(kmul(nn,nn),kmadd(imbar1,kmadd(imbar2,kadd(Rojo12,Rojo21),kmul(imbar3,kadd(Rojo13,Rojo31))),knmsub(rmbar1,kmadd(rmbar2,kadd(Rojo12,Rojo21),kmul(rmbar3,kadd(Rojo13,Rojo31))),kmadd(Rojo23,kmsub(imbar2,imbar3,kmul(rmbar2,rmbar3)),kmadd(Rojo32,kmsub(imbar2,imbar3,kmul(rmbar2,rmbar3)),kmadd(Rojo11,kmsub(imbar1,imbar1,kmul(rmbar1,rmbar1)),kmadd(Rojo22,kmsub(imbar2,imbar2,kmul(rmbar2,rmbar2)),kmul(Rojo33,kmsub(imbar3,imbar3,kmul(rmbar3,rmbar3))))))))),kmsub(kmadd(kmsub(n1,kmadd(n2,R4p1212,kmul(n3,R4p1213)),kmul(n3,kmadd(n2,R4p1223,kmul(n3,R4p1323)))),kmsub(imbar1,imbar2,kmul(rmbar1,rmbar2)),kmadd(kmadd(n1,kmul(n2,R4p1213),kmadd(n1,kmul(n3,R4p1313),kmadd(n2,kmul(n3,R4p1323),kmul(R4p1223,kmul(n2,n2))))),kmsub(imbar1,imbar3,kmul(rmbar1,rmbar3)),kmadd(kmsub(rmbar2,rmbar3,kmul(imbar2,imbar3)),kmadd(R4p1213,kmul(n1,n1),kmsub(n1,kmsub(n2,R4p1223,kmul(n3,R4p1323)),kmul(n2,kmul(n3,R4p2323)))),kmul(nn,kmadd(kmadd(n1,Ro112,kmadd(n2,Ro122,kmul(n3,Ro132))),kmsub(rmbar1,rmbar2,kmul(imbar1,imbar2)),kmadd(kmadd(n1,Ro211,kmadd(n2,Ro221,kmul(n3,Ro231))),kmsub(rmbar1,rmbar2,kmul(imbar1,imbar2)),kmadd(kmadd(n1,Ro113,kmadd(n2,Ro123,kmul(n3,Ro133))),kmsub(rmbar1,rmbar3,kmul(imbar1,imbar3)),kmadd(kmadd(n1,Ro311,kmadd(n2,Ro321,kmul(n3,Ro331))),kmsub(rmbar1,rmbar3,kmul(imbar1,imbar3)),kmadd(kmadd(n1,Ro213,kmadd(n2,Ro223,kmul(n3,Ro233))),kmsub(rmbar2,rmbar3,kmul(imbar2,imbar3)),kmadd(kmadd(n1,Ro312,kmadd(n2,Ro322,kmul(n3,Ro332))),kmsub(rmbar2,rmbar3,kmul(imbar2,imbar3)),kmadd(kmadd(n1,Ro111,kmadd(n2,Ro121,kmul(n3,Ro131))),kmsub(rmbar1,rmbar1,kmul(imbar1,imbar1)),kmadd(kmadd(n1,Ro212,kmadd(n2,Ro222,kmul(n3,Ro232))),kmsub(rmbar2,rmbar2,kmul(imbar2,imbar2)),kmul(kmadd(n1,Ro313,kmadd(n2,Ro323,kmul(n3,Ro333))),kmsub(rmbar3,rmbar3,kmul(imbar3,imbar3))))))))))))))),ToReal(2),kmadd(kmsub(imbar3,imbar3,kmul(rmbar3,rmbar3)),kmadd(R4p1313,kmul(n1,n1),kmadd(R4p2323,kmul(n2,n2),kmul(n1,kmul(n2,kmul(R4p1323,ToReal(2)))))),kmul(kmsub(imbar1,imbar1,kmul(rmbar1,rmbar1)),kmadd(R4p1212,kmul(n2,n2),kmadd(R4p1313,kmul(n3,n3),kmul(n2,kmul(n3,kmul(R4p1213,ToReal(2)))))))))));
+ kmadd(ToReal(2),kmul(kmsub(imbar1,imbar2,kmul(rmbar1,rmbar2)),kmsub(n1,kmadd(n2,R4p1212,kmul(n3,R4p1213)),kmul(n3,kmadd(n2,R4p1223,kmul(n3,R4p1323))))),kmadd(ToReal(2),kmul(kmadd(n1,kmsub(n2,R4p1223,kmul(n3,R4p1323)),kmsub(R4p1213,kmul(n1,n1),kmul(n2,kmul(n3,R4p2323)))),kmsub(rmbar2,rmbar3,kmul(imbar2,imbar3))),kmadd(ToReal(2),kmul(kmadd(n1,kmul(n2,R4p1213),kmadd(n1,kmul(n3,R4p1313),kmadd(n2,kmul(n3,R4p1323),kmul(R4p1223,kmul(n2,n2))))),kmsub(imbar1,imbar3,kmul(rmbar1,rmbar3))),knmsub(kmadd(ToReal(2),kmul(n2,kmul(n3,R4p1213)),kmadd(R4p1212,kmul(n2,n2),kmul(R4p1313,kmul(n3,n3)))),kmsub(imbar1,imbar1,kmul(rmbar1,rmbar1)),knmsub(kmadd(ToReal(-2),kmul(n1,kmul(n3,R4p1223)),kmadd(R4p1212,kmul(n1,n1),kmul(R4p2323,kmul(n3,n3)))),kmsub(imbar2,imbar2,kmul(rmbar2,rmbar2)),knmsub(kmul(nn,nn),kmadd(kmsub(imbar2,imbar3,kmul(rmbar2,rmbar3)),Rojo23,kmadd(imbar1,kmadd(imbar2,kadd(Rojo12,Rojo21),kmul(imbar3,kadd(Rojo13,Rojo31))),knmsub(rmbar1,kmadd(rmbar2,kadd(Rojo12,Rojo21),kmul(rmbar3,kadd(Rojo13,Rojo31))),kmadd(kmsub(imbar2,imbar3,kmul(rmbar2,rmbar3)),Rojo32,kmadd(Rojo11,kmsub(imbar1,imbar1,kmul(rmbar1,rmbar1)),kmadd(Rojo22,kmsub(imbar2,imbar2,kmul(rmbar2,rmbar2)),kmul(Rojo33,kmsub(imbar3,imbar3,kmul(rmbar3,rmbar3))))))))),kmsub(ToReal(2),kmul(nn,kmadd(kmsub(rmbar1,rmbar2,kmul(imbar1,imbar2)),kmadd(n1,Ro112,kmadd(n2,Ro122,kmul(n3,Ro132))),kmadd(kmsub(rmbar1,rmbar3,kmul(imbar1,imbar3)),kmadd(n1,Ro113,kmadd(n2,Ro123,kmul(n3,Ro133))),kmadd(kmsub(rmbar1,rmbar2,kmul(imbar1,imbar2)),kmadd(n1,Ro211,kmadd(n2,Ro221,kmul(n3,Ro231))),kmadd(kmsub(rmbar2,rmbar3,kmul(imbar2,imbar3)),kmadd(n1,Ro213,kmadd(n2,Ro223,kmul(n3,Ro233))),kmadd(kmsub(rmbar1,rmbar3,kmul(imbar1,imbar3)),kmadd(n1,Ro311,kmadd(n2,Ro321,kmul(n3,Ro331))),kmadd(kmsub(rmbar2,rmbar3,kmul(imbar2,imbar3)),kmadd(n1,Ro312,kmadd(n2,Ro322,kmul(n3,Ro332))),kmadd(kmadd(n1,Ro111,kmadd(n2,Ro121,kmul(n3,Ro131))),kmsub(rmbar1,rmbar1,kmul(imbar1,imbar1)),kmadd(kmadd(n1,Ro212,kmadd(n2,Ro222,kmul(n3,Ro232))),kmsub(rmbar2,rmbar2,kmul(imbar2,imbar2)),kmul(kmadd(n1,Ro313,kmadd(n2,Ro323,kmul(n3,Ro333))),kmsub(rmbar3,rmbar3,kmul(imbar3,imbar3)))))))))))),kmul(kmadd(ToReal(2),kmul(n1,kmul(n2,R4p1323)),kmadd(R4p1313,kmul(n1,n1),kmul(R4p2323,kmul(n2,n2)))),kmsub(imbar3,imbar3,kmul(rmbar3,rmbar3))))))))));
CCTK_REAL_VEC Psi4iL CCTK_ATTRIBUTE_UNUSED =
- kmadd(kmadd(kmadd(im3,rm1,kmul(im1,rm3)),kmadd(n1,kmadd(n2,R4p1213,kmul(n3,R4p1313)),kmadd(n2,kmul(n3,R4p1323),kmul(R4p1223,kmul(n2,n2)))),kmadd(kmadd(im2,rm1,kmul(im1,rm2)),kmsub(n1,kmadd(n2,R4p1212,kmul(n3,R4p1213)),kmul(n3,kmadd(n2,R4p1223,kmul(n3,R4p1323)))),kmul(nn,kmadd(kmadd(im1,kmul(rm1,kmadd(n1,Ro111,kmadd(n2,Ro121,kmul(n3,Ro131)))),kmul(im2,kmul(rm2,kmadd(n1,Ro212,kmadd(n2,Ro222,kmul(n3,Ro232)))))),ToReal(-2),kmsub(im3,kmul(rm3,kmul(kmadd(n1,Ro313,kmadd(n2,Ro323,kmul(n3,Ro333))),ToReal(-2))),kmadd(kmadd(im2,rm1,kmul(im1,rm2)),kmadd(n1,kadd(Ro211,Ro112),kmadd(n3,kadd(Ro231,Ro132),kmul(n2,kadd(Ro221,Ro122)))),kmadd(kmadd(im3,rm2,kmul(im2,rm3)),kmadd(n1,kadd(Ro312,Ro213),kmadd(n3,kadd(Ro332,Ro233),kmul(n2,kadd(Ro322,Ro223)))),kmul(kmadd(im3,rm1,kmul(im1,rm3)),kmadd(n1,kadd(Ro311,Ro113),kmadd(n3,kadd(Ro331,Ro133),kmul(n2,kadd(Ro321,Ro123)))))))))))),ToReal(2),kmsub(ToReal(-2),kmadd(im2,kmul(rm2,kmadd(R4p1212,kmul(n1,n1),kmadd(R4p2323,kmul(n3,n3),kmul(n1,kmul(n3,kmul(R4p1223,ToReal(-2))))))),kmadd(kmadd(im3,rm2,kmul(im2,rm3)),kmadd(R4p1213,kmul(n1,n1),kmsub(n1,kmsub(n2,R4p1223,kmul(n3,R4p1323)),kmul(n2,kmul(n3,R4p2323)))),kmadd(im1,kmul(rm1,kmadd(R4p1212,kmul(n2,n2),kmadd(R4p1313,kmul(n3,n3),kmul(n2,kmul(n3,kmul(R4p1213,ToReal(2))))))),kmul(im3,kmul(rm3,kmadd(R4p1313,kmul(n1,n1),kmadd(R4p2323,kmul(n2,n2),kmul(n1,kmul(n2,kmul(R4p1323,ToReal(2))))))))))),kmul(kmul(nn,nn),kmadd(im1,kmadd(rm2,kadd(Rojo12,Rojo21),kmadd(rm3,kadd(Rojo13,Rojo31),kmul(rm1,kmul(Rojo11,ToReal(2))))),kmadd(im2,kmadd(rm1,kadd(Rojo12,Rojo21),kmadd(rm3,kadd(Rojo23,Rojo32),kmul(rm2,kmul(Rojo22,ToReal(2))))),kmul(im3,kmadd(rm1,kadd(Rojo13,Rojo31),kmadd(rm2,kadd(Rojo23,Rojo32),kmul(rm3,kmul(Rojo33,ToReal(2)))))))))));
+ kmadd(ToReal(2),kmadd(kmsub(n1,kmadd(n2,R4p1212,kmul(n3,R4p1213)),kmul(n3,kmadd(n2,R4p1223,kmul(n3,R4p1323)))),kmadd(im2,rm1,kmul(im1,rm2)),kmadd(nn,knmsub(kmadd(im2,rm1,kmul(im1,rm2)),kmadd(n1,kadd(Ro112,Ro211),kmadd(n3,kadd(Ro132,Ro231),kmul(n2,kadd(Ro122,Ro221)))),kmadd(ToReal(-2),kmadd(im1,kmul(rm1,kmadd(n1,Ro111,kmadd(n2,Ro121,kmul(n3,Ro131)))),kmul(im2,kmul(rm2,kmadd(n1,Ro212,kmadd(n2,Ro222,kmul(n3,Ro232)))))),knmsub(kmadd(im3,rm1,kmul(im1,rm3)),kmadd(n1,kadd(Ro113,Ro311),kmadd(n3,kadd(Ro133,Ro331),kmul(n2,kadd(Ro123,Ro321)))),kmsub(ToReal(-2),kmul(im3,kmul(rm3,kmadd(n1,Ro313,kmadd(n2,Ro323,kmul(n3,Ro333))))),kmul(kmadd(im3,rm2,kmul(im2,rm3)),kmadd(n1,kadd(Ro213,Ro312),kmadd(n3,kadd(Ro233,Ro332),kmul(n2,kadd(Ro223,Ro322))))))))),kmul(kmadd(im3,rm1,kmul(im1,rm3)),kmadd(n1,kmadd(n2,R4p1213,kmul(n3,R4p1313)),kmadd(n2,kmul(n3,R4p1323),kmul(R4p1223,kmul(n2,n2))))))),kmsub(ToReal(-2),kmadd(kmadd(im3,rm2,kmul(im2,rm3)),kmadd(n1,kmsub(n2,R4p1223,kmul(n3,R4p1323)),kmsub(R4p1213,kmul(n1,n1),kmul(n2,kmul(n3,R4p2323)))),kmadd(im3,kmul(rm3,kmadd(ToReal(2),kmul(n1,kmul(n2,R4p1323)),kmadd(R4p1313,kmul(n1,n1),kmul(R4p2323,kmul(n2,n2))))),kmadd(im1,kmul(rm1,kmadd(ToReal(2),kmul(n2,kmul(n3,R4p1213)),kmadd(R4p1212,kmul(n2,n2),kmul(R4p1313,kmul(n3,n3))))),kmul(im2,kmul(rm2,kmadd(ToReal(-2),kmul(n1,kmul(n3,R4p1223)),kmadd(R4p1212,kmul(n1,n1),kmul(R4p2323,kmul(n3,n3))))))))),kmul(kmadd(im1,kmadd(ToReal(2),kmul(rm1,Rojo11),kmadd(rm2,kadd(Rojo12,Rojo21),kmul(rm3,kadd(Rojo13,Rojo31)))),kmadd(im2,kmadd(rm1,kadd(Rojo12,Rojo21),kmadd(ToReal(2),kmul(rm2,Rojo22),kmul(rm3,kadd(Rojo23,Rojo32)))),kmul(im3,kmadd(rm1,kadd(Rojo13,Rojo31),kmadd(rm2,kadd(Rojo23,Rojo32),kmul(kmul(rm3,Rojo33),ToReal(2))))))),kmul(nn,nn))));
CCTK_REAL_VEC Psi3rL CCTK_ATTRIBUTE_UNUSED =
- knmsub(kmul(nn,nn),kmadd(kmadd(rm1,Rojo11,kmadd(rm2,Rojo12,kmul(rm3,Rojo13))),ksub(n1,ltet1),kmadd(kmadd(rm1,Rojo21,kmadd(rm2,Rojo22,kmul(rm3,Rojo23))),ksub(n2,ltet2),kmul(kmadd(rm1,Rojo31,kmadd(rm2,Rojo32,kmul(rm3,Rojo33))),ksub(n3,ltet3)))),kmadd(n3,kmadd(ltet1,kmadd(n2,kmul(R4p1213,rm1),kmadd(n3,kmul(R4p1313,rm1),kmadd(n2,kmul(R4p1223,rm2),kmul(n3,kmul(R4p1323,rm2))))),kmadd(nn,kmul(rm2,kmul(Ro223,kmadd(ltet2,ToReal(-2),n2))),kmadd(nn,kmul(rm3,kmul(Ro333,kmadd(ltet3,ToReal(-2),n3))),knmsub(ltet3,kmadd(n1,kmul(R4p1313,rm1),kmadd(n2,kmul(R4p1323,rm1),kmadd(n1,kmul(R4p1323,rm2),kmul(n2,kmul(R4p2323,rm2))))),kmadd(ltet2,kmsub(n3,kmadd(R4p1323,rm1,kmul(R4p2323,rm2)),kmul(n1,kmadd(R4p1213,rm1,kmul(R4p1223,rm2)))),kmadd(nn,kmul(Ro313,kmsub(rm1,ksub(n3,ltet3),kmul(ltet1,rm3))),kmadd(nn,kmul(Ro323,kmsub(rm2,ksub(n3,ltet3),kmul(ltet2,rm3))),kmul(nn,kmsub(rm1,kmul(Ro113,kmadd(ltet1,ToReal(-2),n1)),kmadd(Ro123,kmadd(ltet2,rm1,kmul(rm2,ksub(ltet1,n1))),kmadd(Ro133,kmadd(ltet3,rm1,kmul(rm3,ksub(ltet1,n1))),kmadd(Ro233,kmadd(ltet3,rm2,kmul(rm3,ksub(ltet2,n2))),kmul(Ro213,kmadd(ltet1,rm2,kmul(rm1,ksub(ltet2,n2)))))))))))))))),kmadd(n1,kmadd(ltet3,kmadd(n1,kmul(R4p1213,rm2),kmadd(n2,kmul(R4p1223,rm2),kmadd(n1,kmul(R4p1313,rm3),kmul(n2,kmul(R4p1323,rm3))))),kmadd(nn,kmul(rm2,kmul(Ro221,kmadd(ltet2,ToReal(-2),n2))),kmadd(nn,kmul(rm3,kmul(Ro331,kmadd(ltet3,ToReal(-2),n3))),knmsub(ltet1,kmadd(n2,kmul(R4p1212,rm2),kmadd(n3,kmul(R4p1213,rm2),kmadd(n2,kmul(R4p1213,rm3),kmul(n3,kmul(R4p1313,rm3))))),kmadd(ltet2,kmsub(n1,kmadd(R4p1212,rm2,kmul(R4p1213,rm3)),kmul(n3,kmadd(R4p1223,rm2,kmul(R4p1323,rm3)))),kmadd(nn,kmsub(Ro121,kmsub(rm2,ksub(n1,ltet1),kmul(ltet2,rm1)),kmul(Ro231,kmadd(ltet3,rm2,kmul(rm3,ksub(ltet2,n2))))),kmadd(nn,kmsub(Ro131,kmsub(rm3,ksub(n1,ltet1),kmul(ltet3,rm1)),kmul(Ro311,kmadd(ltet1,rm3,kmul(rm1,ksub(ltet3,n3))))),kmul(nn,kmsub(rm1,kmul(Ro111,kmadd(ltet1,ToReal(-2),n1)),kmadd(Ro321,kmadd(ltet2,rm3,kmul(rm2,ksub(ltet3,n3))),kmul(Ro211,kmadd(ltet1,rm2,kmul(rm1,ksub(ltet2,n2)))))))))))))),kmul(n2,kmadd(ltet3,kmadd(n1,kmul(R4p1323,rm3),kmsub(n2,kmul(R4p2323,rm3),kmul(rm1,kmadd(n2,R4p1223,kmul(n1,R4p1213))))),kmadd(ltet1,kmsub(kmadd(n2,R4p1212,kmul(n3,R4p1213)),rm1,kmul(rm3,kmadd(n3,R4p1323,kmul(n2,R4p1223)))),kmadd(ltet2,kmadd(rm1,kmsub(n3,R4p1223,kmul(n1,R4p1212)),kmul(rm3,kmsub(n1,R4p1223,kmul(n3,R4p2323)))),kmul(nn,kmadd(rm1,kmul(Ro112,kmadd(ltet1,ToReal(-2),n1)),kmadd(rm2,kmul(Ro222,kmadd(ltet2,ToReal(-2),n2)),kmadd(rm3,kmul(Ro332,kmadd(ltet3,ToReal(-2),n3)),kmadd(Ro212,kmsub(rm1,ksub(n2,ltet2),kmul(ltet1,rm2)),kmsub(Ro232,kmsub(rm3,ksub(n2,ltet2),kmul(ltet3,rm2)),kmadd(Ro122,kmadd(ltet2,rm1,kmul(rm2,ksub(ltet1,n1))),kmadd(Ro132,kmadd(ltet3,rm1,kmul(rm3,ksub(ltet1,n1))),kmadd(Ro322,kmadd(ltet2,rm3,kmul(rm2,ksub(ltet3,n3))),kmul(Ro312,kmadd(ltet1,rm3,kmul(rm1,ksub(ltet3,n3))))))))))))))))))));
+ kmadd(n1,knmsub(ltet1,kmadd(n2,kmul(R4p1212,rm2),kmadd(n3,kmul(R4p1213,rm2),kmadd(n2,kmul(R4p1213,rm3),kmul(n3,kmul(R4p1313,rm3))))),kmadd(ltet3,kmadd(n1,kmul(R4p1213,rm2),kmadd(n2,kmul(R4p1223,rm2),kmadd(n1,kmul(R4p1313,rm3),kmul(n2,kmul(R4p1323,rm3))))),kmadd(ltet2,kmsub(n1,kmadd(R4p1212,rm2,kmul(R4p1213,rm3)),kmul(n3,kmadd(R4p1223,rm2,kmul(R4p1323,rm3)))),kmadd(kmadd(ToReal(-2),ltet2,n2),kmul(nn,kmul(rm2,Ro221)),kmadd(nn,kmsub(kmsub(ksub(n1,ltet1),rm2,kmul(ltet2,rm1)),Ro121,kmul(Ro231,kmadd(ltet3,rm2,kmul(ksub(ltet2,n2),rm3)))),kmadd(nn,kmsub(kmsub(ksub(n1,ltet1),rm3,kmul(ltet3,rm1)),Ro131,kmul(Ro311,kmadd(ksub(ltet3,n3),rm1,kmul(ltet1,rm3)))),kmadd(nn,kmsub(kmadd(ToReal(-2),ltet1,n1),kmul(rm1,Ro111),kmadd(kmadd(ksub(ltet3,n3),rm2,kmul(ltet2,rm3)),Ro321,kmul(Ro211,kmadd(ksub(ltet2,n2),rm1,kmul(ltet1,rm2))))),kmul(kmadd(ToReal(-2),ltet3,n3),kmul(nn,kmul(rm3,Ro331)))))))))),kmadd(n2,kmadd(ltet1,kmsub(kmadd(n2,R4p1212,kmul(n3,R4p1213)),rm1,kmul(rm3,kmadd(n3,R4p1323,kmul(n2,R4p1223)))),kmadd(ltet3,knmsub(kmadd(n2,R4p1223,kmul(n1,R4p1213)),rm1,kmadd(n1,kmul(R4p1323,rm3),kmul(n2,kmul(R4p2323,rm3)))),kmadd(ltet2,kmadd(kmsub(n3,R4p1223,kmul(n1,R4p1212)),rm1,kmul(rm3,kmsub(n1,R4p1223,kmul(n3,R4p2323)))),kmul(nn,kmadd(kmadd(ToReal(-2),ltet1,n1),kmul(rm1,Ro112),knmsub(kmadd(ltet2,rm1,kmul(rm2,ksub(ltet1,n1))),Ro122,knmsub(kmadd(ltet3,rm1,kmul(rm3,ksub(ltet1,n1))),Ro132,kmadd(kmsub(ksub(n2,ltet2),rm1,kmul(ltet1,rm2)),Ro212,kmadd(kmadd(ToReal(-2),ltet2,n2),kmul(rm2,Ro222),kmadd(kmsub(ksub(n2,ltet2),rm3,kmul(ltet3,rm2)),Ro232,knmsub(kmadd(ksub(ltet3,n3),rm1,kmul(ltet1,rm3)),Ro312,kmsub(kmadd(ToReal(-2),ltet3,n3),kmul(rm3,Ro332),kmul(Ro322,kmadd(ksub(ltet3,n3),rm2,kmul(ltet2,rm3))))))))))))))),kmsub(n3,kmadd(ltet1,kmadd(n2,kmul(R4p1213,rm1),kmadd(n3,kmul(R4p1313,rm1),kmadd(n2,kmul(R4p1223,rm2),kmul(n3,kmul(R4p1323,rm2))))),knmsub(ltet3,kmadd(n1,kmul(R4p1313,rm1),kmadd(n2,kmul(R4p1323,rm1),kmadd(n1,kmul(R4p1323,rm2),kmul(n2,kmul(R4p2323,rm2))))),kmadd(ltet2,kmsub(n3,kmadd(R4p1323,rm1,kmul(R4p2323,rm2)),kmul(n1,kmadd(R4p1213,rm1,kmul(R4p1223,rm2)))),kmadd(kmadd(ToReal(-2),ltet2,n2),kmul(nn,kmul(rm2,Ro223)),kmadd(nn,kmsub(kmadd(ToReal(-2),ltet1,n1),kmul(rm1,Ro113),kmadd(kmadd(ltet2,rm1,kmul(rm2,ksub(ltet1,n1))),Ro123,kmadd(kmadd(ltet3,rm1,kmul(rm3,ksub(ltet1,n1))),Ro133,kmadd(kmadd(ltet3,rm2,kmul(rm3,ksub(ltet2,n2))),Ro233,kmul(Ro213,kmadd(ksub(ltet2,n2),rm1,kmul(ltet1,rm2))))))),kmadd(nn,kmul(Ro313,kmsub(ksub(n3,ltet3),rm1,kmul(ltet1,rm3))),kmadd(nn,kmul(Ro323,kmsub(ksub(n3,ltet3),rm2,kmul(ltet2,rm3))),kmul(kmadd(ToReal(-2),ltet3,n3),kmul(nn,kmul(rm3,Ro333)))))))))),kmul(kmadd(ksub(n1,ltet1),kmadd(rm1,Rojo11,kmadd(rm2,Rojo12,kmul(rm3,Rojo13))),kmadd(ksub(n2,ltet2),kmadd(rm1,Rojo21,kmadd(rm2,Rojo22,kmul(rm3,Rojo23))),kmul(kmadd(rm1,Rojo31,kmadd(rm2,Rojo32,kmul(rm3,Rojo33))),ksub(n3,ltet3)))),kmul(nn,nn)))));
CCTK_REAL_VEC Psi3iL CCTK_ATTRIBUTE_UNUSED =
- kmadd(kmul(nn,nn),kmadd(kmadd(im1,Rojo11,kmadd(im2,Rojo12,kmul(im3,Rojo13))),ksub(n1,ltet1),kmadd(kmadd(im1,Rojo21,kmadd(im2,Rojo22,kmul(im3,Rojo23))),ksub(n2,ltet2),kmul(kmadd(im1,Rojo31,kmadd(im2,Rojo32,kmul(im3,Rojo33))),ksub(n3,ltet3)))),kmadd(n1,kmul(nn,kmul(Ro121,kmadd(im1,ltet2,kmul(im2,ksub(ltet1,n1))))),kmadd(n2,kmul(nn,kmul(Ro122,kmadd(im1,ltet2,kmul(im2,ksub(ltet1,n1))))),kmadd(n3,kmul(nn,kmul(Ro123,kmadd(im1,ltet2,kmul(im2,ksub(ltet1,n1))))),kmadd(n1,kmul(nn,kmul(Ro131,kmadd(im1,ltet3,kmul(im3,ksub(ltet1,n1))))),kmadd(n2,kmul(nn,kmul(Ro132,kmadd(im1,ltet3,kmul(im3,ksub(ltet1,n1))))),kmadd(n3,kmul(nn,kmul(Ro133,kmadd(im1,ltet3,kmul(im3,ksub(ltet1,n1))))),kmadd(n1,kmul(nn,kmul(Ro211,kmadd(im2,ltet1,kmul(im1,ksub(ltet2,n2))))),kmadd(n2,kmul(nn,kmul(Ro212,kmadd(im2,ltet1,kmul(im1,ksub(ltet2,n2))))),kmadd(n3,kmul(nn,kmul(Ro213,kmadd(im2,ltet1,kmul(im1,ksub(ltet2,n2))))),kmadd(n1,kmul(nn,kmul(Ro231,kmadd(im2,ltet3,kmul(im3,ksub(ltet2,n2))))),kmadd(n2,kmul(nn,kmul(Ro232,kmadd(im2,ltet3,kmul(im3,ksub(ltet2,n2))))),kmadd(n3,kmul(nn,kmul(Ro233,kmadd(im2,ltet3,kmul(im3,ksub(ltet2,n2))))),kmadd(n1,kmul(nn,kmul(Ro311,kmadd(im3,ltet1,kmul(im1,ksub(ltet3,n3))))),kmadd(n2,kmul(nn,kmul(Ro312,kmadd(im3,ltet1,kmul(im1,ksub(ltet3,n3))))),kmadd(n3,kmul(nn,kmul(Ro313,kmadd(im3,ltet1,kmul(im1,ksub(ltet3,n3))))),kmadd(n1,kmul(nn,kmul(Ro321,kmadd(im3,ltet2,kmul(im2,ksub(ltet3,n3))))),kmadd(n2,kmul(nn,kmul(Ro322,kmadd(im3,ltet2,kmul(im2,ksub(ltet3,n3))))),kmadd(n3,kmul(nn,kmul(Ro323,kmadd(im3,ltet2,kmul(im2,ksub(ltet3,n3))))),kmadd(im2,kmul(n1,kmul(nn,kmul(Ro221,kmsub(ltet2,ToReal(2),n2)))),kmadd(im2,kmul(n2,kmul(nn,kmul(Ro222,kmsub(ltet2,ToReal(2),n2)))),kmadd(im2,kmul(n3,kmul(nn,kmul(Ro223,kmsub(ltet2,ToReal(2),n2)))),kmadd(im3,kmul(n1,kmul(nn,kmul(Ro331,kmsub(ltet3,ToReal(2),n3)))),kmadd(im3,kmul(n2,kmul(nn,kmul(Ro332,kmsub(ltet3,ToReal(2),n3)))),kmadd(im3,kmul(n3,kmul(nn,kmul(Ro333,kmsub(ltet3,ToReal(2),n3)))),kmadd(n1,knmsub(im2,kmadd(R4p1212,kmsub(ltet2,n1,kmul(ltet1,n2)),kmadd(R4p1213,kmsub(ltet3,n1,kmul(ltet1,n3)),kmul(R4p1223,kmsub(ltet3,n2,kmul(ltet2,n3))))),kmsub(im1,kmul(nn,kmul(Ro111,kmsub(ltet1,ToReal(2),n1))),kmul(im3,kmadd(R4p1213,kmsub(ltet2,n1,kmul(ltet1,n2)),kmadd(R4p1313,kmsub(ltet3,n1,kmul(ltet1,n3)),kmul(R4p1323,kmsub(ltet3,n2,kmul(ltet2,n3)))))))),kmadd(n2,kmsub(im1,kmadd(R4p1212,kmsub(ltet2,n1,kmul(ltet1,n2)),kmadd(R4p1213,kmsub(ltet3,n1,kmul(ltet1,n3)),kmadd(R4p1223,kmsub(ltet3,n2,kmul(ltet2,n3)),kmul(nn,kmul(Ro112,kmsub(ltet1,ToReal(2),n1)))))),kmul(im3,kmadd(R4p1223,kmsub(ltet2,n1,kmul(ltet1,n2)),kmadd(R4p1323,kmsub(ltet3,n1,kmul(ltet1,n3)),kmul(R4p2323,kmsub(ltet3,n2,kmul(ltet2,n3))))))),kmul(n3,kmsub(im1,kmadd(R4p1213,kmsub(ltet2,n1,kmul(ltet1,n2)),kmadd(R4p1313,kmsub(ltet3,n1,kmul(ltet1,n3)),kmadd(R4p1323,kmsub(ltet3,n2,kmul(ltet2,n3)),kmul(nn,kmul(Ro113,kmsub(ltet1,ToReal(2),n1)))))),kmul(im2,kmadd(R4p1223,kmsub(ltet1,n2,kmul(ltet2,n1)),kmadd(R4p1323,kmsub(ltet1,n3,kmul(ltet3,n1)),kmul(R4p2323,kmsub(ltet2,n3,kmul(ltet3,n2)))))))))))))))))))))))))))))))))));
+ kmadd(n1,knmsub(im2,kmadd(kmsub(ltet2,n1,kmul(ltet1,n2)),R4p1212,kmadd(kmsub(ltet3,n1,kmul(ltet1,n3)),R4p1213,kmul(R4p1223,kmsub(ltet3,n2,kmul(ltet2,n3))))),kmsub(im1,kmul(kmsub(ToReal(2),ltet1,n1),kmul(nn,Ro111)),kmul(im3,kmadd(kmsub(ltet2,n1,kmul(ltet1,n2)),R4p1213,kmadd(kmsub(ltet3,n1,kmul(ltet1,n3)),R4p1313,kmul(R4p1323,kmsub(ltet3,n2,kmul(ltet2,n3)))))))),kmadd(n2,kmsub(im1,kmadd(kmsub(ltet2,n1,kmul(ltet1,n2)),R4p1212,kmadd(kmsub(ltet3,n1,kmul(ltet1,n3)),R4p1213,kmadd(kmsub(ltet3,n2,kmul(ltet2,n3)),R4p1223,kmul(kmsub(ToReal(2),ltet1,n1),kmul(nn,Ro112))))),kmul(im3,kmadd(kmsub(ltet2,n1,kmul(ltet1,n2)),R4p1223,kmadd(kmsub(ltet3,n1,kmul(ltet1,n3)),R4p1323,kmul(R4p2323,kmsub(ltet3,n2,kmul(ltet2,n3))))))),kmadd(n3,kmsub(im1,kmadd(kmsub(ltet2,n1,kmul(ltet1,n2)),R4p1213,kmadd(kmsub(ltet3,n1,kmul(ltet1,n3)),R4p1313,kmadd(kmsub(ltet3,n2,kmul(ltet2,n3)),R4p1323,kmul(kmsub(ToReal(2),ltet1,n1),kmul(nn,Ro113))))),kmul(im2,kmadd(kmsub(ltet1,n2,kmul(ltet2,n1)),R4p1223,kmadd(kmsub(ltet1,n3,kmul(ltet3,n1)),R4p1323,kmul(R4p2323,kmsub(ltet2,n3,kmul(ltet3,n2))))))),kmadd(kmadd(im1,ltet2,kmul(im2,ksub(ltet1,n1))),kmul(n1,kmul(nn,Ro121)),kmadd(kmadd(im1,ltet2,kmul(im2,ksub(ltet1,n1))),kmul(n2,kmul(nn,Ro122)),kmadd(kmadd(im1,ltet2,kmul(im2,ksub(ltet1,n1))),kmul(n3,kmul(nn,Ro123)),kmadd(kmadd(im1,ltet3,kmul(im3,ksub(ltet1,n1))),kmul(n1,kmul(nn,Ro131)),kmadd(kmadd(im1,ltet3,kmul(im3,ksub(ltet1,n1))),kmul(n2,kmul(nn,Ro132)),kmadd(kmadd(im1,ltet3,kmul(im3,ksub(ltet1,n1))),kmul(n3,kmul(nn,Ro133)),kmadd(n1,kmul(kmadd(im2,ltet1,kmul(im1,ksub(ltet2,n2))),kmul(nn,Ro211)),kmadd(kmadd(im2,ltet1,kmul(im1,ksub(ltet2,n2))),kmul(n2,kmul(nn,Ro212)),kmadd(kmadd(im2,ltet1,kmul(im1,ksub(ltet2,n2))),kmul(n3,kmul(nn,Ro213)),kmadd(im2,kmul(n1,kmul(kmsub(ToReal(2),ltet2,n2),kmul(nn,Ro221))),kmadd(im2,kmul(kmsub(ToReal(2),ltet2,n2),kmul(n2,kmul(nn,Ro222))),kmadd(im2,kmul(kmsub(ToReal(2),ltet2,n2),kmul(n3,kmul(nn,Ro223))),kmadd(n1,kmul(kmadd(im2,ltet3,kmul(im3,ksub(ltet2,n2))),kmul(nn,Ro231)),kmadd(kmadd(im2,ltet3,kmul(im3,ksub(ltet2,n2))),kmul(n2,kmul(nn,Ro232)),kmadd(kmadd(im2,ltet3,kmul(im3,ksub(ltet2,n2))),kmul(n3,kmul(nn,Ro233)),kmadd(n1,kmul(kmadd(im3,ltet1,kmul(im1,ksub(ltet3,n3))),kmul(nn,Ro311)),kmadd(n2,kmul(kmadd(im3,ltet1,kmul(im1,ksub(ltet3,n3))),kmul(nn,Ro312)),kmadd(kmadd(im3,ltet1,kmul(im1,ksub(ltet3,n3))),kmul(n3,kmul(nn,Ro313)),kmadd(n1,kmul(kmadd(im3,ltet2,kmul(im2,ksub(ltet3,n3))),kmul(nn,Ro321)),kmadd(n2,kmul(kmadd(im3,ltet2,kmul(im2,ksub(ltet3,n3))),kmul(nn,Ro322)),kmadd(kmadd(im3,ltet2,kmul(im2,ksub(ltet3,n3))),kmul(n3,kmul(nn,Ro323)),kmadd(im3,kmul(n1,kmul(kmsub(ToReal(2),ltet3,n3),kmul(nn,Ro331))),kmadd(im3,kmul(n2,kmul(kmsub(ToReal(2),ltet3,n3),kmul(nn,Ro332))),kmadd(im3,kmul(kmsub(ToReal(2),ltet3,n3),kmul(n3,kmul(nn,Ro333))),kmul(kmadd(ksub(n1,ltet1),kmadd(im1,Rojo11,kmadd(im2,Rojo12,kmul(im3,Rojo13))),kmadd(ksub(n2,ltet2),kmadd(im1,Rojo21,kmadd(im2,Rojo22,kmul(im3,Rojo23))),kmul(kmadd(im1,Rojo31,kmadd(im2,Rojo32,kmul(im3,Rojo33))),ksub(n3,ltet3)))),kmul(nn,nn)))))))))))))))))))))))))))));
CCTK_REAL_VEC Psi2rL CCTK_ATTRIBUTE_UNUSED =
- knmsub(kmadd(ltet2,kmul(n2,R4p1212),kmadd(ltet3,kmul(n2,R4p1213),kmadd(ltet2,kmul(n3,R4p1213),kmul(ltet3,kmul(n3,R4p1313))))),kmadd(im1,im1,kmul(rm1,rm1)),knmsub(kmadd(ltet1,kmul(n1,R4p1313),kmadd(ltet2,kmul(n1,R4p1323),kmadd(ltet1,kmul(n2,R4p1323),kmul(ltet2,kmul(n2,R4p2323))))),kmadd(im3,im3,kmul(rm3,rm3)),knmsub(kmul(nn,nn),kmadd(im2,kmul(im3,Rojo23),kmadd(rm2,kmul(rm3,Rojo23),kmadd(im1,kmadd(im2,kadd(Rojo12,Rojo21),kmul(im3,kadd(Rojo13,Rojo31))),kmadd(rm1,kmadd(rm2,kadd(Rojo12,Rojo21),kmul(rm3,kadd(Rojo13,Rojo31))),kmadd(im2,kmul(im3,Rojo32),kmadd(rm2,kmul(rm3,Rojo32),kmadd(Rojo11,kmul(im1,im1),kmadd(Rojo22,kmul(im2,im2),kmadd(Rojo33,kmul(im3,im3),kmadd(Rojo11,kmul(rm1,rm1),kmadd(Rojo22,kmul(rm2,rm2),kmul(Rojo33,kmul(rm3,rm3))))))))))))),knmsub(kmadd(im2,im2,kmul(rm2,rm2)),kmadd(n3,kmsub(ltet3,R4p2323,kmul(ltet1,R4p1223)),kmul(n1,kmsub(ltet1,R4p1212,kmul(ltet3,R4p1223)))),kmadd(kmadd(im2,im3,kmul(rm2,rm3)),kmadd(ltet2,kmul(n3,R4p2323),kmadd(ltet3,kmadd(n1,R4p1323,kmul(n2,R4p2323)),kmsub(ltet1,kmsub(n3,R4p1323,kmadd(n2,R4p1223,kmul(n1,R4p1213))),kmul(n1,kmadd(ltet2,R4p1223,kmul(ltet1,R4p1213)))))),kmadd(kmadd(im1,im2,kmul(rm1,rm2)),kmadd(ltet1,kmadd(n2,R4p1212,kmul(n3,R4p1213)),kmadd(ltet3,kmadd(n1,R4p1213,kmsub(n3,kmul(R4p1323,ToReal(-2)),kmul(n2,R4p1223))),kmul(ltet2,kmsub(n1,R4p1212,kmul(n3,R4p1223))))),kmadd(nn,kmadd(kmadd(im1,im2,kmul(rm1,rm2)),kmul(Ro211,ksub(n1,ltet1)),kmadd(kmadd(im1,im3,kmul(rm1,rm3)),kmul(Ro311,ksub(n1,ltet1)),kmadd(Ro111,kmul(kmadd(im1,im1,kmul(rm1,rm1)),ksub(n1,ltet1)),kmadd(kmadd(im1,im2,kmul(rm1,rm2)),kmul(Ro122,ksub(n2,ltet2)),kmadd(kmadd(im2,im3,kmul(rm2,rm3)),kmul(Ro322,ksub(n2,ltet2)),kmadd(Ro222,kmul(kmadd(im2,im2,kmul(rm2,rm2)),ksub(n2,ltet2)),kmadd(kmadd(im1,im3,kmul(rm1,rm3)),kmul(Ro133,ksub(n3,ltet3)),kmadd(kmadd(im2,im3,kmul(rm2,rm3)),kmul(Ro233,ksub(n3,ltet3)),kmadd(Ro333,kmul(kmadd(im3,im3,kmul(rm3,rm3)),ksub(n3,ltet3)),kmadd(Ro112,kmsub(n2,kmadd(im1,im1,kmul(rm1,rm1)),kmul(ltet1,kmadd(im1,im2,kmul(rm1,rm2)))),kmadd(Ro221,kmsub(n1,kmadd(im2,im2,kmul(rm2,rm2)),kmul(ltet2,kmadd(im1,im2,kmul(rm1,rm2)))),kmadd(Ro113,kmsub(n3,kmadd(im1,im1,kmul(rm1,rm1)),kmul(ltet1,kmadd(im1,im3,kmul(rm1,rm3)))),kmadd(Ro331,kmsub(n1,kmadd(im3,im3,kmul(rm3,rm3)),kmul(ltet3,kmadd(im1,im3,kmul(rm1,rm3)))),kmadd(Ro223,kmsub(n3,kmadd(im2,im2,kmul(rm2,rm2)),kmul(ltet2,kmadd(im2,im3,kmul(rm2,rm3)))),kmadd(Ro332,kmsub(n2,kmadd(im3,im3,kmul(rm3,rm3)),kmul(ltet3,kmadd(im2,im3,kmul(rm2,rm3)))),kmadd(Ro121,kmsub(n1,kmadd(im1,im2,kmul(rm1,rm2)),kmul(ltet2,kmadd(im1,im1,kmul(rm1,rm1)))),kmadd(Ro131,kmsub(n1,kmadd(im1,im3,kmul(rm1,rm3)),kmul(ltet3,kmadd(im1,im1,kmul(rm1,rm1)))),kmadd(Ro212,kmsub(n2,kmadd(im1,im2,kmul(rm1,rm2)),kmul(ltet1,kmadd(im2,im2,kmul(rm2,rm2)))),kmadd(Ro232,kmsub(n2,kmadd(im2,im3,kmul(rm2,rm3)),kmul(ltet3,kmadd(im2,im2,kmul(rm2,rm2)))),kmadd(Ro313,kmsub(n3,kmadd(im1,im3,kmul(rm1,rm3)),kmul(ltet1,kmadd(im3,im3,kmul(rm3,rm3)))),kmadd(Ro323,kmsub(n3,kmadd(im2,im3,kmul(rm2,rm3)),kmul(ltet2,kmadd(im3,im3,kmul(rm3,rm3)))),kmadd(Ro321,kmadd(im3,kmsub(im2,n1,kmul(im1,ltet2)),kmul(rm3,kmsub(n1,rm2,kmul(ltet2,rm1)))),kmadd(Ro231,kmadd(im2,kmsub(im3,n1,kmul(im1,ltet3)),kmul(rm2,kmsub(n1,rm3,kmul(ltet3,rm1)))),kmadd(Ro312,kmadd(im3,kmsub(im1,n2,kmul(im2,ltet1)),kmul(rm3,kmsub(n2,rm1,kmul(ltet1,rm2)))),kmadd(Ro132,kmadd(im1,kmsub(im3,n2,kmul(im2,ltet3)),kmul(rm1,kmsub(n2,rm3,kmul(ltet3,rm2)))),kmadd(Ro213,kmadd(im2,kmsub(im1,n3,kmul(im3,ltet1)),kmul(rm2,kmsub(n3,rm1,kmul(ltet1,rm3)))),kmul(Ro123,kmadd(im1,kmsub(im2,n3,kmul(im3,ltet2)),kmul(rm1,kmsub(n3,rm2,kmul(ltet2,rm3))))))))))))))))))))))))))))))),kmul(kmadd(im1,im3,kmul(rm1,rm3)),kmadd(ltet2,kmul(n1,R4p1213),kmadd(ltet1,kmul(n2,R4p1213),kmadd(ltet3,kmul(n1,R4p1313),kmadd(ltet1,kmul(n3,R4p1313),kmadd(ltet3,kmul(n2,R4p1323),kmadd(ltet2,kmul(n3,R4p1323),kmul(ltet2,kmul(n2,kmul(R4p1223,ToReal(2))))))))))))))))));
+ kmadd(kmadd(ltet2,kmsub(n1,R4p1212,kmul(n3,R4p1223)),kmul(ltet3,kmsub(n1,R4p1213,kmul(n3,R4p1323)))),kmadd(im1,im2,kmul(rm1,rm2)),kmadd(kmsub(ltet1,kmadd(n2,R4p1212,kmul(n3,R4p1213)),kmul(ltet3,kmadd(n2,R4p1223,kmul(n3,R4p1323)))),kmadd(im1,im2,kmul(rm1,rm2)),kmadd(kmadd(ltet2,kmul(n1,R4p1213),kmadd(ltet2,kmul(n2,R4p1223),kmadd(ltet3,kmul(n1,R4p1313),kmul(ltet3,kmul(n2,R4p1323))))),kmadd(im1,im3,kmul(rm1,rm3)),kmadd(kmadd(ltet1,kmul(n2,R4p1213),kmadd(ltet2,kmul(n2,R4p1223),kmadd(ltet1,kmul(n3,R4p1313),kmul(ltet2,kmul(n3,R4p1323))))),kmadd(im1,im3,kmul(rm1,rm3)),kmadd(knmsub(n1,kmadd(ltet2,R4p1223,kmul(ltet1,R4p1213)),kmadd(ltet1,knmsub(n1,R4p1213,kmsub(n3,R4p1323,kmul(n2,R4p1223))),kmadd(ltet2,kmul(n3,R4p2323),kmul(ltet3,kmadd(n1,R4p1323,kmul(n2,R4p2323)))))),kmadd(im2,im3,kmul(rm2,rm3)),knmsub(kmadd(ltet2,kmul(n2,R4p1212),kmadd(ltet3,kmul(n2,R4p1213),kmadd(ltet2,kmul(n3,R4p1213),kmul(ltet3,kmul(n3,R4p1313))))),kmadd(im1,im1,kmul(rm1,rm1)),knmsub(kmadd(n1,kmsub(ltet1,R4p1212,kmul(ltet3,R4p1223)),kmul(n3,kmsub(ltet3,R4p2323,kmul(ltet1,R4p1223)))),kmadd(im2,im2,kmul(rm2,rm2)),knmsub(kmadd(ltet1,kmul(n1,R4p1313),kmadd(ltet2,kmul(n1,R4p1323),kmadd(ltet1,kmul(n2,R4p1323),kmul(ltet2,kmul(n2,R4p2323))))),kmadd(im3,im3,kmul(rm3,rm3)),kmsub(nn,kmadd(ksub(n2,ltet2),kmul(Ro122,kmadd(im1,im2,kmul(rm1,rm2))),kmadd(kmadd(im1,kmsub(im2,n3,kmul(im3,ltet2)),kmul(rm1,kmsub(n3,rm2,kmul(ltet2,rm3)))),Ro123,kmadd(kmadd(im1,kmsub(im3,n2,kmul(im2,ltet3)),kmul(rm1,kmsub(n2,rm3,kmul(ltet3,rm2)))),Ro132,kmadd(ksub(n3,ltet3),kmul(Ro133,kmadd(im1,im3,kmul(rm1,rm3))),kmadd(ksub(n1,ltet1),kmul(Ro211,kmadd(im1,im2,kmul(rm1,rm2))),kmadd(kmadd(im2,kmsub(im1,n3,kmul(im3,ltet1)),kmul(rm2,kmsub(n3,rm1,kmul(ltet1,rm3)))),Ro213,kmadd(kmadd(im2,kmsub(im3,n1,kmul(im1,ltet3)),kmul(rm2,kmsub(n1,rm3,kmul(ltet3,rm1)))),Ro231,kmadd(ksub(n3,ltet3),kmul(Ro233,kmadd(im2,im3,kmul(rm2,rm3))),kmadd(ksub(n1,ltet1),kmul(Ro311,kmadd(im1,im3,kmul(rm1,rm3))),kmadd(kmadd(im3,kmsub(im1,n2,kmul(im2,ltet1)),kmul(rm3,kmsub(n2,rm1,kmul(ltet1,rm2)))),Ro312,kmadd(kmadd(im3,kmsub(im2,n1,kmul(im1,ltet2)),kmul(rm3,kmsub(n1,rm2,kmul(ltet2,rm1)))),Ro321,kmadd(ksub(n2,ltet2),kmul(Ro322,kmadd(im2,im3,kmul(rm2,rm3))),kmadd(ksub(n1,ltet1),kmul(Ro111,kmadd(im1,im1,kmul(rm1,rm1))),kmadd(Ro121,kmsub(n1,kmadd(im1,im2,kmul(rm1,rm2)),kmul(ltet2,kmadd(im1,im1,kmul(rm1,rm1)))),kmadd(Ro131,kmsub(n1,kmadd(im1,im3,kmul(rm1,rm3)),kmul(ltet3,kmadd(im1,im1,kmul(rm1,rm1)))),kmadd(Ro112,kmsub(n2,kmadd(im1,im1,kmul(rm1,rm1)),kmul(ltet1,kmadd(im1,im2,kmul(rm1,rm2)))),kmadd(Ro113,kmsub(n3,kmadd(im1,im1,kmul(rm1,rm1)),kmul(ltet1,kmadd(im1,im3,kmul(rm1,rm3)))),kmadd(ksub(n2,ltet2),kmul(Ro222,kmadd(im2,im2,kmul(rm2,rm2))),kmadd(Ro212,kmsub(n2,kmadd(im1,im2,kmul(rm1,rm2)),kmul(ltet1,kmadd(im2,im2,kmul(rm2,rm2)))),kmadd(Ro232,kmsub(n2,kmadd(im2,im3,kmul(rm2,rm3)),kmul(ltet3,kmadd(im2,im2,kmul(rm2,rm2)))),kmadd(Ro221,kmsub(n1,kmadd(im2,im2,kmul(rm2,rm2)),kmul(ltet2,kmadd(im1,im2,kmul(rm1,rm2)))),kmadd(Ro223,kmsub(n3,kmadd(im2,im2,kmul(rm2,rm2)),kmul(ltet2,kmadd(im2,im3,kmul(rm2,rm3)))),kmadd(ksub(n3,ltet3),kmul(Ro333,kmadd(im3,im3,kmul(rm3,rm3))),kmadd(Ro313,kmsub(n3,kmadd(im1,im3,kmul(rm1,rm3)),kmul(ltet1,kmadd(im3,im3,kmul(rm3,rm3)))),kmadd(Ro323,kmsub(n3,kmadd(im2,im3,kmul(rm2,rm3)),kmul(ltet2,kmadd(im3,im3,kmul(rm3,rm3)))),kmadd(Ro331,kmsub(n1,kmadd(im3,im3,kmul(rm3,rm3)),kmul(ltet3,kmadd(im1,im3,kmul(rm1,rm3)))),kmul(Ro332,kmsub(n2,kmadd(im3,im3,kmul(rm3,rm3)),kmul(ltet3,kmadd(im2,im3,kmul(rm2,rm3))))))))))))))))))))))))))))))),kmul(kmadd(im2,kmul(im3,Rojo23),kmadd(rm2,kmul(rm3,Rojo23),kmadd(im1,kmadd(im2,kadd(Rojo12,Rojo21),kmul(im3,kadd(Rojo13,Rojo31))),kmadd(rm1,kmadd(rm2,kadd(Rojo12,Rojo21),kmul(rm3,kadd(Rojo13,Rojo31))),kmadd(im2,kmul(im3,Rojo32),kmadd(rm2,kmul(rm3,Rojo32),kmadd(Rojo11,kmul(im1,im1),kmadd(Rojo22,kmul(im2,im2),kmadd(Rojo33,kmul(im3,im3),kmadd(Rojo11,kmul(rm1,rm1),kmadd(Rojo22,kmul(rm2,rm2),kmul(Rojo33,kmul(rm3,rm3))))))))))))),kmul(nn,nn)))))))))));
CCTK_REAL_VEC Psi2iL CCTK_ATTRIBUTE_UNUSED =
- kmadd(kmsub(im3,rm1,kmul(im1,rm3)),kmadd(R4p1213,kmsub(ltet1,n2,kmul(ltet2,n1)),kmadd(R4p1313,kmsub(ltet1,n3,kmul(ltet3,n1)),kmul(R4p1323,kmsub(ltet2,n3,kmul(ltet3,n2))))),kmadd(kmsub(im2,rm1,kmul(im1,rm2)),kmadd(ltet1,kmadd(n2,R4p1212,kmul(n3,R4p1213)),kmsub(R4p1223,kmsub(ltet2,n3,kmul(ltet3,n2)),kmul(n1,kmadd(ltet3,R4p1213,kmul(ltet2,R4p1212))))),kmadd(kmsub(im3,rm2,kmul(im2,rm3)),kmadd(ltet1,kmadd(n1,R4p1213,kmul(n2,R4p1223)),kmadd(ltet1,kmul(n3,R4p1323),kmsub(ltet2,kmul(n3,R4p2323),kmadd(n1,kmadd(ltet2,R4p1223,kmul(ltet1,R4p1213)),kmul(ltet3,kmadd(n1,R4p1323,kmul(n2,R4p2323))))))),kmsub(kmul(nn,nn),kmadd(im1,kmadd(rm2,ksub(Rojo21,Rojo12),kmul(rm3,ksub(Rojo31,Rojo13))),kmadd(im2,kmadd(rm1,ksub(Rojo12,Rojo21),kmul(rm3,ksub(Rojo32,Rojo23))),kmul(im3,kmadd(rm1,ksub(Rojo13,Rojo31),kmul(rm2,ksub(Rojo23,Rojo32)))))),kmul(nn,kmadd(im1,kmadd(n2,kmul(rm2,Ro212),kmadd(n3,kmul(rm2,Ro213),kmadd(ltet2,kmul(rm2,Ro221),kmadd(ltet3,kmul(rm2,Ro231),kmadd(n2,kmul(rm3,Ro312),kmadd(n3,kmul(rm3,Ro313),kmadd(ltet2,kmul(rm3,Ro321),kmadd(ltet3,kmul(rm3,Ro331),knmsub(rm2,kmadd(n3,Ro123,kmadd(Ro122,kadd(n2,ltet2),kmul(ltet3,Ro132))),knmsub(rm3,kmadd(ltet2,Ro123,kmadd(Ro133,kadd(n3,ltet3),kmul(n2,Ro132))),kmadd(ltet1,kmadd(rm2,ksub(Ro211,Ro112),kmul(rm3,ksub(Ro311,Ro113))),kmul(n1,kmadd(rm2,ksub(Ro211,Ro121),kmul(rm3,ksub(Ro311,Ro131))))))))))))))),kmadd(im2,kmadd(ltet2,kmul(rm3,Ro322),kmadd(n2,kmul(rm3,Ro322),kmadd(n3,kmul(rm3,Ro323),kmadd(ltet3,kmul(rm3,Ro332),knmsub(rm3,kmadd(ltet2,Ro223,kmadd(Ro233,kadd(n3,ltet3),kmul(n2,Ro232))),kmadd(ltet1,kmadd(rm1,ksub(Ro112,Ro211),kmul(rm3,ksub(Ro312,Ro213))),kmadd(rm1,kmadd(n2,ksub(Ro122,Ro212),kmadd(n3,ksub(Ro123,Ro213),kmadd(ltet2,ksub(Ro122,Ro221),kmul(ltet3,ksub(Ro132,Ro231))))),kmul(n1,kmadd(rm1,ksub(Ro121,Ro211),kmul(rm3,ksub(Ro321,Ro231))))))))))),kmul(im3,kmadd(rm1,kmadd(kadd(ltet3,n3),Ro133,knmsub(n3,Ro313,knmsub(ltet3,Ro331,kmadd(n1,ksub(Ro131,Ro311),kmul(n2,ksub(Ro132,Ro312)))))),kmadd(ltet1,kmadd(rm1,ksub(Ro113,Ro311),kmul(rm2,ksub(Ro213,Ro312))),kmadd(ltet2,kmadd(rm1,ksub(Ro123,Ro321),kmul(rm2,ksub(Ro223,Ro322))),kmul(rm2,kmadd(kadd(ltet3,n3),Ro233,knmsub(n3,Ro323,knmsub(ltet3,Ro332,kmadd(n1,ksub(Ro231,Ro321),kmul(n2,ksub(Ro232,Ro322))))))))))))))))));
+ kmadd(knmsub(n1,kmadd(ltet3,R4p1213,kmul(ltet2,R4p1212)),kmadd(ltet1,kmadd(n2,R4p1212,kmul(n3,R4p1213)),kmul(R4p1223,kmsub(ltet2,n3,kmul(ltet3,n2))))),kmsub(im2,rm1,kmul(im1,rm2)),kmadd(kmadd(kmsub(ltet1,n2,kmul(ltet2,n1)),R4p1213,kmadd(kmsub(ltet1,n3,kmul(ltet3,n1)),R4p1313,kmul(R4p1323,kmsub(ltet2,n3,kmul(ltet3,n2))))),kmsub(im3,rm1,kmul(im1,rm3)),kmadd(knmsub(n1,kmadd(ltet2,R4p1223,kmul(ltet1,R4p1213)),kmadd(ltet1,kmadd(n1,R4p1213,kmul(n2,R4p1223)),kmadd(ltet1,kmul(n3,R4p1323),kmsub(ltet2,kmul(n3,R4p2323),kmul(ltet3,kmadd(n1,R4p1323,kmul(n2,R4p2323))))))),kmsub(im3,rm2,kmul(im2,rm3)),kmsub(kmadd(im1,kmadd(rm2,ksub(Rojo21,Rojo12),kmul(rm3,ksub(Rojo31,Rojo13))),kmadd(im3,kmadd(rm1,ksub(Rojo13,Rojo31),kmul(rm2,ksub(Rojo23,Rojo32))),kmul(im2,kmadd(rm1,ksub(Rojo12,Rojo21),kmul(rm3,ksub(Rojo32,Rojo23)))))),kmul(nn,nn),kmul(nn,kmadd(im1,knmsub(rm2,kmadd(kadd(ltet2,n2),Ro122,kmadd(ltet3,Ro132,kmul(n3,Ro123))),knmsub(rm3,kmadd(ltet2,Ro123,kmadd(kadd(ltet3,n3),Ro133,kmul(n2,Ro132))),kmadd(n2,kmul(rm2,Ro212),kmadd(n3,kmul(rm2,Ro213),kmadd(ltet2,kmul(rm2,Ro221),kmadd(ltet3,kmul(rm2,Ro231),kmadd(ltet1,kmadd(rm2,ksub(Ro211,Ro112),kmul(rm3,ksub(Ro311,Ro113))),kmadd(n1,kmadd(rm2,ksub(Ro211,Ro121),kmul(rm3,ksub(Ro311,Ro131))),kmadd(n2,kmul(rm3,Ro312),kmadd(n3,kmul(rm3,Ro313),kmadd(ltet2,kmul(rm3,Ro321),kmul(ltet3,kmul(rm3,Ro331))))))))))))),kmadd(im2,kmadd(rm1,kmadd(n2,ksub(Ro122,Ro212),kmadd(n3,ksub(Ro123,Ro213),kmadd(ltet2,ksub(Ro122,Ro221),kmul(ltet3,ksub(Ro132,Ro231))))),knmsub(rm3,kmadd(ltet2,Ro223,kmadd(kadd(ltet3,n3),Ro233,kmul(n2,Ro232))),kmadd(ltet1,kmadd(rm1,ksub(Ro112,Ro211),kmul(rm3,ksub(Ro312,Ro213))),kmadd(n1,kmadd(rm1,ksub(Ro121,Ro211),kmul(rm3,ksub(Ro321,Ro231))),kmadd(ltet2,kmul(rm3,Ro322),kmadd(n2,kmul(rm3,Ro322),kmadd(n3,kmul(rm3,Ro323),kmul(ltet3,kmul(rm3,Ro332))))))))),kmul(im3,kmadd(ltet1,kmadd(rm1,ksub(Ro113,Ro311),kmul(rm2,ksub(Ro213,Ro312))),kmadd(ltet2,kmadd(rm1,ksub(Ro123,Ro321),kmul(rm2,ksub(Ro223,Ro322))),kmadd(rm1,kmadd(kadd(ltet3,n3),Ro133,kmadd(n1,ksub(Ro131,Ro311),kmsub(n2,ksub(Ro132,Ro312),kmadd(ltet3,Ro331,kmul(n3,Ro313))))),kmul(rm2,kmadd(kadd(ltet3,n3),Ro233,kmadd(n1,ksub(Ro231,Ro321),kmsub(n2,ksub(Ro232,Ro322),kmadd(ltet3,Ro332,kmul(n3,Ro323)))))))))))))))));
CCTK_REAL_VEC Psi1rL CCTK_ATTRIBUTE_UNUSED =
- knmsub(kmul(nn,nn),kmadd(kmadd(rm1,Rojo11,kmadd(rm2,Rojo12,kmul(rm3,Rojo13))),ksub(ltet1,n1),kmadd(rm1,kmadd(Rojo21,ksub(ltet2,n2),kmul(Rojo31,ksub(ltet3,n3))),kmadd(rm2,kmadd(Rojo22,ksub(ltet2,n2),kmul(Rojo32,ksub(ltet3,n3))),kmul(rm3,kmadd(Rojo23,ksub(ltet2,n2),kmul(Rojo33,ksub(ltet3,n3))))))),kmadd(ltet1,kmadd(ltet1,kmadd(n2,kmul(R4p1212,rm2),kmadd(n3,kmul(R4p1213,rm2),kmadd(n2,kmul(R4p1213,rm3),kmul(n3,kmul(R4p1313,rm3))))),kmadd(nn,kmul(rm2,kmul(Ro221,kmadd(n2,ToReal(-2),ltet2))),kmadd(nn,kmul(rm3,kmul(Ro331,kmadd(n3,ToReal(-2),ltet3))),knmsub(ltet3,kmadd(n1,kmul(R4p1213,rm2),kmadd(n2,kmul(R4p1223,rm2),kmadd(n1,kmul(R4p1313,rm3),kmul(n2,kmul(R4p1323,rm3))))),kmadd(ltet2,kmsub(n3,kmadd(R4p1223,rm2,kmul(R4p1323,rm3)),kmul(n1,kmadd(R4p1212,rm2,kmul(R4p1213,rm3)))),kmadd(nn,kmul(Ro121,kmsub(rm2,ksub(ltet1,n1),kmul(n2,rm1))),kmadd(nn,kmul(Ro131,kmsub(rm3,ksub(ltet1,n1),kmul(n3,rm1))),kmadd(nn,kmul(Ro211,kmsub(rm1,ksub(ltet2,n2),kmul(n1,rm2))),kmadd(nn,kmul(Ro311,kmsub(rm1,ksub(ltet3,n3),kmul(n1,rm3))),kmadd(nn,kmul(Ro321,kmsub(rm2,ksub(ltet3,n3),kmul(n2,rm3))),kmul(nn,kmsub(rm1,kmul(Ro111,kmadd(n1,ToReal(-2),ltet1)),kmul(Ro231,kmadd(n3,rm2,kmul(rm3,ksub(n2,ltet2)))))))))))))))),kmadd(ltet3,kmadd(ltet3,kmadd(n1,kmul(R4p1313,rm1),kmadd(n2,kmul(R4p1323,rm1),kmadd(n1,kmul(R4p1323,rm2),kmul(n2,kmul(R4p2323,rm2))))),kmadd(nn,kmul(rm2,kmul(Ro223,kmadd(n2,ToReal(-2),ltet2))),kmadd(nn,kmul(rm3,kmul(Ro333,kmadd(n3,ToReal(-2),ltet3))),knmsub(ltet1,kmadd(n2,kmul(R4p1213,rm1),kmadd(n3,kmul(R4p1313,rm1),kmadd(n2,kmul(R4p1223,rm2),kmul(n3,kmul(R4p1323,rm2))))),kmadd(ltet2,kmsub(n1,kmadd(R4p1213,rm1,kmul(R4p1223,rm2)),kmul(n3,kmadd(R4p1323,rm1,kmul(R4p2323,rm2)))),kmadd(nn,kmul(Ro213,kmsub(rm1,ksub(ltet2,n2),kmul(n1,rm2))),kmadd(nn,kmul(Ro313,kmsub(rm1,ksub(ltet3,n3),kmul(n1,rm3))),kmadd(nn,kmul(Ro323,kmsub(rm2,ksub(ltet3,n3),kmul(n2,rm3))),kmul(nn,kmsub(rm1,kmul(Ro113,kmadd(n1,ToReal(-2),ltet1)),kmadd(Ro123,kmadd(n2,rm1,kmul(rm2,ksub(n1,ltet1))),kmadd(Ro233,kmadd(n3,rm2,kmul(rm3,ksub(n2,ltet2))),kmul(Ro133,kmadd(n3,rm1,kmul(rm3,ksub(n1,ltet1)))))))))))))))),kmul(ltet2,kmadd(ltet1,kmadd(n2,kmul(R4p1223,rm3),kmsub(n3,kmul(R4p1323,rm3),kmul(rm1,kmadd(n3,R4p1213,kmul(n2,R4p1212))))),kmadd(ltet2,kmadd(rm3,kmsub(n3,R4p2323,kmul(n1,R4p1223)),kmul(rm1,kmsub(n1,R4p1212,kmul(n3,R4p1223)))),kmadd(ltet3,kmsub(kmadd(n1,R4p1213,kmul(n2,R4p1223)),rm1,kmul(rm3,kmadd(n2,R4p2323,kmul(n1,R4p1323)))),kmul(nn,kmadd(rm1,kmul(Ro112,kmadd(n1,ToReal(-2),ltet1)),kmadd(rm2,kmul(Ro222,kmadd(n2,ToReal(-2),ltet2)),kmadd(rm3,kmul(Ro332,kmadd(n3,ToReal(-2),ltet3)),knmsub(Ro122,kmadd(n2,rm1,kmul(rm2,ksub(n1,ltet1))),knmsub(Ro132,kmadd(n3,rm1,kmul(rm3,ksub(n1,ltet1))),kmadd(Ro212,kmsub(rm1,ksub(ltet2,n2),kmul(n1,rm2)),kmadd(Ro232,kmsub(rm3,ksub(ltet2,n2),kmul(n3,rm2)),kmadd(Ro312,kmsub(rm1,ksub(ltet3,n3),kmul(n1,rm3)),kmul(Ro322,kmsub(rm2,ksub(ltet3,n3),kmul(n2,rm3)))))))))))))))))));
+ kmadd(ltet1,kmadd(ltet1,kmadd(n2,kmul(R4p1212,rm2),kmadd(n3,kmul(R4p1213,rm2),kmadd(n2,kmul(R4p1213,rm3),kmul(n3,kmul(R4p1313,rm3))))),knmsub(ltet3,kmadd(n1,kmul(R4p1213,rm2),kmadd(n2,kmul(R4p1223,rm2),kmadd(n1,kmul(R4p1313,rm3),kmul(n2,kmul(R4p1323,rm3))))),kmadd(ltet2,kmsub(n3,kmadd(R4p1223,rm2,kmul(R4p1323,rm3)),kmul(n1,kmadd(R4p1212,rm2,kmul(R4p1213,rm3)))),kmadd(nn,kmul(Ro121,kmsub(ksub(ltet1,n1),rm2,kmul(n2,rm1))),kmadd(nn,kmul(Ro131,kmsub(ksub(ltet1,n1),rm3,kmul(n3,rm1))),kmadd(nn,kmul(Ro211,kmsub(ksub(ltet2,n2),rm1,kmul(n1,rm2))),kmadd(kmadd(ToReal(-2),n2,ltet2),kmul(nn,kmul(rm2,Ro221)),kmadd(nn,kmsub(kmadd(ToReal(-2),n1,ltet1),kmul(rm1,Ro111),kmul(Ro231,kmadd(n3,rm2,kmul(ksub(n2,ltet2),rm3)))),kmadd(nn,kmul(Ro311,kmsub(ksub(ltet3,n3),rm1,kmul(n1,rm3))),kmadd(nn,kmul(Ro321,kmsub(ksub(ltet3,n3),rm2,kmul(n2,rm3))),kmul(kmadd(ToReal(-2),n3,ltet3),kmul(nn,kmul(rm3,Ro331))))))))))))),kmadd(ltet2,kmadd(ltet1,knmsub(kmadd(n3,R4p1213,kmul(n2,R4p1212)),rm1,kmadd(n2,kmul(R4p1223,rm3),kmul(n3,kmul(R4p1323,rm3)))),kmadd(ltet3,kmsub(kmadd(n1,R4p1213,kmul(n2,R4p1223)),rm1,kmul(rm3,kmadd(n2,R4p2323,kmul(n1,R4p1323)))),kmadd(ltet2,kmadd(kmsub(n1,R4p1212,kmul(n3,R4p1223)),rm1,kmul(rm3,kmsub(n3,R4p2323,kmul(n1,R4p1223)))),kmul(nn,kmadd(kmadd(ToReal(-2),n1,ltet1),kmul(rm1,Ro112),knmsub(kmadd(n2,rm1,kmul(rm2,ksub(n1,ltet1))),Ro122,knmsub(kmadd(n3,rm1,kmul(rm3,ksub(n1,ltet1))),Ro132,kmadd(kmsub(ksub(ltet2,n2),rm1,kmul(n1,rm2)),Ro212,kmadd(kmadd(ToReal(-2),n2,ltet2),kmul(rm2,Ro222),kmadd(kmsub(ksub(ltet2,n2),rm3,kmul(n3,rm2)),Ro232,kmadd(kmsub(ksub(ltet3,n3),rm1,kmul(n1,rm3)),Ro312,kmadd(kmsub(ksub(ltet3,n3),rm2,kmul(n2,rm3)),Ro322,kmul(kmadd(ToReal(-2),n3,ltet3),kmul(rm3,Ro332)))))))))))))),kmsub(ltet3,knmsub(ltet1,kmadd(n2,kmul(R4p1213,rm1),kmadd(n3,kmul(R4p1313,rm1),kmadd(n2,kmul(R4p1223,rm2),kmul(n3,kmul(R4p1323,rm2))))),kmadd(ltet3,kmadd(n1,kmul(R4p1313,rm1),kmadd(n2,kmul(R4p1323,rm1),kmadd(n1,kmul(R4p1323,rm2),kmul(n2,kmul(R4p2323,rm2))))),kmadd(ltet2,kmsub(n1,kmadd(R4p1213,rm1,kmul(R4p1223,rm2)),kmul(n3,kmadd(R4p1323,rm1,kmul(R4p2323,rm2)))),kmadd(nn,kmul(Ro213,kmsub(ksub(ltet2,n2),rm1,kmul(n1,rm2))),kmadd(kmadd(ToReal(-2),n2,ltet2),kmul(nn,kmul(rm2,Ro223)),kmadd(nn,kmsub(kmadd(ToReal(-2),n1,ltet1),kmul(rm1,Ro113),kmadd(kmadd(n2,rm1,kmul(rm2,ksub(n1,ltet1))),Ro123,kmadd(kmadd(n3,rm2,kmul(rm3,ksub(n2,ltet2))),Ro233,kmul(Ro133,kmadd(n3,rm1,kmul(ksub(n1,ltet1),rm3)))))),kmadd(nn,kmul(Ro313,kmsub(ksub(ltet3,n3),rm1,kmul(n1,rm3))),kmadd(nn,kmul(Ro323,kmsub(ksub(ltet3,n3),rm2,kmul(n2,rm3))),kmul(kmadd(ToReal(-2),n3,ltet3),kmul(nn,kmul(rm3,Ro333))))))))))),kmul(kmadd(ksub(ltet1,n1),kmadd(rm1,Rojo11,kmadd(rm2,Rojo12,kmul(rm3,Rojo13))),kmadd(rm1,kmadd(ksub(ltet2,n2),Rojo21,kmul(Rojo31,ksub(ltet3,n3))),kmadd(rm2,kmadd(ksub(ltet2,n2),Rojo22,kmul(Rojo32,ksub(ltet3,n3))),kmul(rm3,kmadd(ksub(ltet2,n2),Rojo23,kmul(Rojo33,ksub(ltet3,n3))))))),kmul(nn,nn)))));
CCTK_REAL_VEC Psi1iL CCTK_ATTRIBUTE_UNUSED =
- knmsub(kmul(nn,nn),kmadd(im1,kmadd(Rojo11,ksub(ltet1,n1),kmadd(Rojo21,ksub(ltet2,n2),kmul(Rojo31,ksub(ltet3,n3)))),kmadd(im2,kmadd(Rojo12,ksub(ltet1,n1),kmadd(Rojo22,ksub(ltet2,n2),kmul(Rojo32,ksub(ltet3,n3)))),kmul(im3,kmadd(Rojo13,ksub(ltet1,n1),kmadd(Rojo23,ksub(ltet2,n2),kmul(Rojo33,ksub(ltet3,n3))))))),kmadd(ltet1,kmadd(im2,kmadd(nn,kmul(Ro221,kmadd(n2,ToReal(-2),ltet2)),kmadd(R4p1212,kmsub(ltet1,n2,kmul(ltet2,n1)),kmadd(R4p1213,kmsub(ltet1,n3,kmul(ltet3,n1)),kmul(R4p1223,kmsub(ltet2,n3,kmul(ltet3,n2)))))),kmadd(im3,kmadd(nn,kmul(Ro331,kmadd(n3,ToReal(-2),ltet3)),kmadd(R4p1213,kmsub(ltet1,n2,kmul(ltet2,n1)),kmadd(R4p1313,kmsub(ltet1,n3,kmul(ltet3,n1)),kmul(R4p1323,kmsub(ltet2,n3,kmul(ltet3,n2)))))),kmul(nn,kmadd(im1,kmul(Ro111,kmadd(n1,ToReal(-2),ltet1)),knmsub(Ro211,kmadd(im2,n1,kmul(im1,ksub(n2,ltet2))),knmsub(Ro311,kmadd(im3,n1,kmul(im1,ksub(n3,ltet3))),knmsub(Ro321,kmadd(im3,n2,kmul(im2,ksub(n3,ltet3))),kmadd(Ro121,kmsub(im2,ksub(ltet1,n1),kmul(im1,n2)),kmadd(Ro131,kmsub(im3,ksub(ltet1,n1),kmul(im1,n3)),kmul(Ro231,kmsub(im3,ksub(ltet2,n2),kmul(im2,n3)))))))))))),kmadd(ltet2,kmadd(im3,kmadd(nn,kmul(Ro332,kmadd(n3,ToReal(-2),ltet3)),kmadd(R4p1223,kmsub(ltet1,n2,kmul(ltet2,n1)),kmadd(R4p1323,kmsub(ltet1,n3,kmul(ltet3,n1)),kmul(R4p2323,kmsub(ltet2,n3,kmul(ltet3,n2)))))),kmadd(im1,kmadd(nn,kmul(Ro112,kmadd(n1,ToReal(-2),ltet1)),kmadd(R4p1212,kmsub(ltet2,n1,kmul(ltet1,n2)),kmadd(R4p1213,kmsub(ltet3,n1,kmul(ltet1,n3)),kmul(R4p1223,kmsub(ltet3,n2,kmul(ltet2,n3)))))),kmul(nn,kmadd(im2,kmul(Ro222,kmadd(n2,ToReal(-2),ltet2)),knmsub(Ro312,kmadd(im3,n1,kmul(im1,ksub(n3,ltet3))),knmsub(Ro322,kmadd(im3,n2,kmul(im2,ksub(n3,ltet3))),kmadd(Ro122,kmsub(im2,ksub(ltet1,n1),kmul(im1,n2)),kmadd(Ro132,kmsub(im3,ksub(ltet1,n1),kmul(im1,n3)),kmadd(Ro212,kmsub(im1,ksub(ltet2,n2),kmul(im2,n1)),kmul(Ro232,kmsub(im3,ksub(ltet2,n2),kmul(im2,n3)))))))))))),kmul(ltet3,kmadd(im1,kmadd(nn,kmul(Ro113,kmadd(n1,ToReal(-2),ltet1)),kmadd(R4p1213,kmsub(ltet2,n1,kmul(ltet1,n2)),kmadd(R4p1313,kmsub(ltet3,n1,kmul(ltet1,n3)),kmul(R4p1323,kmsub(ltet3,n2,kmul(ltet2,n3)))))),kmadd(im2,kmadd(nn,kmul(Ro223,kmadd(n2,ToReal(-2),ltet2)),kmadd(R4p1223,kmsub(ltet2,n1,kmul(ltet1,n2)),kmadd(R4p1323,kmsub(ltet3,n1,kmul(ltet1,n3)),kmul(R4p2323,kmsub(ltet3,n2,kmul(ltet2,n3)))))),kmul(nn,kmadd(im3,kmul(Ro333,kmadd(n3,ToReal(-2),ltet3)),knmsub(Ro213,kmadd(im2,n1,kmul(im1,ksub(n2,ltet2))),kmadd(Ro123,kmsub(im2,ksub(ltet1,n1),kmul(im1,n2)),kmadd(Ro133,kmsub(im3,ksub(ltet1,n1),kmul(im1,n3)),kmadd(Ro233,kmsub(im3,ksub(ltet2,n2),kmul(im2,n3)),kmadd(Ro313,kmsub(im1,ksub(ltet3,n3),kmul(im3,n1)),kmul(Ro323,kmsub(im2,ksub(ltet3,n3),kmul(im3,n2))))))))))))))));
+ kmadd(ltet1,kmadd(im2,kmadd(kmsub(ltet1,n2,kmul(ltet2,n1)),R4p1212,kmadd(kmsub(ltet1,n3,kmul(ltet3,n1)),R4p1213,kmadd(kmsub(ltet2,n3,kmul(ltet3,n2)),R4p1223,kmul(kmadd(ToReal(-2),n2,ltet2),kmul(nn,Ro221))))),kmadd(nn,kmadd(im1,kmul(Ro111,kmadd(ToReal(-2),n1,ltet1)),kmadd(kmsub(im2,ksub(ltet1,n1),kmul(im1,n2)),Ro121,kmadd(kmsub(im3,ksub(ltet1,n1),kmul(im1,n3)),Ro131,knmsub(kmadd(im2,n1,kmul(im1,ksub(n2,ltet2))),Ro211,kmsub(kmsub(im3,ksub(ltet2,n2),kmul(im2,n3)),Ro231,kmadd(kmadd(im3,n2,kmul(im2,ksub(n3,ltet3))),Ro321,kmul(Ro311,kmadd(im3,n1,kmul(im1,ksub(n3,ltet3)))))))))),kmul(im3,kmadd(kmsub(ltet1,n2,kmul(ltet2,n1)),R4p1213,kmadd(kmsub(ltet1,n3,kmul(ltet3,n1)),R4p1313,kmadd(kmsub(ltet2,n3,kmul(ltet3,n2)),R4p1323,kmul(kmadd(ToReal(-2),n3,ltet3),kmul(nn,Ro331)))))))),kmadd(ltet2,kmadd(im1,kmadd(kmsub(ltet2,n1,kmul(ltet1,n2)),R4p1212,kmadd(kmsub(ltet3,n1,kmul(ltet1,n3)),R4p1213,kmadd(kmsub(ltet3,n2,kmul(ltet2,n3)),R4p1223,kmul(kmadd(ToReal(-2),n1,ltet1),kmul(nn,Ro112))))),kmadd(nn,kmadd(kmsub(im2,ksub(ltet1,n1),kmul(im1,n2)),Ro122,kmadd(kmsub(im3,ksub(ltet1,n1),kmul(im1,n3)),Ro132,kmadd(kmsub(im1,ksub(ltet2,n2),kmul(im2,n1)),Ro212,kmadd(im2,kmul(Ro222,kmadd(ToReal(-2),n2,ltet2)),kmsub(kmsub(im3,ksub(ltet2,n2),kmul(im2,n3)),Ro232,kmadd(kmadd(im3,n2,kmul(im2,ksub(n3,ltet3))),Ro322,kmul(Ro312,kmadd(im3,n1,kmul(im1,ksub(n3,ltet3)))))))))),kmul(im3,kmadd(kmsub(ltet1,n2,kmul(ltet2,n1)),R4p1223,kmadd(kmsub(ltet1,n3,kmul(ltet3,n1)),R4p1323,kmadd(kmsub(ltet2,n3,kmul(ltet3,n2)),R4p2323,kmul(kmadd(ToReal(-2),n3,ltet3),kmul(nn,Ro332)))))))),kmsub(ltet3,kmadd(im1,kmadd(kmsub(ltet2,n1,kmul(ltet1,n2)),R4p1213,kmadd(kmsub(ltet3,n1,kmul(ltet1,n3)),R4p1313,kmadd(kmsub(ltet3,n2,kmul(ltet2,n3)),R4p1323,kmul(kmadd(ToReal(-2),n1,ltet1),kmul(nn,Ro113))))),kmadd(im2,kmadd(kmsub(ltet2,n1,kmul(ltet1,n2)),R4p1223,kmadd(kmsub(ltet3,n1,kmul(ltet1,n3)),R4p1323,kmadd(kmsub(ltet3,n2,kmul(ltet2,n3)),R4p2323,kmul(kmadd(ToReal(-2),n2,ltet2),kmul(nn,Ro223))))),kmul(nn,kmadd(kmsub(im2,ksub(ltet1,n1),kmul(im1,n2)),Ro123,kmadd(kmsub(im3,ksub(ltet1,n1),kmul(im1,n3)),Ro133,knmsub(kmadd(im2,n1,kmul(im1,ksub(n2,ltet2))),Ro213,kmadd(kmsub(im3,ksub(ltet2,n2),kmul(im2,n3)),Ro233,kmadd(kmsub(im1,ksub(ltet3,n3),kmul(im3,n1)),Ro313,kmadd(kmsub(im2,ksub(ltet3,n3),kmul(im3,n2)),Ro323,kmul(im3,kmul(Ro333,kmadd(ToReal(-2),n3,ltet3)))))))))))),kmul(kmadd(im1,kmadd(ksub(ltet1,n1),Rojo11,kmadd(ksub(ltet2,n2),Rojo21,kmul(Rojo31,ksub(ltet3,n3)))),kmadd(im2,kmadd(ksub(ltet1,n1),Rojo12,kmadd(ksub(ltet2,n2),Rojo22,kmul(Rojo32,ksub(ltet3,n3)))),kmul(im3,kmadd(ksub(ltet1,n1),Rojo13,kmadd(ksub(ltet2,n2),Rojo23,kmul(Rojo33,ksub(ltet3,n3))))))),kmul(nn,nn)))));
CCTK_REAL_VEC Psi0rL CCTK_ATTRIBUTE_UNUSED =
- knmsub(kmadd(R4p1212,kmul(ltet1,ltet1),kmadd(R4p2323,kmul(ltet3,ltet3),kmul(ltet1,kmul(ltet3,kmul(R4p1223,ToReal(-2)))))),kmsub(im2,im2,kmul(rm2,rm2)),knmsub(kmul(nn,nn),kmadd(im1,kmadd(im2,kadd(Rojo12,Rojo21),kmul(im3,kadd(Rojo13,Rojo31))),knmsub(rm1,kmadd(rm2,kadd(Rojo12,Rojo21),kmul(rm3,kadd(Rojo13,Rojo31))),kmadd(Rojo23,kmsub(im2,im3,kmul(rm2,rm3)),kmadd(Rojo32,kmsub(im2,im3,kmul(rm2,rm3)),kmadd(Rojo11,kmsub(im1,im1,kmul(rm1,rm1)),kmadd(Rojo22,kmsub(im2,im2,kmul(rm2,rm2)),kmul(Rojo33,kmsub(im3,im3,kmul(rm3,rm3))))))))),kmsub(kmadd(kmsub(ltet1,kmadd(ltet2,R4p1212,kmul(ltet3,R4p1213)),kmul(ltet3,kmadd(ltet2,R4p1223,kmul(ltet3,R4p1323)))),kmsub(im1,im2,kmul(rm1,rm2)),kmadd(kmadd(ltet1,kmul(ltet2,R4p1213),kmadd(ltet1,kmul(ltet3,R4p1313),kmadd(ltet2,kmul(ltet3,R4p1323),kmul(R4p1223,kmul(ltet2,ltet2))))),kmsub(im1,im3,kmul(rm1,rm3)),kmadd(kmsub(rm2,rm3,kmul(im2,im3)),kmadd(R4p1213,kmul(ltet1,ltet1),kmsub(ltet1,kmsub(ltet2,R4p1223,kmul(ltet3,R4p1323)),kmul(ltet2,kmul(ltet3,R4p2323)))),kmul(nn,kmadd(kmadd(ltet1,Ro112,kmadd(ltet2,Ro122,kmul(ltet3,Ro132))),kmsub(rm1,rm2,kmul(im1,im2)),kmadd(kmadd(ltet1,Ro211,kmadd(ltet2,Ro221,kmul(ltet3,Ro231))),kmsub(rm1,rm2,kmul(im1,im2)),kmadd(kmadd(ltet1,Ro113,kmadd(ltet2,Ro123,kmul(ltet3,Ro133))),kmsub(rm1,rm3,kmul(im1,im3)),kmadd(kmadd(ltet1,Ro311,kmadd(ltet2,Ro321,kmul(ltet3,Ro331))),kmsub(rm1,rm3,kmul(im1,im3)),kmadd(kmadd(ltet1,Ro213,kmadd(ltet2,Ro223,kmul(ltet3,Ro233))),kmsub(rm2,rm3,kmul(im2,im3)),kmadd(kmadd(ltet1,Ro312,kmadd(ltet2,Ro322,kmul(ltet3,Ro332))),kmsub(rm2,rm3,kmul(im2,im3)),kmadd(kmadd(ltet1,Ro111,kmadd(ltet2,Ro121,kmul(ltet3,Ro131))),kmsub(rm1,rm1,kmul(im1,im1)),kmadd(kmadd(ltet1,Ro212,kmadd(ltet2,Ro222,kmul(ltet3,Ro232))),kmsub(rm2,rm2,kmul(im2,im2)),kmul(kmadd(ltet1,Ro313,kmadd(ltet2,Ro323,kmul(ltet3,Ro333))),kmsub(rm3,rm3,kmul(im3,im3))))))))))))))),ToReal(2),kmadd(kmsub(im3,im3,kmul(rm3,rm3)),kmadd(R4p1313,kmul(ltet1,ltet1),kmadd(R4p2323,kmul(ltet2,ltet2),kmul(ltet1,kmul(ltet2,kmul(R4p1323,ToReal(2)))))),kmul(kmsub(im1,im1,kmul(rm1,rm1)),kmadd(R4p1212,kmul(ltet2,ltet2),kmadd(R4p1313,kmul(ltet3,ltet3),kmul(ltet2,kmul(ltet3,kmul(R4p1213,ToReal(2)))))))))));
+ kmadd(ToReal(2),kmul(kmsub(im1,im2,kmul(rm1,rm2)),kmsub(ltet1,kmadd(ltet2,R4p1212,kmul(ltet3,R4p1213)),kmul(ltet3,kmadd(ltet2,R4p1223,kmul(ltet3,R4p1323))))),kmadd(ToReal(2),kmul(kmadd(ltet1,kmsub(ltet2,R4p1223,kmul(ltet3,R4p1323)),kmsub(R4p1213,kmul(ltet1,ltet1),kmul(ltet2,kmul(ltet3,R4p2323)))),kmsub(rm2,rm3,kmul(im2,im3))),kmadd(ToReal(2),kmul(kmadd(ltet1,kmul(ltet2,R4p1213),kmadd(ltet1,kmul(ltet3,R4p1313),kmadd(ltet2,kmul(ltet3,R4p1323),kmul(R4p1223,kmul(ltet2,ltet2))))),kmsub(im1,im3,kmul(rm1,rm3))),knmsub(kmadd(ToReal(2),kmul(ltet2,kmul(ltet3,R4p1213)),kmadd(R4p1212,kmul(ltet2,ltet2),kmul(R4p1313,kmul(ltet3,ltet3)))),kmsub(im1,im1,kmul(rm1,rm1)),knmsub(kmadd(ToReal(-2),kmul(ltet1,kmul(ltet3,R4p1223)),kmadd(R4p1212,kmul(ltet1,ltet1),kmul(R4p2323,kmul(ltet3,ltet3)))),kmsub(im2,im2,kmul(rm2,rm2)),knmsub(kmul(nn,nn),kmadd(kmsub(im2,im3,kmul(rm2,rm3)),Rojo23,kmadd(im1,kmadd(im2,kadd(Rojo12,Rojo21),kmul(im3,kadd(Rojo13,Rojo31))),knmsub(rm1,kmadd(rm2,kadd(Rojo12,Rojo21),kmul(rm3,kadd(Rojo13,Rojo31))),kmadd(kmsub(im2,im3,kmul(rm2,rm3)),Rojo32,kmadd(Rojo11,kmsub(im1,im1,kmul(rm1,rm1)),kmadd(Rojo22,kmsub(im2,im2,kmul(rm2,rm2)),kmul(Rojo33,kmsub(im3,im3,kmul(rm3,rm3))))))))),kmsub(ToReal(2),kmul(nn,kmadd(kmsub(rm1,rm2,kmul(im1,im2)),kmadd(ltet1,Ro112,kmadd(ltet2,Ro122,kmul(ltet3,Ro132))),kmadd(kmsub(rm1,rm3,kmul(im1,im3)),kmadd(ltet1,Ro113,kmadd(ltet2,Ro123,kmul(ltet3,Ro133))),kmadd(kmsub(rm1,rm2,kmul(im1,im2)),kmadd(ltet1,Ro211,kmadd(ltet2,Ro221,kmul(ltet3,Ro231))),kmadd(kmsub(rm2,rm3,kmul(im2,im3)),kmadd(ltet1,Ro213,kmadd(ltet2,Ro223,kmul(ltet3,Ro233))),kmadd(kmsub(rm1,rm3,kmul(im1,im3)),kmadd(ltet1,Ro311,kmadd(ltet2,Ro321,kmul(ltet3,Ro331))),kmadd(kmsub(rm2,rm3,kmul(im2,im3)),kmadd(ltet1,Ro312,kmadd(ltet2,Ro322,kmul(ltet3,Ro332))),kmadd(kmadd(ltet1,Ro111,kmadd(ltet2,Ro121,kmul(ltet3,Ro131))),kmsub(rm1,rm1,kmul(im1,im1)),kmadd(kmadd(ltet1,Ro212,kmadd(ltet2,Ro222,kmul(ltet3,Ro232))),kmsub(rm2,rm2,kmul(im2,im2)),kmul(kmadd(ltet1,Ro313,kmadd(ltet2,Ro323,kmul(ltet3,Ro333))),kmsub(rm3,rm3,kmul(im3,im3)))))))))))),kmul(kmadd(ToReal(2),kmul(ltet1,kmul(ltet2,R4p1323)),kmadd(R4p1313,kmul(ltet1,ltet1),kmul(R4p2323,kmul(ltet2,ltet2)))),kmsub(im3,im3,kmul(rm3,rm3))))))))));
CCTK_REAL_VEC Psi0iL CCTK_ATTRIBUTE_UNUSED =
- kmadd(kmadd(im3,rm1,kmul(im1,rm3)),kmul(kmadd(ltet1,kmadd(ltet2,R4p1213,kmul(ltet3,R4p1313)),kmadd(ltet2,kmul(ltet3,R4p1323),kmul(R4p1223,kmul(ltet2,ltet2)))),ToReal(-2)),kmadd(ToReal(2),kmadd(im2,kmul(rm2,kmadd(R4p1212,kmul(ltet1,ltet1),kmadd(R4p2323,kmul(ltet3,ltet3),kmul(ltet1,kmul(ltet3,kmul(R4p1223,ToReal(-2))))))),kmadd(kmadd(im2,rm1,kmul(im1,rm2)),kmsub(ltet3,kmadd(ltet2,R4p1223,kmul(ltet3,R4p1323)),kmul(ltet1,kmadd(ltet2,R4p1212,kmul(ltet3,R4p1213)))),kmadd(kmadd(im3,rm2,kmul(im2,rm3)),kmadd(R4p1213,kmul(ltet1,ltet1),kmsub(ltet1,kmsub(ltet2,R4p1223,kmul(ltet3,R4p1323)),kmul(ltet2,kmul(ltet3,R4p2323)))),kmadd(im1,kmul(rm1,kmadd(R4p1212,kmul(ltet2,ltet2),kmadd(R4p1313,kmul(ltet3,ltet3),kmul(ltet2,kmul(ltet3,kmul(R4p1213,ToReal(2))))))),kmadd(im3,kmul(rm3,kmadd(R4p1313,kmul(ltet1,ltet1),kmadd(R4p2323,kmul(ltet2,ltet2),kmul(ltet1,kmul(ltet2,kmul(R4p1323,ToReal(2))))))),kmul(nn,kmadd(kmadd(im2,rm1,kmul(im1,rm2)),kmadd(ltet1,kadd(Ro112,Ro211),kmadd(ltet2,kadd(Ro122,Ro221),kmul(ltet3,kadd(Ro132,Ro231)))),kmadd(kmadd(im3,rm1,kmul(im1,rm3)),kmadd(ltet1,kadd(Ro113,Ro311),kmadd(ltet2,kadd(Ro123,Ro321),kmul(ltet3,kadd(Ro133,Ro331)))),kmadd(kmadd(im3,rm2,kmul(im2,rm3)),kmadd(ltet1,kadd(Ro213,Ro312),kmadd(ltet2,kadd(Ro223,Ro322),kmul(ltet3,kadd(Ro233,Ro332)))),kmul(kmadd(im1,kmul(rm1,kmadd(ltet1,Ro111,kmadd(ltet2,Ro121,kmul(ltet3,Ro131)))),kmadd(im2,kmul(rm2,kmadd(ltet1,Ro212,kmadd(ltet2,Ro222,kmul(ltet3,Ro232)))),kmul(im3,kmul(rm3,kmadd(ltet1,Ro313,kmadd(ltet2,Ro323,kmul(ltet3,Ro333))))))),ToReal(2))))))))))),kmul(kmul(nn,nn),kmadd(im1,kmadd(rm2,kadd(Rojo12,Rojo21),kmadd(rm3,kadd(Rojo13,Rojo31),kmul(rm1,kmul(Rojo11,ToReal(2))))),kmadd(im2,kmadd(rm1,kadd(Rojo12,Rojo21),kmadd(rm3,kadd(Rojo23,Rojo32),kmul(rm2,kmul(Rojo22,ToReal(2))))),kmul(im3,kmadd(rm1,kadd(Rojo13,Rojo31),kmadd(rm2,kadd(Rojo23,Rojo32),kmul(rm3,kmul(Rojo33,ToReal(2)))))))))));
-
+ kmadd(ToReal(-2),kmul(kmadd(im3,rm1,kmul(im1,rm3)),kmadd(ltet1,kmadd(ltet2,R4p1213,kmul(ltet3,R4p1313)),kmadd(ltet2,kmul(ltet3,R4p1323),kmul(R4p1223,kmul(ltet2,ltet2))))),kmadd(ToReal(2),kmadd(kmsub(ltet3,kmadd(ltet2,R4p1223,kmul(ltet3,R4p1323)),kmul(ltet1,kmadd(ltet2,R4p1212,kmul(ltet3,R4p1213)))),kmadd(im2,rm1,kmul(im1,rm2)),kmadd(nn,kmadd(kmadd(im2,rm1,kmul(im1,rm2)),kmadd(ltet1,kadd(Ro112,Ro211),kmadd(ltet2,kadd(Ro122,Ro221),kmul(ltet3,kadd(Ro132,Ro231)))),kmadd(kmadd(im3,rm1,kmul(im1,rm3)),kmadd(ltet1,kadd(Ro113,Ro311),kmadd(ltet2,kadd(Ro123,Ro321),kmul(ltet3,kadd(Ro133,Ro331)))),kmadd(kmadd(im3,rm2,kmul(im2,rm3)),kmadd(ltet1,kadd(Ro213,Ro312),kmadd(ltet2,kadd(Ro223,Ro322),kmul(ltet3,kadd(Ro233,Ro332)))),kmul(kmadd(im1,kmul(rm1,kmadd(ltet1,Ro111,kmadd(ltet2,Ro121,kmul(ltet3,Ro131)))),kmadd(im2,kmul(rm2,kmadd(ltet1,Ro212,kmadd(ltet2,Ro222,kmul(ltet3,Ro232)))),kmul(im3,kmul(rm3,kmadd(ltet1,Ro313,kmadd(ltet2,Ro323,kmul(ltet3,Ro333))))))),ToReal(2))))),kmadd(kmadd(im3,rm2,kmul(im2,rm3)),kmadd(ltet1,kmsub(ltet2,R4p1223,kmul(ltet3,R4p1323)),kmsub(R4p1213,kmul(ltet1,ltet1),kmul(ltet2,kmul(ltet3,R4p2323)))),kmadd(im3,kmul(rm3,kmadd(ToReal(2),kmul(ltet1,kmul(ltet2,R4p1323)),kmadd(R4p1313,kmul(ltet1,ltet1),kmul(R4p2323,kmul(ltet2,ltet2))))),kmadd(im1,kmul(rm1,kmadd(ToReal(2),kmul(ltet2,kmul(ltet3,R4p1213)),kmadd(R4p1212,kmul(ltet2,ltet2),kmul(R4p1313,kmul(ltet3,ltet3))))),kmul(im2,kmul(rm2,kmadd(ToReal(-2),kmul(ltet1,kmul(ltet3,R4p1223)),kmadd(R4p1212,kmul(ltet1,ltet1),kmul(R4p2323,kmul(ltet3,ltet3))))))))))),kmul(kmadd(im1,kmadd(ToReal(2),kmul(rm1,Rojo11),kmadd(rm2,kadd(Rojo12,Rojo21),kmul(rm3,kadd(Rojo13,Rojo31)))),kmadd(im2,kmadd(rm1,kadd(Rojo12,Rojo21),kmadd(ToReal(2),kmul(rm2,Rojo22),kmul(rm3,kadd(Rojo23,Rojo32)))),kmul(im3,kmadd(rm1,kadd(Rojo13,Rojo31),kmadd(rm2,kadd(Rojo23,Rojo32),kmul(kmul(rm3,Rojo33),ToReal(2))))))),kmul(nn,nn))));
/* Copy local copies back to grid functions */
vec_store_partial_prepare(i,vecimin,vecimax);
vec_store_nta_partial(Psi0i[index],Psi0iL);
@@ -1395,18 +1415,15 @@ static void WeylScal4_psis_calc_4th_Body(const cGH* restrict const cctkGH, const
}
CCTK_ENDLOOP3STR(WeylScal4_psis_calc_4th);
}
-
extern "C" void WeylScal4_psis_calc_4th(CCTK_ARGUMENTS)
{
DECLARE_CCTK_ARGUMENTS;
DECLARE_CCTK_PARAMETERS;
-
if (verbose > 1)
{
CCTK_VInfo(CCTK_THORNSTRING,"Entering WeylScal4_psis_calc_4th_Body");
}
-
if (cctk_iteration % WeylScal4_psis_calc_4th_calc_every != WeylScal4_psis_calc_4th_calc_offset)
{
return;
@@ -1426,41 +1443,42 @@ extern "C" void WeylScal4_psis_calc_4th(CCTK_ARGUMENTS)
"WeylScal4::Psi3r_group",
"WeylScal4::Psi4i_group",
"WeylScal4::Psi4r_group"};
- GenericFD_AssertGroupStorage(cctkGH, "WeylScal4_psis_calc_4th", 13, groups);
+ AssertGroupStorage(cctkGH, "WeylScal4_psis_calc_4th", 13, groups);
switch (fdOrder)
{
case 2:
{
- GenericFD_EnsureStencilFits(cctkGH, "WeylScal4_psis_calc_4th", 2, 2, 2);
+ EnsureStencilFits(cctkGH, "WeylScal4_psis_calc_4th", 2, 2, 2);
break;
}
case 4:
{
- GenericFD_EnsureStencilFits(cctkGH, "WeylScal4_psis_calc_4th", 2, 2, 2);
+ EnsureStencilFits(cctkGH, "WeylScal4_psis_calc_4th", 2, 2, 2);
break;
}
case 6:
{
- GenericFD_EnsureStencilFits(cctkGH, "WeylScal4_psis_calc_4th", 2, 2, 2);
+ EnsureStencilFits(cctkGH, "WeylScal4_psis_calc_4th", 2, 2, 2);
break;
}
case 8:
{
- GenericFD_EnsureStencilFits(cctkGH, "WeylScal4_psis_calc_4th", 2, 2, 2);
+ EnsureStencilFits(cctkGH, "WeylScal4_psis_calc_4th", 2, 2, 2);
break;
}
default:
CCTK_BUILTIN_UNREACHABLE();
}
- GenericFD_LoopOverInterior(cctkGH, WeylScal4_psis_calc_4th_Body);
-
+ LoopOverInterior(cctkGH, WeylScal4_psis_calc_4th_Body);
if (verbose > 1)
{
CCTK_VInfo(CCTK_THORNSTRING,"Leaving WeylScal4_psis_calc_4th_Body");
}
}
+
+} // namespace WeylScal4
diff --git a/src/WeylScal4_psis_calc_Nth.cc b/src/WeylScal4_psis_calc_Nth.cc
index b92ce0b..eb297fd 100644
--- a/src/WeylScal4_psis_calc_Nth.cc
+++ b/src/WeylScal4_psis_calc_Nth.cc
@@ -2,6 +2,7 @@
#define KRANC_C
+#include <algorithm>
#include <assert.h>
#include <math.h>
#include <stdio.h>
@@ -10,22 +11,12 @@
#include "cctk.h"
#include "cctk_Arguments.h"
#include "cctk_Parameters.h"
-#include "GenericFD.h"
+#include "Kranc.hh"
#include "Differencing.h"
-#include "cctk_Loop.h"
#include "loopcontrol.h"
#include "vectors.h"
-/* Define macros used in calculations */
-#define INITVALUE (42)
-#define ScalarINV(x) ((CCTK_REAL)1.0 / (x))
-#define ScalarSQR(x) ((x) * (x))
-#define ScalarCUB(x) ((x) * ScalarSQR(x))
-#define ScalarQAD(x) (ScalarSQR(ScalarSQR(x)))
-#define INV(x) (kdiv(ToReal(1.0),x))
-#define SQR(x) (kmul(x,x))
-#define CUB(x) (kmul(x,SQR(x)))
-#define QAD(x) (SQR(SQR(x)))
+namespace WeylScal4 {
extern "C" void WeylScal4_psis_calc_Nth_SelectBCs(CCTK_ARGUMENTS)
{
@@ -35,34 +26,34 @@ extern "C" void WeylScal4_psis_calc_Nth_SelectBCs(CCTK_ARGUMENTS)
if (cctk_iteration % WeylScal4_psis_calc_Nth_calc_every != WeylScal4_psis_calc_Nth_calc_offset)
return;
CCTK_INT ierr CCTK_ATTRIBUTE_UNUSED = 0;
- ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "WeylScal4::Psi0i_group","flat");
+ ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GetBoundaryWidth(cctkGH), -1 /* no table */, "WeylScal4::Psi0i_group","flat");
if (ierr < 0)
CCTK_WARN(1, "Failed to register flat BC for WeylScal4::Psi0i_group.");
- ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "WeylScal4::Psi0r_group","flat");
+ ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GetBoundaryWidth(cctkGH), -1 /* no table */, "WeylScal4::Psi0r_group","flat");
if (ierr < 0)
CCTK_WARN(1, "Failed to register flat BC for WeylScal4::Psi0r_group.");
- ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "WeylScal4::Psi1i_group","flat");
+ ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GetBoundaryWidth(cctkGH), -1 /* no table */, "WeylScal4::Psi1i_group","flat");
if (ierr < 0)
CCTK_WARN(1, "Failed to register flat BC for WeylScal4::Psi1i_group.");
- ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "WeylScal4::Psi1r_group","flat");
+ ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GetBoundaryWidth(cctkGH), -1 /* no table */, "WeylScal4::Psi1r_group","flat");
if (ierr < 0)
CCTK_WARN(1, "Failed to register flat BC for WeylScal4::Psi1r_group.");
- ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "WeylScal4::Psi2i_group","flat");
+ ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GetBoundaryWidth(cctkGH), -1 /* no table */, "WeylScal4::Psi2i_group","flat");
if (ierr < 0)
CCTK_WARN(1, "Failed to register flat BC for WeylScal4::Psi2i_group.");
- ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "WeylScal4::Psi2r_group","flat");
+ ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GetBoundaryWidth(cctkGH), -1 /* no table */, "WeylScal4::Psi2r_group","flat");
if (ierr < 0)
CCTK_WARN(1, "Failed to register flat BC for WeylScal4::Psi2r_group.");
- ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "WeylScal4::Psi3i_group","flat");
+ ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GetBoundaryWidth(cctkGH), -1 /* no table */, "WeylScal4::Psi3i_group","flat");
if (ierr < 0)
CCTK_WARN(1, "Failed to register flat BC for WeylScal4::Psi3i_group.");
- ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "WeylScal4::Psi3r_group","flat");
+ ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GetBoundaryWidth(cctkGH), -1 /* no table */, "WeylScal4::Psi3r_group","flat");
if (ierr < 0)
CCTK_WARN(1, "Failed to register flat BC for WeylScal4::Psi3r_group.");
- ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "WeylScal4::Psi4i_group","flat");
+ ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GetBoundaryWidth(cctkGH), -1 /* no table */, "WeylScal4::Psi4i_group","flat");
if (ierr < 0)
CCTK_WARN(1, "Failed to register flat BC for WeylScal4::Psi4i_group.");
- ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "WeylScal4::Psi4r_group","flat");
+ ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GetBoundaryWidth(cctkGH), -1 /* no table */, "WeylScal4::Psi4r_group","flat");
if (ierr < 0)
CCTK_WARN(1, "Failed to register flat BC for WeylScal4::Psi4r_group.");
return;
@@ -73,24 +64,37 @@ static void WeylScal4_psis_calc_Nth_Body(const cGH* restrict const cctkGH, const
DECLARE_CCTK_ARGUMENTS;
DECLARE_CCTK_PARAMETERS;
-
/* Include user-supplied include files */
-
/* Initialise finite differencing variables */
const ptrdiff_t di CCTK_ATTRIBUTE_UNUSED = 1;
- const ptrdiff_t dj CCTK_ATTRIBUTE_UNUSED = CCTK_GFINDEX3D(cctkGH,0,1,0) - CCTK_GFINDEX3D(cctkGH,0,0,0);
- const ptrdiff_t dk CCTK_ATTRIBUTE_UNUSED = CCTK_GFINDEX3D(cctkGH,0,0,1) - CCTK_GFINDEX3D(cctkGH,0,0,0);
+ const ptrdiff_t dj CCTK_ATTRIBUTE_UNUSED =
+ CCTK_GFINDEX3D(cctkGH,0,1,0) - CCTK_GFINDEX3D(cctkGH,0,0,0);
+ const ptrdiff_t dk CCTK_ATTRIBUTE_UNUSED =
+ CCTK_GFINDEX3D(cctkGH,0,0,1) - CCTK_GFINDEX3D(cctkGH,0,0,0);
const ptrdiff_t cdi CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL) * di;
const ptrdiff_t cdj CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL) * dj;
const ptrdiff_t cdk CCTK_ATTRIBUTE_UNUSED = sizeof(CCTK_REAL) * dk;
- const CCTK_REAL_VEC dx CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_SPACE(0));
- const CCTK_REAL_VEC dy CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_SPACE(1));
- const CCTK_REAL_VEC dz CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_SPACE(2));
- const CCTK_REAL_VEC dt CCTK_ATTRIBUTE_UNUSED = ToReal(CCTK_DELTA_TIME);
+ const ptrdiff_t cctkLbnd1 CCTK_ATTRIBUTE_UNUSED = cctk_lbnd[0];
+ const ptrdiff_t cctkLbnd2 CCTK_ATTRIBUTE_UNUSED = cctk_lbnd[1];
+ const ptrdiff_t cctkLbnd3 CCTK_ATTRIBUTE_UNUSED = cctk_lbnd[2];
const CCTK_REAL_VEC t CCTK_ATTRIBUTE_UNUSED = ToReal(cctk_time);
- const CCTK_REAL_VEC dxi CCTK_ATTRIBUTE_UNUSED = INV(dx);
- const CCTK_REAL_VEC dyi CCTK_ATTRIBUTE_UNUSED = INV(dy);
- const CCTK_REAL_VEC dzi CCTK_ATTRIBUTE_UNUSED = INV(dz);
+ const CCTK_REAL_VEC cctkOriginSpace1 CCTK_ATTRIBUTE_UNUSED =
+ ToReal(CCTK_ORIGIN_SPACE(0));
+ const CCTK_REAL_VEC cctkOriginSpace2 CCTK_ATTRIBUTE_UNUSED =
+ ToReal(CCTK_ORIGIN_SPACE(1));
+ const CCTK_REAL_VEC cctkOriginSpace3 CCTK_ATTRIBUTE_UNUSED =
+ ToReal(CCTK_ORIGIN_SPACE(2));
+ const CCTK_REAL_VEC dt CCTK_ATTRIBUTE_UNUSED =
+ ToReal(CCTK_DELTA_TIME);
+ const CCTK_REAL_VEC dx CCTK_ATTRIBUTE_UNUSED =
+ ToReal(CCTK_DELTA_SPACE(0));
+ const CCTK_REAL_VEC dy CCTK_ATTRIBUTE_UNUSED =
+ ToReal(CCTK_DELTA_SPACE(1));
+ const CCTK_REAL_VEC dz CCTK_ATTRIBUTE_UNUSED =
+ ToReal(CCTK_DELTA_SPACE(2));
+ const CCTK_REAL_VEC dxi CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),dx);
+ const CCTK_REAL_VEC dyi CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),dy);
+ const CCTK_REAL_VEC dzi CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),dz);
const CCTK_REAL_VEC khalf CCTK_ATTRIBUTE_UNUSED = ToReal(0.5);
const CCTK_REAL_VEC kthird CCTK_ATTRIBUTE_UNUSED =
ToReal(0.333333333333333333333333333333);
@@ -104,35 +108,34 @@ static void WeylScal4_psis_calc_Nth_Body(const cGH* restrict const cctkGH, const
kmul(dyi,ToReal(0.5));
const CCTK_REAL_VEC hdzi CCTK_ATTRIBUTE_UNUSED =
kmul(dzi,ToReal(0.5));
-
/* Initialize predefined quantities */
const CCTK_REAL_VEC p1o12dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dx);
const CCTK_REAL_VEC p1o12dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dy);
const CCTK_REAL_VEC p1o12dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0833333333333333333333333333333),dz);
- const CCTK_REAL_VEC p1o144dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dy,dx));
- const CCTK_REAL_VEC p1o144dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dz,dx));
- const CCTK_REAL_VEC p1o144dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dz,dy));
+ const CCTK_REAL_VEC p1o144dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dx,dy));
+ const CCTK_REAL_VEC p1o144dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dx,dz));
+ const CCTK_REAL_VEC p1o144dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00694444444444444444444444444444),kmul(dy,dz));
const CCTK_REAL_VEC p1o180dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dx,dx));
const CCTK_REAL_VEC p1o180dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dy,dy));
const CCTK_REAL_VEC p1o180dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00555555555555555555555555555556),kmul(dz,dz));
const CCTK_REAL_VEC p1o2dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dx);
const CCTK_REAL_VEC p1o2dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dy);
const CCTK_REAL_VEC p1o2dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.5),dz);
- const CCTK_REAL_VEC p1o3600dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dy,dx));
- const CCTK_REAL_VEC p1o3600dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dz,dx));
- const CCTK_REAL_VEC p1o3600dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dz,dy));
- const CCTK_REAL_VEC p1o4dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dy,dx));
- const CCTK_REAL_VEC p1o4dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dz,dx));
- const CCTK_REAL_VEC p1o4dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dz,dy));
+ const CCTK_REAL_VEC p1o3600dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dx,dy));
+ const CCTK_REAL_VEC p1o3600dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dx,dz));
+ const CCTK_REAL_VEC p1o3600dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000277777777777777777777777777778),kmul(dy,dz));
+ const CCTK_REAL_VEC p1o4dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dx,dy));
+ const CCTK_REAL_VEC p1o4dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dx,dz));
+ const CCTK_REAL_VEC p1o4dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.25),kmul(dy,dz));
const CCTK_REAL_VEC p1o5040dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dx,dx));
const CCTK_REAL_VEC p1o5040dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dy,dy));
const CCTK_REAL_VEC p1o5040dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.000198412698412698412698412698413),kmul(dz,dz));
const CCTK_REAL_VEC p1o60dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dx);
const CCTK_REAL_VEC p1o60dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dy);
const CCTK_REAL_VEC p1o60dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.0166666666666666666666666666667),dz);
- const CCTK_REAL_VEC p1o705600dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dy,dx));
- const CCTK_REAL_VEC p1o705600dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dz,dx));
- const CCTK_REAL_VEC p1o705600dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dz,dy));
+ const CCTK_REAL_VEC p1o705600dxdy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dx,dy));
+ const CCTK_REAL_VEC p1o705600dxdz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dx,dz));
+ const CCTK_REAL_VEC p1o705600dydz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1.41723356009070294784580498866e-6),kmul(dy,dz));
const CCTK_REAL_VEC p1o840dx CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dx);
const CCTK_REAL_VEC p1o840dy CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dy);
const CCTK_REAL_VEC p1o840dz CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(0.00119047619047619047619047619048),dz);
@@ -142,62 +145,76 @@ static void WeylScal4_psis_calc_Nth_Body(const cGH* restrict const cctkGH, const
const CCTK_REAL_VEC pm1o12dx2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dx,dx));
const CCTK_REAL_VEC pm1o12dy2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dy,dy));
const CCTK_REAL_VEC pm1o12dz2 CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(-0.0833333333333333333333333333333),kmul(dz,dz));
-
/* Jacobian variable pointers */
- const bool use_jacobian1 = (!CCTK_IsFunctionAliased("MultiPatch_GetMap") || MultiPatch_GetMap(cctkGH) != jacobian_identity_map)
+ const bool usejacobian1 = (!CCTK_IsFunctionAliased("MultiPatch_GetMap") || MultiPatch_GetMap(cctkGH) != jacobian_identity_map)
&& strlen(jacobian_group) > 0;
- const bool use_jacobian = assume_use_jacobian>=0 ? assume_use_jacobian : use_jacobian1;
- const bool usejacobian CCTK_ATTRIBUTE_UNUSED = use_jacobian;
- if (use_jacobian && (strlen(jacobian_derivative_group) == 0))
+ const bool usejacobian = assume_use_jacobian>=0 ? assume_use_jacobian : usejacobian1;
+ if (usejacobian && (strlen(jacobian_derivative_group) == 0))
{
CCTK_WARN(1, "GenericFD::jacobian_group and GenericFD::jacobian_derivative_group must both be set to valid group names");
}
const CCTK_REAL* restrict jacobian_ptrs[9];
- if (use_jacobian) GenericFD_GroupDataPointers(cctkGH, jacobian_group,
+ if (usejacobian) GroupDataPointers(cctkGH, jacobian_group,
9, jacobian_ptrs);
- const CCTK_REAL* restrict const J11 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[0] : 0;
- const CCTK_REAL* restrict const J12 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[1] : 0;
- const CCTK_REAL* restrict const J13 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[2] : 0;
- const CCTK_REAL* restrict const J21 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[3] : 0;
- const CCTK_REAL* restrict const J22 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[4] : 0;
- const CCTK_REAL* restrict const J23 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[5] : 0;
- const CCTK_REAL* restrict const J31 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[6] : 0;
- const CCTK_REAL* restrict const J32 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[7] : 0;
- const CCTK_REAL* restrict const J33 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_ptrs[8] : 0;
+ const CCTK_REAL* restrict const J11 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_ptrs[0] : 0;
+ const CCTK_REAL* restrict const J12 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_ptrs[1] : 0;
+ const CCTK_REAL* restrict const J13 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_ptrs[2] : 0;
+ const CCTK_REAL* restrict const J21 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_ptrs[3] : 0;
+ const CCTK_REAL* restrict const J22 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_ptrs[4] : 0;
+ const CCTK_REAL* restrict const J23 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_ptrs[5] : 0;
+ const CCTK_REAL* restrict const J31 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_ptrs[6] : 0;
+ const CCTK_REAL* restrict const J32 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_ptrs[7] : 0;
+ const CCTK_REAL* restrict const J33 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_ptrs[8] : 0;
- const CCTK_REAL* restrict jacobian_derivative_ptrs[18] CCTK_ATTRIBUTE_UNUSED;
- if (use_jacobian) GenericFD_GroupDataPointers(cctkGH, jacobian_derivative_group,
- 18, jacobian_derivative_ptrs);
+ const CCTK_REAL* restrict jacobian_determinant_ptrs[1] CCTK_ATTRIBUTE_UNUSED;
+ if (usejacobian && strlen(jacobian_determinant_group) > 0) GroupDataPointers(cctkGH, jacobian_determinant_group,
+ 1, jacobian_determinant_ptrs);
- const CCTK_REAL* restrict const dJ111 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[0] : 0;
- const CCTK_REAL* restrict const dJ112 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[1] : 0;
- const CCTK_REAL* restrict const dJ113 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[2] : 0;
- const CCTK_REAL* restrict const dJ122 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[3] : 0;
- const CCTK_REAL* restrict const dJ123 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[4] : 0;
- const CCTK_REAL* restrict const dJ133 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[5] : 0;
- const CCTK_REAL* restrict const dJ211 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[6] : 0;
- const CCTK_REAL* restrict const dJ212 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[7] : 0;
- const CCTK_REAL* restrict const dJ213 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[8] : 0;
- const CCTK_REAL* restrict const dJ222 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[9] : 0;
- const CCTK_REAL* restrict const dJ223 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[10] : 0;
- const CCTK_REAL* restrict const dJ233 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[11] : 0;
- const CCTK_REAL* restrict const dJ311 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[12] : 0;
- const CCTK_REAL* restrict const dJ312 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[13] : 0;
- const CCTK_REAL* restrict const dJ313 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[14] : 0;
- const CCTK_REAL* restrict const dJ322 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[15] : 0;
- const CCTK_REAL* restrict const dJ323 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[16] : 0;
- const CCTK_REAL* restrict const dJ333 CCTK_ATTRIBUTE_UNUSED = use_jacobian ? jacobian_derivative_ptrs[17] : 0;
+ const CCTK_REAL* restrict const detJ CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_determinant_ptrs[0] : 0;
- /* Assign local copies of arrays functions */
+ const CCTK_REAL* restrict jacobian_inverse_ptrs[9] CCTK_ATTRIBUTE_UNUSED;
+ if (usejacobian && strlen(jacobian_inverse_group) > 0) GroupDataPointers(cctkGH, jacobian_inverse_group,
+ 9, jacobian_inverse_ptrs);
+ const CCTK_REAL* restrict const iJ11 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_inverse_ptrs[0] : 0;
+ const CCTK_REAL* restrict const iJ12 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_inverse_ptrs[1] : 0;
+ const CCTK_REAL* restrict const iJ13 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_inverse_ptrs[2] : 0;
+ const CCTK_REAL* restrict const iJ21 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_inverse_ptrs[3] : 0;
+ const CCTK_REAL* restrict const iJ22 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_inverse_ptrs[4] : 0;
+ const CCTK_REAL* restrict const iJ23 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_inverse_ptrs[5] : 0;
+ const CCTK_REAL* restrict const iJ31 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_inverse_ptrs[6] : 0;
+ const CCTK_REAL* restrict const iJ32 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_inverse_ptrs[7] : 0;
+ const CCTK_REAL* restrict const iJ33 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_inverse_ptrs[8] : 0;
+ const CCTK_REAL* restrict jacobian_derivative_ptrs[18] CCTK_ATTRIBUTE_UNUSED;
+ if (usejacobian) GroupDataPointers(cctkGH, jacobian_derivative_group,
+ 18, jacobian_derivative_ptrs);
- /* Calculate temporaries and arrays functions */
+ const CCTK_REAL* restrict const dJ111 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_derivative_ptrs[0] : 0;
+ const CCTK_REAL* restrict const dJ112 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_derivative_ptrs[1] : 0;
+ const CCTK_REAL* restrict const dJ113 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_derivative_ptrs[2] : 0;
+ const CCTK_REAL* restrict const dJ122 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_derivative_ptrs[3] : 0;
+ const CCTK_REAL* restrict const dJ123 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_derivative_ptrs[4] : 0;
+ const CCTK_REAL* restrict const dJ133 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_derivative_ptrs[5] : 0;
+ const CCTK_REAL* restrict const dJ211 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_derivative_ptrs[6] : 0;
+ const CCTK_REAL* restrict const dJ212 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_derivative_ptrs[7] : 0;
+ const CCTK_REAL* restrict const dJ213 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_derivative_ptrs[8] : 0;
+ const CCTK_REAL* restrict const dJ222 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_derivative_ptrs[9] : 0;
+ const CCTK_REAL* restrict const dJ223 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_derivative_ptrs[10] : 0;
+ const CCTK_REAL* restrict const dJ233 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_derivative_ptrs[11] : 0;
+ const CCTK_REAL* restrict const dJ311 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_derivative_ptrs[12] : 0;
+ const CCTK_REAL* restrict const dJ312 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_derivative_ptrs[13] : 0;
+ const CCTK_REAL* restrict const dJ313 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_derivative_ptrs[14] : 0;
+ const CCTK_REAL* restrict const dJ322 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_derivative_ptrs[15] : 0;
+ const CCTK_REAL* restrict const dJ323 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_derivative_ptrs[16] : 0;
+ const CCTK_REAL* restrict const dJ333 CCTK_ATTRIBUTE_UNUSED = usejacobian ? jacobian_derivative_ptrs[17] : 0;
+ /* Assign local copies of arrays functions */
- /* Copy local copies back to grid functions */
+ /* Calculate temporaries and arrays functions */
+ /* Copy local copies back to grid functions */
/* Loop over the grid points */
const int imin0=imin[0];
const int imin1=imin[1];
@@ -205,15 +222,13 @@ static void WeylScal4_psis_calc_Nth_Body(const cGH* restrict const cctkGH, const
const int imax0=imax[0];
const int imax1=imax[1];
const int imax2=imax[2];
- #pragma omp parallel // reduction(+: vec_iter_counter, vec_op_counter, vec_mem_counter)
+ #pragma omp parallel
CCTK_LOOP3STR(WeylScal4_psis_calc_Nth,
i,j,k, imin0,imin1,imin2, imax0,imax1,imax2,
cctk_ash[0],cctk_ash[1],cctk_ash[2],
vecimin,vecimax, CCTK_REAL_VEC_SIZE)
{
const ptrdiff_t index CCTK_ATTRIBUTE_UNUSED = di*i + dj*j + dk*k;
- // vec_iter_counter+=CCTK_REAL_VEC_SIZE;
-
/* Assign local copies of grid functions */
CCTK_REAL_VEC gxxL CCTK_ATTRIBUTE_UNUSED = vec_load(gxx[index]);
@@ -235,7 +250,7 @@ static void WeylScal4_psis_calc_Nth_Body(const cGH* restrict const cctkGH, const
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 CCTK_ATTRIBUTE_UNUSED ;
- if (use_jacobian)
+ if (usejacobian)
{
dJ111L = vec_load(dJ111[index]);
dJ112L = vec_load(dJ112[index]);
@@ -265,9 +280,7 @@ static void WeylScal4_psis_calc_Nth_Body(const cGH* restrict const cctkGH, const
J32L = vec_load(J32[index]);
J33L = vec_load(J33[index]);
}
-
/* Include user supplied include files */
-
/* Precompute derivatives */
CCTK_REAL_VEC PDstandard1gxx CCTK_ATTRIBUTE_UNUSED;
CCTK_REAL_VEC PDstandard2gxx CCTK_ATTRIBUTE_UNUSED;
@@ -654,7 +667,6 @@ static void WeylScal4_psis_calc_Nth_Body(const cGH* restrict const cctkGH, const
default:
CCTK_BUILTIN_UNREACHABLE();
}
-
/* Calculate temporaries and grid functions */
CCTK_REAL_VEC JacPDstandard11gyy CCTK_ATTRIBUTE_UNUSED;
CCTK_REAL_VEC JacPDstandard11gyz CCTK_ATTRIBUTE_UNUSED;
@@ -714,7 +726,7 @@ static void WeylScal4_psis_calc_Nth_Body(const cGH* restrict const cctkGH, const
CCTK_REAL_VEC JacPDstandard3kyy CCTK_ATTRIBUTE_UNUSED;
CCTK_REAL_VEC JacPDstandard3kyz CCTK_ATTRIBUTE_UNUSED;
- if (use_jacobian)
+ if (usejacobian)
{
JacPDstandard1gxx =
kmadd(J11L,PDstandard1gxx,kmadd(J21L,PDstandard2gxx,kmul(J31L,PDstandard3gxx)));
@@ -816,31 +828,31 @@ static void WeylScal4_psis_calc_Nth_Body(const cGH* restrict const cctkGH, const
kmadd(J13L,PDstandard1kyz,kmadd(J23L,PDstandard2kyz,kmul(J33L,PDstandard3kyz)));
JacPDstandard11gyy =
- kmadd(dJ111L,PDstandard1gyy,kmadd(dJ211L,PDstandard2gyy,kmadd(dJ311L,PDstandard3gyy,kmadd(PDstandard11gyy,kmul(J11L,J11L),kmadd(PDstandard22gyy,kmul(J21L,J21L),kmadd(PDstandard33gyy,kmul(J31L,J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandard12gyy,kmul(J31L,PDstandard13gyy)),kmul(J21L,kmul(J31L,PDstandard23gyy))),ToReal(2))))))));
+ kmadd(dJ111L,PDstandard1gyy,kmadd(ToReal(2),kmadd(J11L,kmadd(J21L,PDstandard12gyy,kmul(J31L,PDstandard13gyy)),kmul(J21L,kmul(J31L,PDstandard23gyy))),kmadd(dJ211L,PDstandard2gyy,kmadd(dJ311L,PDstandard3gyy,kmadd(PDstandard11gyy,kmul(J11L,J11L),kmadd(PDstandard22gyy,kmul(J21L,J21L),kmul(PDstandard33gyy,kmul(J31L,J31L))))))));
JacPDstandard11gyz =
- kmadd(dJ111L,PDstandard1gyz,kmadd(dJ211L,PDstandard2gyz,kmadd(dJ311L,PDstandard3gyz,kmadd(PDstandard11gyz,kmul(J11L,J11L),kmadd(PDstandard22gyz,kmul(J21L,J21L),kmadd(PDstandard33gyz,kmul(J31L,J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandard12gyz,kmul(J31L,PDstandard13gyz)),kmul(J21L,kmul(J31L,PDstandard23gyz))),ToReal(2))))))));
+ kmadd(dJ111L,PDstandard1gyz,kmadd(ToReal(2),kmadd(J11L,kmadd(J21L,PDstandard12gyz,kmul(J31L,PDstandard13gyz)),kmul(J21L,kmul(J31L,PDstandard23gyz))),kmadd(dJ211L,PDstandard2gyz,kmadd(dJ311L,PDstandard3gyz,kmadd(PDstandard11gyz,kmul(J11L,J11L),kmadd(PDstandard22gyz,kmul(J21L,J21L),kmul(PDstandard33gyz,kmul(J31L,J31L))))))));
JacPDstandard11gzz =
- kmadd(dJ111L,PDstandard1gzz,kmadd(dJ211L,PDstandard2gzz,kmadd(dJ311L,PDstandard3gzz,kmadd(PDstandard11gzz,kmul(J11L,J11L),kmadd(PDstandard22gzz,kmul(J21L,J21L),kmadd(PDstandard33gzz,kmul(J31L,J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandard12gzz,kmul(J31L,PDstandard13gzz)),kmul(J21L,kmul(J31L,PDstandard23gzz))),ToReal(2))))))));
+ kmadd(dJ111L,PDstandard1gzz,kmadd(ToReal(2),kmadd(J11L,kmadd(J21L,PDstandard12gzz,kmul(J31L,PDstandard13gzz)),kmul(J21L,kmul(J31L,PDstandard23gzz))),kmadd(dJ211L,PDstandard2gzz,kmadd(dJ311L,PDstandard3gzz,kmadd(PDstandard11gzz,kmul(J11L,J11L),kmadd(PDstandard22gzz,kmul(J21L,J21L),kmul(PDstandard33gzz,kmul(J31L,J31L))))))));
JacPDstandard22gxx =
- kmadd(dJ122L,PDstandard1gxx,kmadd(dJ222L,PDstandard2gxx,kmadd(dJ322L,PDstandard3gxx,kmadd(PDstandard11gxx,kmul(J12L,J12L),kmadd(PDstandard22gxx,kmul(J22L,J22L),kmadd(PDstandard33gxx,kmul(J32L,J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandard12gxx,kmul(J32L,PDstandard13gxx)),kmul(J22L,kmul(J32L,PDstandard23gxx))),ToReal(2))))))));
+ kmadd(dJ122L,PDstandard1gxx,kmadd(ToReal(2),kmadd(J12L,kmadd(J22L,PDstandard12gxx,kmul(J32L,PDstandard13gxx)),kmul(J22L,kmul(J32L,PDstandard23gxx))),kmadd(dJ222L,PDstandard2gxx,kmadd(dJ322L,PDstandard3gxx,kmadd(PDstandard11gxx,kmul(J12L,J12L),kmadd(PDstandard22gxx,kmul(J22L,J22L),kmul(PDstandard33gxx,kmul(J32L,J32L))))))));
JacPDstandard22gxz =
- kmadd(dJ122L,PDstandard1gxz,kmadd(dJ222L,PDstandard2gxz,kmadd(dJ322L,PDstandard3gxz,kmadd(PDstandard11gxz,kmul(J12L,J12L),kmadd(PDstandard22gxz,kmul(J22L,J22L),kmadd(PDstandard33gxz,kmul(J32L,J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandard12gxz,kmul(J32L,PDstandard13gxz)),kmul(J22L,kmul(J32L,PDstandard23gxz))),ToReal(2))))))));
+ kmadd(dJ122L,PDstandard1gxz,kmadd(ToReal(2),kmadd(J12L,kmadd(J22L,PDstandard12gxz,kmul(J32L,PDstandard13gxz)),kmul(J22L,kmul(J32L,PDstandard23gxz))),kmadd(dJ222L,PDstandard2gxz,kmadd(dJ322L,PDstandard3gxz,kmadd(PDstandard11gxz,kmul(J12L,J12L),kmadd(PDstandard22gxz,kmul(J22L,J22L),kmul(PDstandard33gxz,kmul(J32L,J32L))))))));
JacPDstandard22gzz =
- kmadd(dJ122L,PDstandard1gzz,kmadd(dJ222L,PDstandard2gzz,kmadd(dJ322L,PDstandard3gzz,kmadd(PDstandard11gzz,kmul(J12L,J12L),kmadd(PDstandard22gzz,kmul(J22L,J22L),kmadd(PDstandard33gzz,kmul(J32L,J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandard12gzz,kmul(J32L,PDstandard13gzz)),kmul(J22L,kmul(J32L,PDstandard23gzz))),ToReal(2))))))));
+ kmadd(dJ122L,PDstandard1gzz,kmadd(ToReal(2),kmadd(J12L,kmadd(J22L,PDstandard12gzz,kmul(J32L,PDstandard13gzz)),kmul(J22L,kmul(J32L,PDstandard23gzz))),kmadd(dJ222L,PDstandard2gzz,kmadd(dJ322L,PDstandard3gzz,kmadd(PDstandard11gzz,kmul(J12L,J12L),kmadd(PDstandard22gzz,kmul(J22L,J22L),kmul(PDstandard33gzz,kmul(J32L,J32L))))))));
JacPDstandard33gxx =
- kmadd(dJ133L,PDstandard1gxx,kmadd(dJ233L,PDstandard2gxx,kmadd(dJ333L,PDstandard3gxx,kmadd(PDstandard11gxx,kmul(J13L,J13L),kmadd(PDstandard22gxx,kmul(J23L,J23L),kmadd(PDstandard33gxx,kmul(J33L,J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandard12gxx,kmul(J33L,PDstandard13gxx)),kmul(J23L,kmul(J33L,PDstandard23gxx))),ToReal(2))))))));
+ kmadd(dJ133L,PDstandard1gxx,kmadd(ToReal(2),kmadd(J13L,kmadd(J23L,PDstandard12gxx,kmul(J33L,PDstandard13gxx)),kmul(J23L,kmul(J33L,PDstandard23gxx))),kmadd(dJ233L,PDstandard2gxx,kmadd(dJ333L,PDstandard3gxx,kmadd(PDstandard11gxx,kmul(J13L,J13L),kmadd(PDstandard22gxx,kmul(J23L,J23L),kmul(PDstandard33gxx,kmul(J33L,J33L))))))));
JacPDstandard33gxy =
- kmadd(dJ133L,PDstandard1gxy,kmadd(dJ233L,PDstandard2gxy,kmadd(dJ333L,PDstandard3gxy,kmadd(PDstandard11gxy,kmul(J13L,J13L),kmadd(PDstandard22gxy,kmul(J23L,J23L),kmadd(PDstandard33gxy,kmul(J33L,J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandard12gxy,kmul(J33L,PDstandard13gxy)),kmul(J23L,kmul(J33L,PDstandard23gxy))),ToReal(2))))))));
+ kmadd(dJ133L,PDstandard1gxy,kmadd(ToReal(2),kmadd(J13L,kmadd(J23L,PDstandard12gxy,kmul(J33L,PDstandard13gxy)),kmul(J23L,kmul(J33L,PDstandard23gxy))),kmadd(dJ233L,PDstandard2gxy,kmadd(dJ333L,PDstandard3gxy,kmadd(PDstandard11gxy,kmul(J13L,J13L),kmadd(PDstandard22gxy,kmul(J23L,J23L),kmul(PDstandard33gxy,kmul(J33L,J33L))))))));
JacPDstandard33gyy =
- kmadd(dJ133L,PDstandard1gyy,kmadd(dJ233L,PDstandard2gyy,kmadd(dJ333L,PDstandard3gyy,kmadd(PDstandard11gyy,kmul(J13L,J13L),kmadd(PDstandard22gyy,kmul(J23L,J23L),kmadd(PDstandard33gyy,kmul(J33L,J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandard12gyy,kmul(J33L,PDstandard13gyy)),kmul(J23L,kmul(J33L,PDstandard23gyy))),ToReal(2))))))));
+ kmadd(dJ133L,PDstandard1gyy,kmadd(ToReal(2),kmadd(J13L,kmadd(J23L,PDstandard12gyy,kmul(J33L,PDstandard13gyy)),kmul(J23L,kmul(J33L,PDstandard23gyy))),kmadd(dJ233L,PDstandard2gyy,kmadd(dJ333L,PDstandard3gyy,kmadd(PDstandard11gyy,kmul(J13L,J13L),kmadd(PDstandard22gyy,kmul(J23L,J23L),kmul(PDstandard33gyy,kmul(J33L,J33L))))))));
JacPDstandard12gxy =
kmadd(J12L,kmadd(J11L,PDstandard11gxy,kmadd(J21L,PDstandard12gxy,kmul(J31L,PDstandard13gxy))),kmadd(J11L,kmadd(J22L,PDstandard12gxy,kmul(J32L,PDstandard13gxy)),kmadd(dJ112L,PDstandard1gxy,kmadd(J22L,kmadd(J21L,PDstandard22gxy,kmul(J31L,PDstandard23gxy)),kmadd(dJ212L,PDstandard2gxy,kmadd(J32L,kmadd(J21L,PDstandard23gxy,kmul(J31L,PDstandard33gxy)),kmul(dJ312L,PDstandard3gxy)))))));
@@ -1005,7 +1017,7 @@ static void WeylScal4_psis_calc_Nth_Body(const cGH* restrict const cctkGH, const
}
CCTK_REAL_VEC detg CCTK_ATTRIBUTE_UNUSED =
- knmsub(gyyL,kmul(gxzL,gxzL),knmsub(gxxL,kmul(gyzL,gyzL),kmadd(gzzL,kmsub(gxxL,gyyL,kmul(gxyL,gxyL)),kmul(gxyL,kmul(gxzL,kmul(gyzL,ToReal(2)))))));
+ kmadd(ToReal(2),kmul(gxyL,kmul(gxzL,gyzL)),knmsub(gzzL,kmul(gxyL,gxyL),kmsub(gyyL,kmsub(gxxL,gzzL,kmul(gxzL,gxzL)),kmul(gxxL,kmul(gyzL,gyzL)))));
CCTK_REAL_VEC invdetg CCTK_ATTRIBUTE_UNUSED = kdiv(ToReal(1),detg);
@@ -1037,13 +1049,13 @@ static void WeylScal4_psis_calc_Nth_Body(const cGH* restrict const cctkGH, const
kmul(invdetg,kmsub(gxxL,gyyL,kmul(gxyL,gxyL)));
CCTK_REAL_VEC gamma111 CCTK_ATTRIBUTE_UNUSED =
- kmul(ToReal(0.5),kmadd(gInv11,JacPDstandard1gxx,knmsub(gInv12,JacPDstandard2gxx,kmsub(kmadd(gInv12,JacPDstandard1gxy,kmul(gInv13,JacPDstandard1gxz)),ToReal(2),kmul(gInv13,JacPDstandard3gxx)))));
+ kmul(kmadd(gInv11,JacPDstandard1gxx,kmsub(ToReal(2),kmadd(gInv12,JacPDstandard1gxy,kmul(gInv13,JacPDstandard1gxz)),kmadd(gInv13,JacPDstandard3gxx,kmul(gInv12,JacPDstandard2gxx)))),ToReal(0.5));
CCTK_REAL_VEC gamma211 CCTK_ATTRIBUTE_UNUSED =
- kmul(ToReal(0.5),kmadd(gInv21,JacPDstandard1gxx,knmsub(gInv22,JacPDstandard2gxx,kmsub(kmadd(gInv22,JacPDstandard1gxy,kmul(gInv23,JacPDstandard1gxz)),ToReal(2),kmul(gInv23,JacPDstandard3gxx)))));
+ kmul(kmadd(gInv21,JacPDstandard1gxx,kmsub(ToReal(2),kmadd(gInv22,JacPDstandard1gxy,kmul(gInv23,JacPDstandard1gxz)),kmadd(gInv23,JacPDstandard3gxx,kmul(gInv22,JacPDstandard2gxx)))),ToReal(0.5));
CCTK_REAL_VEC gamma311 CCTK_ATTRIBUTE_UNUSED =
- kmul(ToReal(0.5),kmadd(gInv31,JacPDstandard1gxx,knmsub(gInv32,JacPDstandard2gxx,kmsub(kmadd(gInv32,JacPDstandard1gxy,kmul(gInv33,JacPDstandard1gxz)),ToReal(2),kmul(gInv33,JacPDstandard3gxx)))));
+ kmul(kmadd(gInv31,JacPDstandard1gxx,kmsub(ToReal(2),kmadd(gInv32,JacPDstandard1gxy,kmul(gInv33,JacPDstandard1gxz)),kmadd(gInv33,JacPDstandard3gxx,kmul(gInv32,JacPDstandard2gxx)))),ToReal(0.5));
CCTK_REAL_VEC gamma121 CCTK_ATTRIBUTE_UNUSED =
kmul(kmadd(gInv12,JacPDstandard1gyy,kmadd(gInv11,JacPDstandard2gxx,kmul(gInv13,kadd(JacPDstandard1gyz,ksub(JacPDstandard2gxz,JacPDstandard3gxy))))),ToReal(0.5));
@@ -1064,31 +1076,31 @@ static void WeylScal4_psis_calc_Nth_Body(const cGH* restrict const cctkGH, const
kmul(kmadd(gInv33,JacPDstandard1gzz,kmadd(gInv31,JacPDstandard3gxx,kmul(gInv32,kadd(JacPDstandard1gyz,ksub(JacPDstandard3gxy,JacPDstandard2gxz))))),ToReal(0.5));
CCTK_REAL_VEC gamma122 CCTK_ATTRIBUTE_UNUSED =
- kmul(ToReal(0.5),kmadd(gInv12,JacPDstandard2gyy,kmadd(gInv11,kmsub(JacPDstandard2gxy,ToReal(2),JacPDstandard1gyy),kmul(gInv13,kmsub(JacPDstandard2gyz,ToReal(2),JacPDstandard3gyy)))));
+ kmul(kmadd(gInv11,kmsub(ToReal(2),JacPDstandard2gxy,JacPDstandard1gyy),kmadd(gInv12,JacPDstandard2gyy,kmul(gInv13,kmsub(ToReal(2),JacPDstandard2gyz,JacPDstandard3gyy)))),ToReal(0.5));
CCTK_REAL_VEC gamma222 CCTK_ATTRIBUTE_UNUSED =
- kmul(ToReal(0.5),kmadd(gInv22,JacPDstandard2gyy,kmadd(gInv21,kmsub(JacPDstandard2gxy,ToReal(2),JacPDstandard1gyy),kmul(gInv23,kmsub(JacPDstandard2gyz,ToReal(2),JacPDstandard3gyy)))));
+ kmul(kmadd(gInv21,kmsub(ToReal(2),JacPDstandard2gxy,JacPDstandard1gyy),kmadd(gInv22,JacPDstandard2gyy,kmul(gInv23,kmsub(ToReal(2),JacPDstandard2gyz,JacPDstandard3gyy)))),ToReal(0.5));
CCTK_REAL_VEC gamma322 CCTK_ATTRIBUTE_UNUSED =
- kmul(ToReal(0.5),kmadd(gInv32,JacPDstandard2gyy,kmadd(gInv31,kmsub(JacPDstandard2gxy,ToReal(2),JacPDstandard1gyy),kmul(gInv33,kmsub(JacPDstandard2gyz,ToReal(2),JacPDstandard3gyy)))));
+ kmul(kmadd(gInv31,kmsub(ToReal(2),JacPDstandard2gxy,JacPDstandard1gyy),kmadd(gInv32,JacPDstandard2gyy,kmul(gInv33,kmsub(ToReal(2),JacPDstandard2gyz,JacPDstandard3gyy)))),ToReal(0.5));
CCTK_REAL_VEC gamma132 CCTK_ATTRIBUTE_UNUSED =
- kmul(kmadd(gInv13,JacPDstandard2gzz,kmadd(gInv12,JacPDstandard3gyy,kmul(gInv11,kadd(JacPDstandard2gxz,ksub(JacPDstandard3gxy,JacPDstandard1gyz))))),ToReal(0.5));
+ kmul(kmadd(gInv13,JacPDstandard2gzz,kmadd(gInv11,ksub(kadd(JacPDstandard2gxz,JacPDstandard3gxy),JacPDstandard1gyz),kmul(gInv12,JacPDstandard3gyy))),ToReal(0.5));
CCTK_REAL_VEC gamma232 CCTK_ATTRIBUTE_UNUSED =
- kmul(kmadd(gInv23,JacPDstandard2gzz,kmadd(gInv22,JacPDstandard3gyy,kmul(gInv21,kadd(JacPDstandard2gxz,ksub(JacPDstandard3gxy,JacPDstandard1gyz))))),ToReal(0.5));
+ kmul(kmadd(gInv23,JacPDstandard2gzz,kmadd(gInv21,ksub(kadd(JacPDstandard2gxz,JacPDstandard3gxy),JacPDstandard1gyz),kmul(gInv22,JacPDstandard3gyy))),ToReal(0.5));
CCTK_REAL_VEC gamma332 CCTK_ATTRIBUTE_UNUSED =
- kmul(kmadd(gInv33,JacPDstandard2gzz,kmadd(gInv32,JacPDstandard3gyy,kmul(gInv31,kadd(JacPDstandard2gxz,ksub(JacPDstandard3gxy,JacPDstandard1gyz))))),ToReal(0.5));
+ kmul(kmadd(gInv33,JacPDstandard2gzz,kmadd(gInv31,ksub(kadd(JacPDstandard2gxz,JacPDstandard3gxy),JacPDstandard1gyz),kmul(gInv32,JacPDstandard3gyy))),ToReal(0.5));
CCTK_REAL_VEC gamma133 CCTK_ATTRIBUTE_UNUSED =
- kmul(ToReal(0.5),kmadd(gInv13,JacPDstandard3gzz,kmadd(gInv11,kmsub(JacPDstandard3gxz,ToReal(2),JacPDstandard1gzz),kmul(gInv12,kmsub(JacPDstandard3gyz,ToReal(2),JacPDstandard2gzz)))));
+ kmul(kmadd(gInv11,kmsub(ToReal(2),JacPDstandard3gxz,JacPDstandard1gzz),kmadd(gInv12,kmsub(ToReal(2),JacPDstandard3gyz,JacPDstandard2gzz),kmul(gInv13,JacPDstandard3gzz))),ToReal(0.5));
CCTK_REAL_VEC gamma233 CCTK_ATTRIBUTE_UNUSED =
- kmul(ToReal(0.5),kmadd(gInv23,JacPDstandard3gzz,kmadd(gInv21,kmsub(JacPDstandard3gxz,ToReal(2),JacPDstandard1gzz),kmul(gInv22,kmsub(JacPDstandard3gyz,ToReal(2),JacPDstandard2gzz)))));
+ kmul(kmadd(gInv21,kmsub(ToReal(2),JacPDstandard3gxz,JacPDstandard1gzz),kmadd(gInv22,kmsub(ToReal(2),JacPDstandard3gyz,JacPDstandard2gzz),kmul(gInv23,JacPDstandard3gzz))),ToReal(0.5));
CCTK_REAL_VEC gamma333 CCTK_ATTRIBUTE_UNUSED =
- kmul(ToReal(0.5),kmadd(gInv33,JacPDstandard3gzz,kmadd(gInv31,kmsub(JacPDstandard3gxz,ToReal(2),JacPDstandard1gzz),kmul(gInv32,kmsub(JacPDstandard3gyz,ToReal(2),JacPDstandard2gzz)))));
+ kmul(kmadd(gInv31,kmsub(ToReal(2),JacPDstandard3gxz,JacPDstandard1gzz),kmadd(gInv32,kmsub(ToReal(2),JacPDstandard3gyz,JacPDstandard2gzz),kmul(gInv33,JacPDstandard3gzz))),ToReal(0.5));
CCTK_REAL_VEC xmoved CCTK_ATTRIBUTE_UNUSED = ksub(xL,ToReal(xorig));
@@ -1109,13 +1121,13 @@ static void WeylScal4_psis_calc_Nth_Body(const cGH* restrict const cctkGH, const
CCTK_REAL_VEC vb3 CCTK_ATTRIBUTE_UNUSED = zmoved;
CCTK_REAL_VEC vc1 CCTK_ATTRIBUTE_UNUSED =
- kmul(ksqrt(detg),kmadd(vb3,kmsub(gInv11,va2,kmul(gInv12,va1)),kmadd(vb1,kmsub(gInv12,va3,kmul(gInv13,va2)),kmul(vb2,kmsub(gInv13,va1,kmul(gInv11,va3))))));
+ kmul(kmadd(kmsub(gInv12,va3,kmul(gInv13,va2)),vb1,kmadd(kmsub(gInv13,va1,kmul(gInv11,va3)),vb2,kmul(vb3,kmsub(gInv11,va2,kmul(gInv12,va1))))),kpow(detg,0.5));
CCTK_REAL_VEC vc2 CCTK_ATTRIBUTE_UNUSED =
- kmul(ksqrt(detg),kmadd(vb3,kmsub(gInv21,va2,kmul(gInv22,va1)),kmadd(vb1,kmsub(gInv22,va3,kmul(gInv23,va2)),kmul(vb2,kmsub(gInv23,va1,kmul(gInv21,va3))))));
+ kmul(kmadd(kmsub(gInv22,va3,kmul(gInv23,va2)),vb1,kmadd(kmsub(gInv23,va1,kmul(gInv21,va3)),vb2,kmul(vb3,kmsub(gInv21,va2,kmul(gInv22,va1))))),kpow(detg,0.5));
CCTK_REAL_VEC vc3 CCTK_ATTRIBUTE_UNUSED =
- kmul(ksqrt(detg),kmadd(vb3,kmsub(gInv31,va2,kmul(gInv32,va1)),kmadd(vb1,kmsub(gInv32,va3,kmul(gInv33,va2)),kmul(vb2,kmsub(gInv33,va1,kmul(gInv31,va3))))));
+ kmul(kmadd(kmsub(gInv32,va3,kmul(gInv33,va2)),vb1,kmadd(kmsub(gInv33,va1,kmul(gInv31,va3)),vb2,kmul(vb3,kmsub(gInv31,va2,kmul(gInv32,va1))))),kpow(detg,0.5));
CCTK_REAL_VEC wa1 CCTK_ATTRIBUTE_UNUSED = va1;
@@ -1124,13 +1136,16 @@ static void WeylScal4_psis_calc_Nth_Body(const cGH* restrict const cctkGH, const
CCTK_REAL_VEC wa3 CCTK_ATTRIBUTE_UNUSED = va3;
CCTK_REAL_VEC omega11 CCTK_ATTRIBUTE_UNUSED =
- kmadd(gxxL,kmul(wa1,wa1),kmadd(gyyL,kmul(wa2,wa2),kmadd(gzzL,kmul(wa3,wa3),kmul(kmadd(gyzL,kmul(wa2,wa3),kmul(wa1,kmadd(gxyL,wa2,kmul(gxzL,wa3)))),ToReal(2)))));
+ kmadd(ToReal(2),kmadd(gyzL,kmul(wa2,wa3),kmul(wa1,kmadd(gxyL,wa2,kmul(gxzL,wa3)))),kmadd(gxxL,kmul(wa1,wa1),kmadd(gyyL,kmul(wa2,wa2),kmul(gzzL,kmul(wa3,wa3)))));
- CCTK_REAL_VEC ea1 CCTK_ATTRIBUTE_UNUSED = kdiv(wa1,ksqrt(omega11));
+ CCTK_REAL_VEC ea1 CCTK_ATTRIBUTE_UNUSED =
+ kmul(wa1,kpow(omega11,-0.5));
- CCTK_REAL_VEC ea2 CCTK_ATTRIBUTE_UNUSED = kdiv(wa2,ksqrt(omega11));
+ CCTK_REAL_VEC ea2 CCTK_ATTRIBUTE_UNUSED =
+ kmul(wa2,kpow(omega11,-0.5));
- CCTK_REAL_VEC ea3 CCTK_ATTRIBUTE_UNUSED = kdiv(wa3,ksqrt(omega11));
+ CCTK_REAL_VEC ea3 CCTK_ATTRIBUTE_UNUSED =
+ kmul(wa3,kpow(omega11,-0.5));
CCTK_REAL_VEC omega12 CCTK_ATTRIBUTE_UNUSED =
kmadd(ea1,kmadd(gxxL,vb1,kmadd(gxyL,vb2,kmul(gxzL,vb3))),kmadd(ea2,kmadd(gxyL,vb1,kmadd(gyyL,vb2,kmul(gyzL,vb3))),kmul(ea3,kmadd(gxzL,vb1,kmadd(gyzL,vb2,kmul(gzzL,vb3))))));
@@ -1142,13 +1157,16 @@ static void WeylScal4_psis_calc_Nth_Body(const cGH* restrict const cctkGH, const
CCTK_REAL_VEC wb3 CCTK_ATTRIBUTE_UNUSED = knmsub(ea3,omega12,vb3);
CCTK_REAL_VEC omega22 CCTK_ATTRIBUTE_UNUSED =
- kmadd(gxxL,kmul(wb1,wb1),kmadd(gyyL,kmul(wb2,wb2),kmadd(gzzL,kmul(wb3,wb3),kmul(kmadd(gyzL,kmul(wb2,wb3),kmul(wb1,kmadd(gxyL,wb2,kmul(gxzL,wb3)))),ToReal(2)))));
+ kmadd(ToReal(2),kmadd(gyzL,kmul(wb2,wb3),kmul(wb1,kmadd(gxyL,wb2,kmul(gxzL,wb3)))),kmadd(gxxL,kmul(wb1,wb1),kmadd(gyyL,kmul(wb2,wb2),kmul(gzzL,kmul(wb3,wb3)))));
- CCTK_REAL_VEC eb1 CCTK_ATTRIBUTE_UNUSED = kdiv(wb1,ksqrt(omega22));
+ CCTK_REAL_VEC eb1 CCTK_ATTRIBUTE_UNUSED =
+ kmul(wb1,kpow(omega22,-0.5));
- CCTK_REAL_VEC eb2 CCTK_ATTRIBUTE_UNUSED = kdiv(wb2,ksqrt(omega22));
+ CCTK_REAL_VEC eb2 CCTK_ATTRIBUTE_UNUSED =
+ kmul(wb2,kpow(omega22,-0.5));
- CCTK_REAL_VEC eb3 CCTK_ATTRIBUTE_UNUSED = kdiv(wb3,ksqrt(omega22));
+ CCTK_REAL_VEC eb3 CCTK_ATTRIBUTE_UNUSED =
+ kmul(wb3,kpow(omega22,-0.5));
CCTK_REAL_VEC omega13 CCTK_ATTRIBUTE_UNUSED =
kmadd(ea1,kmadd(gxxL,vc1,kmadd(gxyL,vc2,kmul(gxzL,vc3))),kmadd(ea2,kmadd(gxyL,vc1,kmadd(gyyL,vc2,kmul(gyzL,vc3))),kmul(ea3,kmadd(gxzL,vc1,kmadd(gyzL,vc2,kmul(gzzL,vc3))))));
@@ -1157,22 +1175,25 @@ static void WeylScal4_psis_calc_Nth_Body(const cGH* restrict const cctkGH, const
kmadd(eb1,kmadd(gxxL,vc1,kmadd(gxyL,vc2,kmul(gxzL,vc3))),kmadd(eb2,kmadd(gxyL,vc1,kmadd(gyyL,vc2,kmul(gyzL,vc3))),kmul(eb3,kmadd(gxzL,vc1,kmadd(gyzL,vc2,kmul(gzzL,vc3))))));
CCTK_REAL_VEC wc1 CCTK_ATTRIBUTE_UNUSED =
- ksub(vc1,kmadd(eb1,omega23,kmul(ea1,omega13)));
+ knmsub(ea1,omega13,knmsub(eb1,omega23,vc1));
CCTK_REAL_VEC wc2 CCTK_ATTRIBUTE_UNUSED =
- ksub(vc2,kmadd(eb2,omega23,kmul(ea2,omega13)));
+ knmsub(ea2,omega13,knmsub(eb2,omega23,vc2));
CCTK_REAL_VEC wc3 CCTK_ATTRIBUTE_UNUSED =
- ksub(vc3,kmadd(eb3,omega23,kmul(ea3,omega13)));
+ knmsub(ea3,omega13,knmsub(eb3,omega23,vc3));
CCTK_REAL_VEC omega33 CCTK_ATTRIBUTE_UNUSED =
- kmadd(gxxL,kmul(wc1,wc1),kmadd(gyyL,kmul(wc2,wc2),kmadd(gzzL,kmul(wc3,wc3),kmul(kmadd(gyzL,kmul(wc2,wc3),kmul(wc1,kmadd(gxyL,wc2,kmul(gxzL,wc3)))),ToReal(2)))));
+ kmadd(ToReal(2),kmadd(gyzL,kmul(wc2,wc3),kmul(wc1,kmadd(gxyL,wc2,kmul(gxzL,wc3)))),kmadd(gxxL,kmul(wc1,wc1),kmadd(gyyL,kmul(wc2,wc2),kmul(gzzL,kmul(wc3,wc3)))));
- CCTK_REAL_VEC ec1 CCTK_ATTRIBUTE_UNUSED = kdiv(wc1,ksqrt(omega33));
+ CCTK_REAL_VEC ec1 CCTK_ATTRIBUTE_UNUSED =
+ kmul(wc1,kpow(omega33,-0.5));
- CCTK_REAL_VEC ec2 CCTK_ATTRIBUTE_UNUSED = kdiv(wc2,ksqrt(omega33));
+ CCTK_REAL_VEC ec2 CCTK_ATTRIBUTE_UNUSED =
+ kmul(wc2,kpow(omega33,-0.5));
- CCTK_REAL_VEC ec3 CCTK_ATTRIBUTE_UNUSED = kdiv(wc3,ksqrt(omega33));
+ CCTK_REAL_VEC ec3 CCTK_ATTRIBUTE_UNUSED =
+ kmul(wc3,kpow(omega33,-0.5));
CCTK_REAL_VEC isqrt2 CCTK_ATTRIBUTE_UNUSED =
ToReal(0.707106781186547524);
@@ -1216,37 +1237,37 @@ static void WeylScal4_psis_calc_Nth_Body(const cGH* restrict const cctkGH, const
CCTK_REAL_VEC nn CCTK_ATTRIBUTE_UNUSED = isqrt2;
CCTK_REAL_VEC R1212 CCTK_ATTRIBUTE_UNUSED =
- kmul(ToReal(0.5),kadd(JacPDstandard12gxy,kadd(JacPDstandard21gxy,kmadd(kmadd(gamma122,kmadd(gxxL,gamma111,kmadd(gxyL,gamma211,kmul(gxzL,gamma311))),kmadd(gamma222,kmadd(gxyL,gamma111,kmadd(gyyL,gamma211,kmul(gyzL,gamma311))),kmul(kmadd(gxzL,gamma111,kmadd(gyzL,gamma211,kmul(gzzL,gamma311))),gamma322))),ToReal(-2),ksub(kmsub(kmadd(gamma121,kmadd(gxxL,gamma121,kmadd(gxyL,gamma221,kmul(gxzL,gamma321))),kmadd(gamma221,kmadd(gxyL,gamma121,kmadd(gyyL,gamma221,kmul(gyzL,gamma321))),kmul(gamma321,kmadd(gxzL,gamma121,kmadd(gyzL,gamma221,kmul(gzzL,gamma321)))))),ToReal(2),JacPDstandard22gxx),JacPDstandard11gyy)))));
+ kmul(kmadd(ToReal(2),kmadd(gamma121,kmadd(gxxL,gamma121,kmadd(gxyL,gamma221,kmul(gxzL,gamma321))),kmadd(gamma221,kmadd(gxyL,gamma121,kmadd(gyyL,gamma221,kmul(gyzL,gamma321))),kmul(gamma321,kmadd(gxzL,gamma121,kmadd(gyzL,gamma221,kmul(gzzL,gamma321)))))),kmadd(ToReal(-2),kmadd(gamma122,kmadd(gxxL,gamma111,kmadd(gxyL,gamma211,kmul(gxzL,gamma311))),kmadd(gamma222,kmadd(gxyL,gamma111,kmadd(gyyL,gamma211,kmul(gyzL,gamma311))),kmul(kmadd(gxzL,gamma111,kmadd(gyzL,gamma211,kmul(gzzL,gamma311))),gamma322))),ksub(kadd(JacPDstandard12gxy,ksub(JacPDstandard21gxy,JacPDstandard22gxx)),JacPDstandard11gyy))),ToReal(0.5));
CCTK_REAL_VEC R1213 CCTK_ATTRIBUTE_UNUSED =
- kmul(ToReal(0.5),kadd(JacPDstandard12gxz,kadd(JacPDstandard31gxy,kmadd(kmadd(gamma132,kmadd(gxxL,gamma111,kmadd(gxyL,gamma211,kmul(gxzL,gamma311))),kmadd(gamma232,kmadd(gxyL,gamma111,kmadd(gyyL,gamma211,kmul(gyzL,gamma311))),kmul(kmadd(gxzL,gamma111,kmadd(gyzL,gamma211,kmul(gzzL,gamma311))),gamma332))),ToReal(-2),ksub(kmsub(kmadd(gamma121,kmadd(gxxL,gamma131,kmadd(gxyL,gamma231,kmul(gxzL,gamma331))),kmadd(gamma221,kmadd(gxyL,gamma131,kmadd(gyyL,gamma231,kmul(gyzL,gamma331))),kmul(gamma321,kmadd(gxzL,gamma131,kmadd(gyzL,gamma231,kmul(gzzL,gamma331)))))),ToReal(2),JacPDstandard23gxx),JacPDstandard11gyz)))));
+ kmul(kmadd(ToReal(2),kmadd(gamma121,kmadd(gxxL,gamma131,kmadd(gxyL,gamma231,kmul(gxzL,gamma331))),kmadd(gamma221,kmadd(gxyL,gamma131,kmadd(gyyL,gamma231,kmul(gyzL,gamma331))),kmul(gamma321,kmadd(gxzL,gamma131,kmadd(gyzL,gamma231,kmul(gzzL,gamma331)))))),kmadd(ToReal(-2),kmadd(gamma132,kmadd(gxxL,gamma111,kmadd(gxyL,gamma211,kmul(gxzL,gamma311))),kmadd(gamma232,kmadd(gxyL,gamma111,kmadd(gyyL,gamma211,kmul(gyzL,gamma311))),kmul(kmadd(gxzL,gamma111,kmadd(gyzL,gamma211,kmul(gzzL,gamma311))),gamma332))),ksub(kadd(JacPDstandard12gxz,ksub(JacPDstandard31gxy,JacPDstandard23gxx)),JacPDstandard11gyz))),ToReal(0.5));
CCTK_REAL_VEC R1223 CCTK_ATTRIBUTE_UNUSED =
- kmul(ToReal(0.5),kadd(JacPDstandard22gxz,kadd(JacPDstandard31gyy,kmadd(kmadd(gamma132,kmadd(gxxL,gamma121,kmadd(gxyL,gamma221,kmul(gxzL,gamma321))),kmadd(gamma232,kmadd(gxyL,gamma121,kmadd(gyyL,gamma221,kmul(gyzL,gamma321))),kmul(kmadd(gxzL,gamma121,kmadd(gyzL,gamma221,kmul(gzzL,gamma321))),gamma332))),ToReal(-2),ksub(kmsub(kmadd(gamma122,kmadd(gxxL,gamma131,kmadd(gxyL,gamma231,kmul(gxzL,gamma331))),kmadd(gamma222,kmadd(gxyL,gamma131,kmadd(gyyL,gamma231,kmul(gyzL,gamma331))),kmul(gamma322,kmadd(gxzL,gamma131,kmadd(gyzL,gamma231,kmul(gzzL,gamma331)))))),ToReal(2),JacPDstandard23gxy),JacPDstandard12gyz)))));
+ kmul(kmadd(ToReal(2),kmadd(gamma122,kmadd(gxxL,gamma131,kmadd(gxyL,gamma231,kmul(gxzL,gamma331))),kmadd(gamma222,kmadd(gxyL,gamma131,kmadd(gyyL,gamma231,kmul(gyzL,gamma331))),kmul(gamma322,kmadd(gxzL,gamma131,kmadd(gyzL,gamma231,kmul(gzzL,gamma331)))))),kmadd(ToReal(-2),kmadd(gamma132,kmadd(gxxL,gamma121,kmadd(gxyL,gamma221,kmul(gxzL,gamma321))),kmadd(gamma232,kmadd(gxyL,gamma121,kmadd(gyyL,gamma221,kmul(gyzL,gamma321))),kmul(kmadd(gxzL,gamma121,kmadd(gyzL,gamma221,kmul(gzzL,gamma321))),gamma332))),ksub(kadd(JacPDstandard22gxz,ksub(JacPDstandard31gyy,JacPDstandard23gxy)),JacPDstandard12gyz))),ToReal(0.5));
CCTK_REAL_VEC R1313 CCTK_ATTRIBUTE_UNUSED =
- kmul(ToReal(0.5),kadd(JacPDstandard13gxz,kadd(JacPDstandard31gxz,kmadd(kmadd(gamma133,kmadd(gxxL,gamma111,kmadd(gxyL,gamma211,kmul(gxzL,gamma311))),kmadd(gamma233,kmadd(gxyL,gamma111,kmadd(gyyL,gamma211,kmul(gyzL,gamma311))),kmul(kmadd(gxzL,gamma111,kmadd(gyzL,gamma211,kmul(gzzL,gamma311))),gamma333))),ToReal(-2),ksub(kmsub(kmadd(gamma131,kmadd(gxxL,gamma131,kmadd(gxyL,gamma231,kmul(gxzL,gamma331))),kmadd(gamma231,kmadd(gxyL,gamma131,kmadd(gyyL,gamma231,kmul(gyzL,gamma331))),kmul(gamma331,kmadd(gxzL,gamma131,kmadd(gyzL,gamma231,kmul(gzzL,gamma331)))))),ToReal(2),JacPDstandard33gxx),JacPDstandard11gzz)))));
+ kmul(kmadd(ToReal(2),kmadd(gamma131,kmadd(gxxL,gamma131,kmadd(gxyL,gamma231,kmul(gxzL,gamma331))),kmadd(gamma231,kmadd(gxyL,gamma131,kmadd(gyyL,gamma231,kmul(gyzL,gamma331))),kmul(gamma331,kmadd(gxzL,gamma131,kmadd(gyzL,gamma231,kmul(gzzL,gamma331)))))),kmadd(ToReal(-2),kmadd(gamma133,kmadd(gxxL,gamma111,kmadd(gxyL,gamma211,kmul(gxzL,gamma311))),kmadd(gamma233,kmadd(gxyL,gamma111,kmadd(gyyL,gamma211,kmul(gyzL,gamma311))),kmul(kmadd(gxzL,gamma111,kmadd(gyzL,gamma211,kmul(gzzL,gamma311))),gamma333))),ksub(kadd(JacPDstandard13gxz,ksub(JacPDstandard31gxz,JacPDstandard33gxx)),JacPDstandard11gzz))),ToReal(0.5));
CCTK_REAL_VEC R1323 CCTK_ATTRIBUTE_UNUSED =
- kmul(ToReal(0.5),kadd(JacPDstandard23gxz,kadd(JacPDstandard31gyz,kmadd(kmadd(gamma133,kmadd(gxxL,gamma121,kmadd(gxyL,gamma221,kmul(gxzL,gamma321))),kmadd(gamma233,kmadd(gxyL,gamma121,kmadd(gyyL,gamma221,kmul(gyzL,gamma321))),kmul(kmadd(gxzL,gamma121,kmadd(gyzL,gamma221,kmul(gzzL,gamma321))),gamma333))),ToReal(-2),ksub(kmsub(kmadd(gamma132,kmadd(gxxL,gamma131,kmadd(gxyL,gamma231,kmul(gxzL,gamma331))),kmadd(gamma232,kmadd(gxyL,gamma131,kmadd(gyyL,gamma231,kmul(gyzL,gamma331))),kmul(kmadd(gxzL,gamma131,kmadd(gyzL,gamma231,kmul(gzzL,gamma331))),gamma332))),ToReal(2),JacPDstandard33gxy),JacPDstandard12gzz)))));
+ kmul(kmadd(ToReal(2),kmadd(gamma132,kmadd(gxxL,gamma131,kmadd(gxyL,gamma231,kmul(gxzL,gamma331))),kmadd(gamma232,kmadd(gxyL,gamma131,kmadd(gyyL,gamma231,kmul(gyzL,gamma331))),kmul(kmadd(gxzL,gamma131,kmadd(gyzL,gamma231,kmul(gzzL,gamma331))),gamma332))),kmadd(ToReal(-2),kmadd(gamma133,kmadd(gxxL,gamma121,kmadd(gxyL,gamma221,kmul(gxzL,gamma321))),kmadd(gamma233,kmadd(gxyL,gamma121,kmadd(gyyL,gamma221,kmul(gyzL,gamma321))),kmul(kmadd(gxzL,gamma121,kmadd(gyzL,gamma221,kmul(gzzL,gamma321))),gamma333))),ksub(kadd(JacPDstandard23gxz,ksub(JacPDstandard31gyz,JacPDstandard33gxy)),JacPDstandard12gzz))),ToReal(0.5));
CCTK_REAL_VEC R2323 CCTK_ATTRIBUTE_UNUSED =
- kmul(ToReal(0.5),kadd(JacPDstandard23gyz,kadd(JacPDstandard32gyz,kmadd(kmadd(gamma133,kmadd(gxxL,gamma122,kmadd(gxyL,gamma222,kmul(gxzL,gamma322))),kmadd(gamma233,kmadd(gxyL,gamma122,kmadd(gyyL,gamma222,kmul(gyzL,gamma322))),kmul(kmadd(gxzL,gamma122,kmadd(gyzL,gamma222,kmul(gzzL,gamma322))),gamma333))),ToReal(-2),ksub(kmsub(kmadd(gamma132,kmadd(gxxL,gamma132,kmadd(gxyL,gamma232,kmul(gxzL,gamma332))),kmadd(gamma232,kmadd(gxyL,gamma132,kmadd(gyyL,gamma232,kmul(gyzL,gamma332))),kmul(gamma332,kmadd(gxzL,gamma132,kmadd(gyzL,gamma232,kmul(gzzL,gamma332)))))),ToReal(2),JacPDstandard33gyy),JacPDstandard22gzz)))));
+ kmul(kmadd(ToReal(2),kmadd(gamma132,kmadd(gxxL,gamma132,kmadd(gxyL,gamma232,kmul(gxzL,gamma332))),kmadd(gamma232,kmadd(gxyL,gamma132,kmadd(gyyL,gamma232,kmul(gyzL,gamma332))),kmul(gamma332,kmadd(gxzL,gamma132,kmadd(gyzL,gamma232,kmul(gzzL,gamma332)))))),kmadd(ToReal(-2),kmadd(gamma133,kmadd(gxxL,gamma122,kmadd(gxyL,gamma222,kmul(gxzL,gamma322))),kmadd(gamma233,kmadd(gxyL,gamma122,kmadd(gyyL,gamma222,kmul(gyzL,gamma322))),kmul(kmadd(gxzL,gamma122,kmadd(gyzL,gamma222,kmul(gzzL,gamma322))),gamma333))),ksub(kadd(JacPDstandard23gyz,ksub(JacPDstandard32gyz,JacPDstandard33gyy)),JacPDstandard22gzz))),ToReal(0.5));
CCTK_REAL_VEC R4p1212 CCTK_ATTRIBUTE_UNUSED =
kmadd(kxxL,kyyL,knmsub(kxyL,kxyL,R1212));
CCTK_REAL_VEC R4p1213 CCTK_ATTRIBUTE_UNUSED =
- kmadd(kxxL,kyzL,knmsub(kxyL,kxzL,R1213));
+ knmsub(kxyL,kxzL,kmadd(kxxL,kyzL,R1213));
CCTK_REAL_VEC R4p1223 CCTK_ATTRIBUTE_UNUSED =
- kmadd(kxyL,kyzL,knmsub(kxzL,kyyL,R1223));
+ knmsub(kxzL,kyyL,kmadd(kxyL,kyzL,R1223));
CCTK_REAL_VEC R4p1313 CCTK_ATTRIBUTE_UNUSED =
kmadd(kxxL,kzzL,knmsub(kxzL,kxzL,R1313));
CCTK_REAL_VEC R4p1323 CCTK_ATTRIBUTE_UNUSED =
- kmadd(kxyL,kzzL,knmsub(kxzL,kyzL,R1323));
+ knmsub(kxzL,kyzL,kmadd(kxyL,kzzL,R1323));
CCTK_REAL_VEC R4p2323 CCTK_ATTRIBUTE_UNUSED =
kmadd(kyyL,kzzL,knmsub(kyzL,kyzL,R2323));
@@ -1254,132 +1275,131 @@ static void WeylScal4_psis_calc_Nth_Body(const cGH* restrict const cctkGH, const
CCTK_REAL_VEC Ro111 CCTK_ATTRIBUTE_UNUSED = ToReal(0);
CCTK_REAL_VEC Ro112 CCTK_ATTRIBUTE_UNUSED =
- kmadd(kxxL,gamma121,kmadd(kxzL,gamma321,kadd(JacPDstandard1kxy,knmsub(kyyL,gamma211,knmsub(kyzL,gamma311,kmsub(kxyL,ksub(gamma221,gamma111),JacPDstandard2kxx))))));
+ kmadd(kxxL,gamma121,knmsub(kyyL,gamma211,kmadd(kxyL,ksub(gamma221,gamma111),knmsub(kyzL,gamma311,kmadd(kxzL,gamma321,ksub(JacPDstandard1kxy,JacPDstandard2kxx))))));
CCTK_REAL_VEC Ro113 CCTK_ATTRIBUTE_UNUSED =
- kmadd(kxxL,gamma131,kmadd(kxyL,gamma231,kadd(JacPDstandard1kxz,knmsub(kyzL,gamma211,knmsub(kzzL,gamma311,kmsub(kxzL,ksub(gamma331,gamma111),JacPDstandard3kxx))))));
+ kmadd(kxxL,gamma131,knmsub(kyzL,gamma211,kmadd(kxyL,gamma231,knmsub(kzzL,gamma311,kmadd(kxzL,ksub(gamma331,gamma111),ksub(JacPDstandard1kxz,JacPDstandard3kxx))))));
CCTK_REAL_VEC Ro121 CCTK_ATTRIBUTE_UNUSED =
- kmadd(kyyL,gamma211,kmadd(kyzL,gamma311,kadd(JacPDstandard2kxx,knmsub(kxxL,gamma121,knmsub(kxzL,gamma321,kmsub(kxyL,ksub(gamma111,gamma221),JacPDstandard1kxy))))));
+ knmsub(kxxL,gamma121,kmadd(kyyL,gamma211,kmadd(kxyL,ksub(gamma111,gamma221),kmadd(kyzL,gamma311,knmsub(kxzL,gamma321,ksub(JacPDstandard2kxx,JacPDstandard1kxy))))));
CCTK_REAL_VEC Ro122 CCTK_ATTRIBUTE_UNUSED = ToReal(0);
CCTK_REAL_VEC Ro123 CCTK_ATTRIBUTE_UNUSED =
- kmadd(kxyL,gamma131,kmadd(kyyL,gamma231,kadd(JacPDstandard2kxz,knmsub(kxzL,gamma121,knmsub(kzzL,gamma321,kmsub(kyzL,ksub(gamma331,gamma221),JacPDstandard3kxy))))));
+ knmsub(kxzL,gamma121,kmadd(kxyL,gamma131,kmadd(kyyL,gamma231,knmsub(kzzL,gamma321,kmadd(kyzL,ksub(gamma331,gamma221),ksub(JacPDstandard2kxz,JacPDstandard3kxy))))));
CCTK_REAL_VEC Ro131 CCTK_ATTRIBUTE_UNUSED =
- kmadd(kyzL,gamma211,kmadd(kzzL,gamma311,kadd(JacPDstandard3kxx,knmsub(kxxL,gamma131,knmsub(kxyL,gamma231,kmsub(kxzL,ksub(gamma111,gamma331),JacPDstandard1kxz))))));
+ knmsub(kxxL,gamma131,kmadd(kyzL,gamma211,knmsub(kxyL,gamma231,kmadd(kzzL,gamma311,kmadd(kxzL,ksub(gamma111,gamma331),ksub(JacPDstandard3kxx,JacPDstandard1kxz))))));
CCTK_REAL_VEC Ro132 CCTK_ATTRIBUTE_UNUSED =
- kmadd(kxzL,gamma121,kmadd(kzzL,gamma321,kadd(JacPDstandard3kxy,knmsub(kxyL,gamma131,knmsub(kyyL,gamma231,kmsub(kyzL,ksub(gamma221,gamma331),JacPDstandard2kxz))))));
+ kmadd(kxzL,gamma121,knmsub(kxyL,gamma131,knmsub(kyyL,gamma231,kmadd(kzzL,gamma321,kmadd(kyzL,ksub(gamma221,gamma331),ksub(JacPDstandard3kxy,JacPDstandard2kxz))))));
CCTK_REAL_VEC Ro133 CCTK_ATTRIBUTE_UNUSED = ToReal(0);
CCTK_REAL_VEC Ro211 CCTK_ATTRIBUTE_UNUSED = ToReal(0);
CCTK_REAL_VEC Ro212 CCTK_ATTRIBUTE_UNUSED =
- kmadd(kxxL,gamma122,kmadd(kxzL,gamma322,kadd(JacPDstandard1kyy,knmsub(kyyL,gamma221,knmsub(kyzL,gamma321,kmsub(kxyL,ksub(gamma222,gamma121),JacPDstandard2kxy))))));
+ kmadd(kxxL,gamma122,knmsub(kyyL,gamma221,kmadd(kxyL,ksub(gamma222,gamma121),knmsub(kyzL,gamma321,kmadd(kxzL,gamma322,ksub(JacPDstandard1kyy,JacPDstandard2kxy))))));
CCTK_REAL_VEC Ro213 CCTK_ATTRIBUTE_UNUSED =
- kmadd(kxxL,gamma132,kmadd(kxyL,gamma232,kadd(JacPDstandard1kyz,knmsub(kyzL,gamma221,knmsub(kzzL,gamma321,kmsub(kxzL,ksub(gamma332,gamma121),JacPDstandard3kxy))))));
+ kmadd(kxxL,gamma132,knmsub(kyzL,gamma221,kmadd(kxyL,gamma232,knmsub(kzzL,gamma321,kmadd(kxzL,ksub(gamma332,gamma121),ksub(JacPDstandard1kyz,JacPDstandard3kxy))))));
CCTK_REAL_VEC Ro221 CCTK_ATTRIBUTE_UNUSED =
- kmadd(kyyL,gamma221,kmadd(kyzL,gamma321,kadd(JacPDstandard2kxy,knmsub(kxxL,gamma122,knmsub(kxzL,gamma322,kmsub(kxyL,ksub(gamma121,gamma222),JacPDstandard1kyy))))));
+ knmsub(kxxL,gamma122,kmadd(kyyL,gamma221,kmadd(kxyL,ksub(gamma121,gamma222),kmadd(kyzL,gamma321,knmsub(kxzL,gamma322,ksub(JacPDstandard2kxy,JacPDstandard1kyy))))));
CCTK_REAL_VEC Ro222 CCTK_ATTRIBUTE_UNUSED = ToReal(0);
CCTK_REAL_VEC Ro223 CCTK_ATTRIBUTE_UNUSED =
- kmadd(kxyL,gamma132,kmadd(kyyL,gamma232,kadd(JacPDstandard2kyz,knmsub(kxzL,gamma122,knmsub(kzzL,gamma322,kmsub(kyzL,ksub(gamma332,gamma222),JacPDstandard3kyy))))));
+ knmsub(kxzL,gamma122,kmadd(kxyL,gamma132,kmadd(kyyL,gamma232,knmsub(kzzL,gamma322,kmadd(kyzL,ksub(gamma332,gamma222),ksub(JacPDstandard2kyz,JacPDstandard3kyy))))));
CCTK_REAL_VEC Ro231 CCTK_ATTRIBUTE_UNUSED =
- kmadd(kyzL,gamma221,kmadd(kzzL,gamma321,kadd(JacPDstandard3kxy,knmsub(kxxL,gamma132,knmsub(kxyL,gamma232,kmsub(kxzL,ksub(gamma121,gamma332),JacPDstandard1kyz))))));
+ knmsub(kxxL,gamma132,kmadd(kyzL,gamma221,knmsub(kxyL,gamma232,kmadd(kzzL,gamma321,kmadd(kxzL,ksub(gamma121,gamma332),ksub(JacPDstandard3kxy,JacPDstandard1kyz))))));
CCTK_REAL_VEC Ro232 CCTK_ATTRIBUTE_UNUSED =
- kmadd(kxzL,gamma122,kmadd(kzzL,gamma322,kadd(JacPDstandard3kyy,knmsub(kxyL,gamma132,knmsub(kyyL,gamma232,kmsub(kyzL,ksub(gamma222,gamma332),JacPDstandard2kyz))))));
+ kmadd(kxzL,gamma122,knmsub(kxyL,gamma132,knmsub(kyyL,gamma232,kmadd(kzzL,gamma322,kmadd(kyzL,ksub(gamma222,gamma332),ksub(JacPDstandard3kyy,JacPDstandard2kyz))))));
CCTK_REAL_VEC Ro233 CCTK_ATTRIBUTE_UNUSED = ToReal(0);
CCTK_REAL_VEC Ro311 CCTK_ATTRIBUTE_UNUSED = ToReal(0);
CCTK_REAL_VEC Ro312 CCTK_ATTRIBUTE_UNUSED =
- kmadd(kxxL,gamma132,kmadd(kxzL,gamma332,kadd(JacPDstandard1kyz,knmsub(kyyL,gamma231,knmsub(kyzL,gamma331,kmsub(kxyL,ksub(gamma232,gamma131),JacPDstandard2kxz))))));
+ kmadd(kxxL,gamma132,knmsub(kyyL,gamma231,kmadd(kxyL,ksub(gamma232,gamma131),knmsub(kyzL,gamma331,kmadd(kxzL,gamma332,ksub(JacPDstandard1kyz,JacPDstandard2kxz))))));
CCTK_REAL_VEC Ro313 CCTK_ATTRIBUTE_UNUSED =
- kmadd(kxxL,gamma133,kmadd(kxyL,gamma233,kadd(JacPDstandard1kzz,knmsub(kyzL,gamma231,knmsub(kzzL,gamma331,kmsub(kxzL,ksub(gamma333,gamma131),JacPDstandard3kxz))))));
+ kmadd(kxxL,gamma133,knmsub(kyzL,gamma231,kmadd(kxyL,gamma233,knmsub(kzzL,gamma331,kmadd(kxzL,ksub(gamma333,gamma131),ksub(JacPDstandard1kzz,JacPDstandard3kxz))))));
CCTK_REAL_VEC Ro321 CCTK_ATTRIBUTE_UNUSED =
- kmadd(kyyL,gamma231,kmadd(kyzL,gamma331,kadd(JacPDstandard2kxz,knmsub(kxxL,gamma132,knmsub(kxzL,gamma332,kmsub(kxyL,ksub(gamma131,gamma232),JacPDstandard1kyz))))));
+ knmsub(kxxL,gamma132,kmadd(kyyL,gamma231,kmadd(kxyL,ksub(gamma131,gamma232),kmadd(kyzL,gamma331,knmsub(kxzL,gamma332,ksub(JacPDstandard2kxz,JacPDstandard1kyz))))));
CCTK_REAL_VEC Ro322 CCTK_ATTRIBUTE_UNUSED = ToReal(0);
CCTK_REAL_VEC Ro323 CCTK_ATTRIBUTE_UNUSED =
- kmadd(kxyL,gamma133,kmadd(kyyL,gamma233,kadd(JacPDstandard2kzz,knmsub(kxzL,gamma132,knmsub(kzzL,gamma332,kmsub(kyzL,ksub(gamma333,gamma232),JacPDstandard3kyz))))));
+ knmsub(kxzL,gamma132,kmadd(kxyL,gamma133,kmadd(kyyL,gamma233,knmsub(kzzL,gamma332,kmadd(kyzL,ksub(gamma333,gamma232),ksub(JacPDstandard2kzz,JacPDstandard3kyz))))));
CCTK_REAL_VEC Ro331 CCTK_ATTRIBUTE_UNUSED =
- kmadd(kyzL,gamma231,kmadd(kzzL,gamma331,kadd(JacPDstandard3kxz,knmsub(kxxL,gamma133,knmsub(kxyL,gamma233,kmsub(kxzL,ksub(gamma131,gamma333),JacPDstandard1kzz))))));
+ knmsub(kxxL,gamma133,kmadd(kyzL,gamma231,knmsub(kxyL,gamma233,kmadd(kzzL,gamma331,kmadd(kxzL,ksub(gamma131,gamma333),ksub(JacPDstandard3kxz,JacPDstandard1kzz))))));
CCTK_REAL_VEC Ro332 CCTK_ATTRIBUTE_UNUSED =
- kmadd(kxzL,gamma132,kmadd(kzzL,gamma332,kadd(JacPDstandard3kyz,knmsub(kxyL,gamma133,knmsub(kyyL,gamma233,kmsub(kyzL,ksub(gamma232,gamma333),JacPDstandard2kzz))))));
+ kmadd(kxzL,gamma132,knmsub(kxyL,gamma133,knmsub(kyyL,gamma233,kmadd(kzzL,gamma332,kmadd(kyzL,ksub(gamma232,gamma333),ksub(JacPDstandard3kyz,JacPDstandard2kzz))))));
CCTK_REAL_VEC Ro333 CCTK_ATTRIBUTE_UNUSED = ToReal(0);
CCTK_REAL_VEC Rojo11 CCTK_ATTRIBUTE_UNUSED =
- kmadd(kadd(gInv23,gInv32),kmadd(kxxL,kyzL,knmsub(kxyL,kxzL,R1213)),kmadd(gInv22,kmadd(kxxL,kyyL,knmsub(kxyL,kxyL,R1212)),kmul(gInv33,kmadd(kxxL,kzzL,knmsub(kxzL,kxzL,R1313)))));
+ kmadd(kadd(gInv23,gInv32),knmsub(kxyL,kxzL,kmadd(kxxL,kyzL,R1213)),kmadd(gInv22,kmadd(kxxL,kyyL,knmsub(kxyL,kxyL,R1212)),kmul(gInv33,kmadd(kxxL,kzzL,knmsub(kxzL,kxzL,R1313)))));
CCTK_REAL_VEC Rojo12 CCTK_ATTRIBUTE_UNUSED =
- kmadd(gInv23,R1223,knmsub(gInv21,R1212,knmsub(gInv31,R1213,kmadd(gInv12,kmsub(kxyL,kxyL,kmul(kxxL,kyyL)),kmadd(gInv32,kmsub(kxyL,kyzL,kmul(kxzL,kyyL)),kmadd(gInv13,kmsub(kxyL,kxzL,kmul(kxxL,kyzL)),kmul(gInv33,kmadd(kxyL,kzzL,knmsub(kxzL,kyzL,R1323)))))))));
+ kmadd(kmsub(kxyL,kxzL,kmul(kxxL,kyzL)),gInv13,kmadd(kmsub(kxyL,kyzL,kmul(kxzL,kyyL)),gInv32,knmsub(gInv21,R1212,knmsub(gInv31,R1213,kmadd(gInv23,R1223,kmadd(gInv33,knmsub(kxzL,kyzL,kmadd(kxyL,kzzL,R1323)),kmul(gInv12,kmsub(kxyL,kxyL,kmul(kxxL,kyyL)))))))));
CCTK_REAL_VEC Rojo13 CCTK_ATTRIBUTE_UNUSED =
- kmadd(kxzL,kmul(kyzL,gInv23),kmadd(gInv13,kmul(kxzL,kxzL),knmsub(gInv21,R1213,knmsub(gInv31,R1313,knmsub(gInv32,R1323,kmadd(gInv12,kmsub(kxyL,kxzL,kmul(kxxL,kyzL)),kmsub(gInv22,kmsub(kxzL,kyyL,kmadd(kxyL,kyzL,R1223)),kmul(kzzL,kmadd(kxyL,gInv23,kmul(kxxL,gInv13))))))))));
+ kmadd(kmsub(kxyL,kxzL,kmul(kxxL,kyzL)),gInv12,kmadd(kmsub(kxzL,kyzL,kmul(kxyL,kzzL)),gInv23,knmsub(gInv21,R1213,kmadd(gInv22,kmsub(kxzL,kyyL,kmadd(kxyL,kyzL,R1223)),knmsub(gInv31,R1313,kmsub(gInv13,kmsub(kxzL,kxzL,kmul(kxxL,kzzL)),kmul(gInv32,R1323)))))));
CCTK_REAL_VEC Rojo21 CCTK_ATTRIBUTE_UNUSED =
- kmadd(gInv32,R1223,knmsub(gInv12,R1212,knmsub(gInv13,R1213,kmadd(gInv21,kmsub(kxyL,kxyL,kmul(kxxL,kyyL)),kmadd(gInv23,kmsub(kxyL,kyzL,kmul(kxzL,kyyL)),kmadd(gInv31,kmsub(kxyL,kxzL,kmul(kxxL,kyzL)),kmul(gInv33,kmadd(kxyL,kzzL,knmsub(kxzL,kyzL,R1323)))))))));
+ kmadd(kmsub(kxyL,kyzL,kmul(kxzL,kyyL)),gInv23,kmadd(kmsub(kxyL,kxzL,kmul(kxxL,kyzL)),gInv31,knmsub(gInv12,R1212,knmsub(gInv13,R1213,kmadd(gInv32,R1223,kmadd(gInv33,knmsub(kxzL,kyzL,kmadd(kxyL,kzzL,R1323)),kmul(gInv21,kmsub(kxyL,kxyL,kmul(kxxL,kyyL)))))))));
CCTK_REAL_VEC Rojo22 CCTK_ATTRIBUTE_UNUSED =
kmadd(kadd(gInv13,gInv31),kmsub(kxzL,kyyL,kmadd(kxyL,kyzL,R1223)),kmadd(gInv11,kmadd(kxxL,kyyL,knmsub(kxyL,kxyL,R1212)),kmul(gInv33,kmadd(kyyL,kzzL,knmsub(kyzL,kyzL,R2323)))));
CCTK_REAL_VEC Rojo23 CCTK_ATTRIBUTE_UNUSED =
- kmadd(gInv12,R1223,knmsub(gInv31,R1323,knmsub(gInv32,R2323,kmadd(gInv11,kmadd(kxxL,kyzL,knmsub(kxyL,kxzL,R1213)),kmadd(gInv21,kmsub(kxyL,kyzL,kmul(kxzL,kyyL)),kmadd(gInv13,kmsub(kxzL,kyzL,kmul(kxyL,kzzL)),kmul(gInv23,kmsub(kyzL,kyzL,kmul(kyyL,kzzL)))))))));
+ kmadd(kmsub(kxzL,kyzL,kmul(kxyL,kzzL)),gInv13,kmadd(kmsub(kxyL,kyzL,kmul(kxzL,kyyL)),gInv21,kmadd(gInv11,knmsub(kxyL,kxzL,kmadd(kxxL,kyzL,R1213)),kmadd(gInv12,R1223,knmsub(gInv31,R1323,kmsub(gInv23,kmsub(kyzL,kyzL,kmul(kyyL,kzzL)),kmul(gInv32,R2323)))))));
CCTK_REAL_VEC Rojo31 CCTK_ATTRIBUTE_UNUSED =
- kmadd(kxzL,kmul(kyzL,gInv32),kmadd(gInv31,kmul(kxzL,kxzL),knmsub(gInv12,R1213,knmsub(gInv13,R1313,knmsub(gInv23,R1323,kmadd(gInv21,kmsub(kxyL,kxzL,kmul(kxxL,kyzL)),kmsub(gInv22,kmsub(kxzL,kyyL,kmadd(kxyL,kyzL,R1223)),kmul(kzzL,kmadd(kxyL,gInv32,kmul(kxxL,gInv31))))))))));
+ kmadd(kmsub(kxyL,kxzL,kmul(kxxL,kyzL)),gInv21,kmadd(kmsub(kxzL,kyzL,kmul(kxyL,kzzL)),gInv32,knmsub(gInv12,R1213,kmadd(gInv22,kmsub(kxzL,kyyL,kmadd(kxyL,kyzL,R1223)),knmsub(gInv13,R1313,kmsub(gInv31,kmsub(kxzL,kxzL,kmul(kxxL,kzzL)),kmul(gInv23,R1323)))))));
CCTK_REAL_VEC Rojo32 CCTK_ATTRIBUTE_UNUSED =
- kmadd(gInv21,R1223,knmsub(gInv13,R1323,knmsub(gInv23,R2323,kmadd(gInv11,kmadd(kxxL,kyzL,knmsub(kxyL,kxzL,R1213)),kmadd(gInv12,kmsub(kxyL,kyzL,kmul(kxzL,kyyL)),kmadd(gInv31,kmsub(kxzL,kyzL,kmul(kxyL,kzzL)),kmul(gInv32,kmsub(kyzL,kyzL,kmul(kyyL,kzzL)))))))));
+ kmadd(kmsub(kxyL,kyzL,kmul(kxzL,kyyL)),gInv12,kmadd(kmsub(kxzL,kyzL,kmul(kxyL,kzzL)),gInv31,kmadd(gInv11,knmsub(kxyL,kxzL,kmadd(kxxL,kyzL,R1213)),kmadd(gInv21,R1223,knmsub(gInv13,R1323,kmsub(gInv32,kmsub(kyzL,kyzL,kmul(kyyL,kzzL)),kmul(gInv23,R2323)))))));
CCTK_REAL_VEC Rojo33 CCTK_ATTRIBUTE_UNUSED =
- kmadd(kadd(gInv12,gInv21),kmadd(kxyL,kzzL,knmsub(kxzL,kyzL,R1323)),kmadd(gInv11,kmadd(kxxL,kzzL,knmsub(kxzL,kxzL,R1313)),kmul(gInv22,kmadd(kyyL,kzzL,knmsub(kyzL,kyzL,R2323)))));
+ kmadd(kadd(gInv12,gInv21),knmsub(kxzL,kyzL,kmadd(kxyL,kzzL,R1323)),kmadd(gInv11,kmadd(kxxL,kzzL,knmsub(kxzL,kxzL,R1313)),kmul(gInv22,kmadd(kyyL,kzzL,knmsub(kyzL,kyzL,R2323)))));
CCTK_REAL_VEC Psi4rL CCTK_ATTRIBUTE_UNUSED =
- knmsub(kmadd(R4p1212,kmul(n1,n1),kmadd(R4p2323,kmul(n3,n3),kmul(n1,kmul(n3,kmul(R4p1223,ToReal(-2)))))),kmsub(imbar2,imbar2,kmul(rmbar2,rmbar2)),knmsub(kmul(nn,nn),kmadd(imbar1,kmadd(imbar2,kadd(Rojo12,Rojo21),kmul(imbar3,kadd(Rojo13,Rojo31))),knmsub(rmbar1,kmadd(rmbar2,kadd(Rojo12,Rojo21),kmul(rmbar3,kadd(Rojo13,Rojo31))),kmadd(Rojo23,kmsub(imbar2,imbar3,kmul(rmbar2,rmbar3)),kmadd(Rojo32,kmsub(imbar2,imbar3,kmul(rmbar2,rmbar3)),kmadd(Rojo11,kmsub(imbar1,imbar1,kmul(rmbar1,rmbar1)),kmadd(Rojo22,kmsub(imbar2,imbar2,kmul(rmbar2,rmbar2)),kmul(Rojo33,kmsub(imbar3,imbar3,kmul(rmbar3,rmbar3))))))))),kmsub(kmadd(kmsub(n1,kmadd(n2,R4p1212,kmul(n3,R4p1213)),kmul(n3,kmadd(n2,R4p1223,kmul(n3,R4p1323)))),kmsub(imbar1,imbar2,kmul(rmbar1,rmbar2)),kmadd(kmadd(n1,kmul(n2,R4p1213),kmadd(n1,kmul(n3,R4p1313),kmadd(n2,kmul(n3,R4p1323),kmul(R4p1223,kmul(n2,n2))))),kmsub(imbar1,imbar3,kmul(rmbar1,rmbar3)),kmadd(kmsub(rmbar2,rmbar3,kmul(imbar2,imbar3)),kmadd(R4p1213,kmul(n1,n1),kmsub(n1,kmsub(n2,R4p1223,kmul(n3,R4p1323)),kmul(n2,kmul(n3,R4p2323)))),kmul(nn,kmadd(kmadd(n1,Ro112,kmadd(n2,Ro122,kmul(n3,Ro132))),kmsub(rmbar1,rmbar2,kmul(imbar1,imbar2)),kmadd(kmadd(n1,Ro211,kmadd(n2,Ro221,kmul(n3,Ro231))),kmsub(rmbar1,rmbar2,kmul(imbar1,imbar2)),kmadd(kmadd(n1,Ro113,kmadd(n2,Ro123,kmul(n3,Ro133))),kmsub(rmbar1,rmbar3,kmul(imbar1,imbar3)),kmadd(kmadd(n1,Ro311,kmadd(n2,Ro321,kmul(n3,Ro331))),kmsub(rmbar1,rmbar3,kmul(imbar1,imbar3)),kmadd(kmadd(n1,Ro213,kmadd(n2,Ro223,kmul(n3,Ro233))),kmsub(rmbar2,rmbar3,kmul(imbar2,imbar3)),kmadd(kmadd(n1,Ro312,kmadd(n2,Ro322,kmul(n3,Ro332))),kmsub(rmbar2,rmbar3,kmul(imbar2,imbar3)),kmadd(kmadd(n1,Ro111,kmadd(n2,Ro121,kmul(n3,Ro131))),kmsub(rmbar1,rmbar1,kmul(imbar1,imbar1)),kmadd(kmadd(n1,Ro212,kmadd(n2,Ro222,kmul(n3,Ro232))),kmsub(rmbar2,rmbar2,kmul(imbar2,imbar2)),kmul(kmadd(n1,Ro313,kmadd(n2,Ro323,kmul(n3,Ro333))),kmsub(rmbar3,rmbar3,kmul(imbar3,imbar3))))))))))))))),ToReal(2),kmadd(kmsub(imbar3,imbar3,kmul(rmbar3,rmbar3)),kmadd(R4p1313,kmul(n1,n1),kmadd(R4p2323,kmul(n2,n2),kmul(n1,kmul(n2,kmul(R4p1323,ToReal(2)))))),kmul(kmsub(imbar1,imbar1,kmul(rmbar1,rmbar1)),kmadd(R4p1212,kmul(n2,n2),kmadd(R4p1313,kmul(n3,n3),kmul(n2,kmul(n3,kmul(R4p1213,ToReal(2)))))))))));
+ kmadd(ToReal(2),kmul(kmsub(imbar1,imbar2,kmul(rmbar1,rmbar2)),kmsub(n1,kmadd(n2,R4p1212,kmul(n3,R4p1213)),kmul(n3,kmadd(n2,R4p1223,kmul(n3,R4p1323))))),kmadd(ToReal(2),kmul(kmadd(n1,kmsub(n2,R4p1223,kmul(n3,R4p1323)),kmsub(R4p1213,kmul(n1,n1),kmul(n2,kmul(n3,R4p2323)))),kmsub(rmbar2,rmbar3,kmul(imbar2,imbar3))),kmadd(ToReal(2),kmul(kmadd(n1,kmul(n2,R4p1213),kmadd(n1,kmul(n3,R4p1313),kmadd(n2,kmul(n3,R4p1323),kmul(R4p1223,kmul(n2,n2))))),kmsub(imbar1,imbar3,kmul(rmbar1,rmbar3))),knmsub(kmadd(ToReal(2),kmul(n2,kmul(n3,R4p1213)),kmadd(R4p1212,kmul(n2,n2),kmul(R4p1313,kmul(n3,n3)))),kmsub(imbar1,imbar1,kmul(rmbar1,rmbar1)),knmsub(kmadd(ToReal(-2),kmul(n1,kmul(n3,R4p1223)),kmadd(R4p1212,kmul(n1,n1),kmul(R4p2323,kmul(n3,n3)))),kmsub(imbar2,imbar2,kmul(rmbar2,rmbar2)),knmsub(kmul(nn,nn),kmadd(kmsub(imbar2,imbar3,kmul(rmbar2,rmbar3)),Rojo23,kmadd(imbar1,kmadd(imbar2,kadd(Rojo12,Rojo21),kmul(imbar3,kadd(Rojo13,Rojo31))),knmsub(rmbar1,kmadd(rmbar2,kadd(Rojo12,Rojo21),kmul(rmbar3,kadd(Rojo13,Rojo31))),kmadd(kmsub(imbar2,imbar3,kmul(rmbar2,rmbar3)),Rojo32,kmadd(Rojo11,kmsub(imbar1,imbar1,kmul(rmbar1,rmbar1)),kmadd(Rojo22,kmsub(imbar2,imbar2,kmul(rmbar2,rmbar2)),kmul(Rojo33,kmsub(imbar3,imbar3,kmul(rmbar3,rmbar3))))))))),kmsub(ToReal(2),kmul(nn,kmadd(kmsub(rmbar1,rmbar2,kmul(imbar1,imbar2)),kmadd(n1,Ro112,kmadd(n2,Ro122,kmul(n3,Ro132))),kmadd(kmsub(rmbar1,rmbar3,kmul(imbar1,imbar3)),kmadd(n1,Ro113,kmadd(n2,Ro123,kmul(n3,Ro133))),kmadd(kmsub(rmbar1,rmbar2,kmul(imbar1,imbar2)),kmadd(n1,Ro211,kmadd(n2,Ro221,kmul(n3,Ro231))),kmadd(kmsub(rmbar2,rmbar3,kmul(imbar2,imbar3)),kmadd(n1,Ro213,kmadd(n2,Ro223,kmul(n3,Ro233))),kmadd(kmsub(rmbar1,rmbar3,kmul(imbar1,imbar3)),kmadd(n1,Ro311,kmadd(n2,Ro321,kmul(n3,Ro331))),kmadd(kmsub(rmbar2,rmbar3,kmul(imbar2,imbar3)),kmadd(n1,Ro312,kmadd(n2,Ro322,kmul(n3,Ro332))),kmadd(kmadd(n1,Ro111,kmadd(n2,Ro121,kmul(n3,Ro131))),kmsub(rmbar1,rmbar1,kmul(imbar1,imbar1)),kmadd(kmadd(n1,Ro212,kmadd(n2,Ro222,kmul(n3,Ro232))),kmsub(rmbar2,rmbar2,kmul(imbar2,imbar2)),kmul(kmadd(n1,Ro313,kmadd(n2,Ro323,kmul(n3,Ro333))),kmsub(rmbar3,rmbar3,kmul(imbar3,imbar3)))))))))))),kmul(kmadd(ToReal(2),kmul(n1,kmul(n2,R4p1323)),kmadd(R4p1313,kmul(n1,n1),kmul(R4p2323,kmul(n2,n2)))),kmsub(imbar3,imbar3,kmul(rmbar3,rmbar3))))))))));
CCTK_REAL_VEC Psi4iL CCTK_ATTRIBUTE_UNUSED =
- kmadd(kmadd(kmadd(im3,rm1,kmul(im1,rm3)),kmadd(n1,kmadd(n2,R4p1213,kmul(n3,R4p1313)),kmadd(n2,kmul(n3,R4p1323),kmul(R4p1223,kmul(n2,n2)))),kmadd(kmadd(im2,rm1,kmul(im1,rm2)),kmsub(n1,kmadd(n2,R4p1212,kmul(n3,R4p1213)),kmul(n3,kmadd(n2,R4p1223,kmul(n3,R4p1323)))),kmul(nn,kmadd(kmadd(im1,kmul(rm1,kmadd(n1,Ro111,kmadd(n2,Ro121,kmul(n3,Ro131)))),kmul(im2,kmul(rm2,kmadd(n1,Ro212,kmadd(n2,Ro222,kmul(n3,Ro232)))))),ToReal(-2),kmsub(im3,kmul(rm3,kmul(kmadd(n1,Ro313,kmadd(n2,Ro323,kmul(n3,Ro333))),ToReal(-2))),kmadd(kmadd(im2,rm1,kmul(im1,rm2)),kmadd(n1,kadd(Ro211,Ro112),kmadd(n3,kadd(Ro231,Ro132),kmul(n2,kadd(Ro221,Ro122)))),kmadd(kmadd(im3,rm2,kmul(im2,rm3)),kmadd(n1,kadd(Ro312,Ro213),kmadd(n3,kadd(Ro332,Ro233),kmul(n2,kadd(Ro322,Ro223)))),kmul(kmadd(im3,rm1,kmul(im1,rm3)),kmadd(n1,kadd(Ro311,Ro113),kmadd(n3,kadd(Ro331,Ro133),kmul(n2,kadd(Ro321,Ro123)))))))))))),ToReal(2),kmsub(ToReal(-2),kmadd(im2,kmul(rm2,kmadd(R4p1212,kmul(n1,n1),kmadd(R4p2323,kmul(n3,n3),kmul(n1,kmul(n3,kmul(R4p1223,ToReal(-2))))))),kmadd(kmadd(im3,rm2,kmul(im2,rm3)),kmadd(R4p1213,kmul(n1,n1),kmsub(n1,kmsub(n2,R4p1223,kmul(n3,R4p1323)),kmul(n2,kmul(n3,R4p2323)))),kmadd(im1,kmul(rm1,kmadd(R4p1212,kmul(n2,n2),kmadd(R4p1313,kmul(n3,n3),kmul(n2,kmul(n3,kmul(R4p1213,ToReal(2))))))),kmul(im3,kmul(rm3,kmadd(R4p1313,kmul(n1,n1),kmadd(R4p2323,kmul(n2,n2),kmul(n1,kmul(n2,kmul(R4p1323,ToReal(2))))))))))),kmul(kmul(nn,nn),kmadd(im1,kmadd(rm2,kadd(Rojo12,Rojo21),kmadd(rm3,kadd(Rojo13,Rojo31),kmul(rm1,kmul(Rojo11,ToReal(2))))),kmadd(im2,kmadd(rm1,kadd(Rojo12,Rojo21),kmadd(rm3,kadd(Rojo23,Rojo32),kmul(rm2,kmul(Rojo22,ToReal(2))))),kmul(im3,kmadd(rm1,kadd(Rojo13,Rojo31),kmadd(rm2,kadd(Rojo23,Rojo32),kmul(rm3,kmul(Rojo33,ToReal(2)))))))))));
+ kmadd(ToReal(2),kmadd(kmsub(n1,kmadd(n2,R4p1212,kmul(n3,R4p1213)),kmul(n3,kmadd(n2,R4p1223,kmul(n3,R4p1323)))),kmadd(im2,rm1,kmul(im1,rm2)),kmadd(nn,knmsub(kmadd(im2,rm1,kmul(im1,rm2)),kmadd(n1,kadd(Ro112,Ro211),kmadd(n3,kadd(Ro132,Ro231),kmul(n2,kadd(Ro122,Ro221)))),kmadd(ToReal(-2),kmadd(im1,kmul(rm1,kmadd(n1,Ro111,kmadd(n2,Ro121,kmul(n3,Ro131)))),kmul(im2,kmul(rm2,kmadd(n1,Ro212,kmadd(n2,Ro222,kmul(n3,Ro232)))))),knmsub(kmadd(im3,rm1,kmul(im1,rm3)),kmadd(n1,kadd(Ro113,Ro311),kmadd(n3,kadd(Ro133,Ro331),kmul(n2,kadd(Ro123,Ro321)))),kmsub(ToReal(-2),kmul(im3,kmul(rm3,kmadd(n1,Ro313,kmadd(n2,Ro323,kmul(n3,Ro333))))),kmul(kmadd(im3,rm2,kmul(im2,rm3)),kmadd(n1,kadd(Ro213,Ro312),kmadd(n3,kadd(Ro233,Ro332),kmul(n2,kadd(Ro223,Ro322))))))))),kmul(kmadd(im3,rm1,kmul(im1,rm3)),kmadd(n1,kmadd(n2,R4p1213,kmul(n3,R4p1313)),kmadd(n2,kmul(n3,R4p1323),kmul(R4p1223,kmul(n2,n2))))))),kmsub(ToReal(-2),kmadd(kmadd(im3,rm2,kmul(im2,rm3)),kmadd(n1,kmsub(n2,R4p1223,kmul(n3,R4p1323)),kmsub(R4p1213,kmul(n1,n1),kmul(n2,kmul(n3,R4p2323)))),kmadd(im3,kmul(rm3,kmadd(ToReal(2),kmul(n1,kmul(n2,R4p1323)),kmadd(R4p1313,kmul(n1,n1),kmul(R4p2323,kmul(n2,n2))))),kmadd(im1,kmul(rm1,kmadd(ToReal(2),kmul(n2,kmul(n3,R4p1213)),kmadd(R4p1212,kmul(n2,n2),kmul(R4p1313,kmul(n3,n3))))),kmul(im2,kmul(rm2,kmadd(ToReal(-2),kmul(n1,kmul(n3,R4p1223)),kmadd(R4p1212,kmul(n1,n1),kmul(R4p2323,kmul(n3,n3))))))))),kmul(kmadd(im1,kmadd(ToReal(2),kmul(rm1,Rojo11),kmadd(rm2,kadd(Rojo12,Rojo21),kmul(rm3,kadd(Rojo13,Rojo31)))),kmadd(im2,kmadd(rm1,kadd(Rojo12,Rojo21),kmadd(ToReal(2),kmul(rm2,Rojo22),kmul(rm3,kadd(Rojo23,Rojo32)))),kmul(im3,kmadd(rm1,kadd(Rojo13,Rojo31),kmadd(rm2,kadd(Rojo23,Rojo32),kmul(kmul(rm3,Rojo33),ToReal(2))))))),kmul(nn,nn))));
CCTK_REAL_VEC Psi3rL CCTK_ATTRIBUTE_UNUSED =
- knmsub(kmul(nn,nn),kmadd(kmadd(rm1,Rojo11,kmadd(rm2,Rojo12,kmul(rm3,Rojo13))),ksub(n1,ltet1),kmadd(kmadd(rm1,Rojo21,kmadd(rm2,Rojo22,kmul(rm3,Rojo23))),ksub(n2,ltet2),kmul(kmadd(rm1,Rojo31,kmadd(rm2,Rojo32,kmul(rm3,Rojo33))),ksub(n3,ltet3)))),kmadd(n3,kmadd(ltet1,kmadd(n2,kmul(R4p1213,rm1),kmadd(n3,kmul(R4p1313,rm1),kmadd(n2,kmul(R4p1223,rm2),kmul(n3,kmul(R4p1323,rm2))))),kmadd(nn,kmul(rm2,kmul(Ro223,kmadd(ltet2,ToReal(-2),n2))),kmadd(nn,kmul(rm3,kmul(Ro333,kmadd(ltet3,ToReal(-2),n3))),knmsub(ltet3,kmadd(n1,kmul(R4p1313,rm1),kmadd(n2,kmul(R4p1323,rm1),kmadd(n1,kmul(R4p1323,rm2),kmul(n2,kmul(R4p2323,rm2))))),kmadd(ltet2,kmsub(n3,kmadd(R4p1323,rm1,kmul(R4p2323,rm2)),kmul(n1,kmadd(R4p1213,rm1,kmul(R4p1223,rm2)))),kmadd(nn,kmul(Ro313,kmsub(rm1,ksub(n3,ltet3),kmul(ltet1,rm3))),kmadd(nn,kmul(Ro323,kmsub(rm2,ksub(n3,ltet3),kmul(ltet2,rm3))),kmul(nn,kmsub(rm1,kmul(Ro113,kmadd(ltet1,ToReal(-2),n1)),kmadd(Ro123,kmadd(ltet2,rm1,kmul(rm2,ksub(ltet1,n1))),kmadd(Ro133,kmadd(ltet3,rm1,kmul(rm3,ksub(ltet1,n1))),kmadd(Ro233,kmadd(ltet3,rm2,kmul(rm3,ksub(ltet2,n2))),kmul(Ro213,kmadd(ltet1,rm2,kmul(rm1,ksub(ltet2,n2)))))))))))))))),kmadd(n1,kmadd(ltet3,kmadd(n1,kmul(R4p1213,rm2),kmadd(n2,kmul(R4p1223,rm2),kmadd(n1,kmul(R4p1313,rm3),kmul(n2,kmul(R4p1323,rm3))))),kmadd(nn,kmul(rm2,kmul(Ro221,kmadd(ltet2,ToReal(-2),n2))),kmadd(nn,kmul(rm3,kmul(Ro331,kmadd(ltet3,ToReal(-2),n3))),knmsub(ltet1,kmadd(n2,kmul(R4p1212,rm2),kmadd(n3,kmul(R4p1213,rm2),kmadd(n2,kmul(R4p1213,rm3),kmul(n3,kmul(R4p1313,rm3))))),kmadd(ltet2,kmsub(n1,kmadd(R4p1212,rm2,kmul(R4p1213,rm3)),kmul(n3,kmadd(R4p1223,rm2,kmul(R4p1323,rm3)))),kmadd(nn,kmsub(Ro121,kmsub(rm2,ksub(n1,ltet1),kmul(ltet2,rm1)),kmul(Ro231,kmadd(ltet3,rm2,kmul(rm3,ksub(ltet2,n2))))),kmadd(nn,kmsub(Ro131,kmsub(rm3,ksub(n1,ltet1),kmul(ltet3,rm1)),kmul(Ro311,kmadd(ltet1,rm3,kmul(rm1,ksub(ltet3,n3))))),kmul(nn,kmsub(rm1,kmul(Ro111,kmadd(ltet1,ToReal(-2),n1)),kmadd(Ro321,kmadd(ltet2,rm3,kmul(rm2,ksub(ltet3,n3))),kmul(Ro211,kmadd(ltet1,rm2,kmul(rm1,ksub(ltet2,n2)))))))))))))),kmul(n2,kmadd(ltet3,kmadd(n1,kmul(R4p1323,rm3),kmsub(n2,kmul(R4p2323,rm3),kmul(rm1,kmadd(n2,R4p1223,kmul(n1,R4p1213))))),kmadd(ltet1,kmsub(kmadd(n2,R4p1212,kmul(n3,R4p1213)),rm1,kmul(rm3,kmadd(n3,R4p1323,kmul(n2,R4p1223)))),kmadd(ltet2,kmadd(rm1,kmsub(n3,R4p1223,kmul(n1,R4p1212)),kmul(rm3,kmsub(n1,R4p1223,kmul(n3,R4p2323)))),kmul(nn,kmadd(rm1,kmul(Ro112,kmadd(ltet1,ToReal(-2),n1)),kmadd(rm2,kmul(Ro222,kmadd(ltet2,ToReal(-2),n2)),kmadd(rm3,kmul(Ro332,kmadd(ltet3,ToReal(-2),n3)),kmadd(Ro212,kmsub(rm1,ksub(n2,ltet2),kmul(ltet1,rm2)),kmsub(Ro232,kmsub(rm3,ksub(n2,ltet2),kmul(ltet3,rm2)),kmadd(Ro122,kmadd(ltet2,rm1,kmul(rm2,ksub(ltet1,n1))),kmadd(Ro132,kmadd(ltet3,rm1,kmul(rm3,ksub(ltet1,n1))),kmadd(Ro322,kmadd(ltet2,rm3,kmul(rm2,ksub(ltet3,n3))),kmul(Ro312,kmadd(ltet1,rm3,kmul(rm1,ksub(ltet3,n3))))))))))))))))))));
+ kmadd(n1,knmsub(ltet1,kmadd(n2,kmul(R4p1212,rm2),kmadd(n3,kmul(R4p1213,rm2),kmadd(n2,kmul(R4p1213,rm3),kmul(n3,kmul(R4p1313,rm3))))),kmadd(ltet3,kmadd(n1,kmul(R4p1213,rm2),kmadd(n2,kmul(R4p1223,rm2),kmadd(n1,kmul(R4p1313,rm3),kmul(n2,kmul(R4p1323,rm3))))),kmadd(ltet2,kmsub(n1,kmadd(R4p1212,rm2,kmul(R4p1213,rm3)),kmul(n3,kmadd(R4p1223,rm2,kmul(R4p1323,rm3)))),kmadd(kmadd(ToReal(-2),ltet2,n2),kmul(nn,kmul(rm2,Ro221)),kmadd(nn,kmsub(kmsub(ksub(n1,ltet1),rm2,kmul(ltet2,rm1)),Ro121,kmul(Ro231,kmadd(ltet3,rm2,kmul(ksub(ltet2,n2),rm3)))),kmadd(nn,kmsub(kmsub(ksub(n1,ltet1),rm3,kmul(ltet3,rm1)),Ro131,kmul(Ro311,kmadd(ksub(ltet3,n3),rm1,kmul(ltet1,rm3)))),kmadd(nn,kmsub(kmadd(ToReal(-2),ltet1,n1),kmul(rm1,Ro111),kmadd(kmadd(ksub(ltet3,n3),rm2,kmul(ltet2,rm3)),Ro321,kmul(Ro211,kmadd(ksub(ltet2,n2),rm1,kmul(ltet1,rm2))))),kmul(kmadd(ToReal(-2),ltet3,n3),kmul(nn,kmul(rm3,Ro331)))))))))),kmadd(n2,kmadd(ltet1,kmsub(kmadd(n2,R4p1212,kmul(n3,R4p1213)),rm1,kmul(rm3,kmadd(n3,R4p1323,kmul(n2,R4p1223)))),kmadd(ltet3,knmsub(kmadd(n2,R4p1223,kmul(n1,R4p1213)),rm1,kmadd(n1,kmul(R4p1323,rm3),kmul(n2,kmul(R4p2323,rm3)))),kmadd(ltet2,kmadd(kmsub(n3,R4p1223,kmul(n1,R4p1212)),rm1,kmul(rm3,kmsub(n1,R4p1223,kmul(n3,R4p2323)))),kmul(nn,kmadd(kmadd(ToReal(-2),ltet1,n1),kmul(rm1,Ro112),knmsub(kmadd(ltet2,rm1,kmul(rm2,ksub(ltet1,n1))),Ro122,knmsub(kmadd(ltet3,rm1,kmul(rm3,ksub(ltet1,n1))),Ro132,kmadd(kmsub(ksub(n2,ltet2),rm1,kmul(ltet1,rm2)),Ro212,kmadd(kmadd(ToReal(-2),ltet2,n2),kmul(rm2,Ro222),kmadd(kmsub(ksub(n2,ltet2),rm3,kmul(ltet3,rm2)),Ro232,knmsub(kmadd(ksub(ltet3,n3),rm1,kmul(ltet1,rm3)),Ro312,kmsub(kmadd(ToReal(-2),ltet3,n3),kmul(rm3,Ro332),kmul(Ro322,kmadd(ksub(ltet3,n3),rm2,kmul(ltet2,rm3))))))))))))))),kmsub(n3,kmadd(ltet1,kmadd(n2,kmul(R4p1213,rm1),kmadd(n3,kmul(R4p1313,rm1),kmadd(n2,kmul(R4p1223,rm2),kmul(n3,kmul(R4p1323,rm2))))),knmsub(ltet3,kmadd(n1,kmul(R4p1313,rm1),kmadd(n2,kmul(R4p1323,rm1),kmadd(n1,kmul(R4p1323,rm2),kmul(n2,kmul(R4p2323,rm2))))),kmadd(ltet2,kmsub(n3,kmadd(R4p1323,rm1,kmul(R4p2323,rm2)),kmul(n1,kmadd(R4p1213,rm1,kmul(R4p1223,rm2)))),kmadd(kmadd(ToReal(-2),ltet2,n2),kmul(nn,kmul(rm2,Ro223)),kmadd(nn,kmsub(kmadd(ToReal(-2),ltet1,n1),kmul(rm1,Ro113),kmadd(kmadd(ltet2,rm1,kmul(rm2,ksub(ltet1,n1))),Ro123,kmadd(kmadd(ltet3,rm1,kmul(rm3,ksub(ltet1,n1))),Ro133,kmadd(kmadd(ltet3,rm2,kmul(rm3,ksub(ltet2,n2))),Ro233,kmul(Ro213,kmadd(ksub(ltet2,n2),rm1,kmul(ltet1,rm2))))))),kmadd(nn,kmul(Ro313,kmsub(ksub(n3,ltet3),rm1,kmul(ltet1,rm3))),kmadd(nn,kmul(Ro323,kmsub(ksub(n3,ltet3),rm2,kmul(ltet2,rm3))),kmul(kmadd(ToReal(-2),ltet3,n3),kmul(nn,kmul(rm3,Ro333)))))))))),kmul(kmadd(ksub(n1,ltet1),kmadd(rm1,Rojo11,kmadd(rm2,Rojo12,kmul(rm3,Rojo13))),kmadd(ksub(n2,ltet2),kmadd(rm1,Rojo21,kmadd(rm2,Rojo22,kmul(rm3,Rojo23))),kmul(kmadd(rm1,Rojo31,kmadd(rm2,Rojo32,kmul(rm3,Rojo33))),ksub(n3,ltet3)))),kmul(nn,nn)))));
CCTK_REAL_VEC Psi3iL CCTK_ATTRIBUTE_UNUSED =
- kmadd(kmul(nn,nn),kmadd(kmadd(im1,Rojo11,kmadd(im2,Rojo12,kmul(im3,Rojo13))),ksub(n1,ltet1),kmadd(kmadd(im1,Rojo21,kmadd(im2,Rojo22,kmul(im3,Rojo23))),ksub(n2,ltet2),kmul(kmadd(im1,Rojo31,kmadd(im2,Rojo32,kmul(im3,Rojo33))),ksub(n3,ltet3)))),kmadd(n1,kmul(nn,kmul(Ro121,kmadd(im1,ltet2,kmul(im2,ksub(ltet1,n1))))),kmadd(n2,kmul(nn,kmul(Ro122,kmadd(im1,ltet2,kmul(im2,ksub(ltet1,n1))))),kmadd(n3,kmul(nn,kmul(Ro123,kmadd(im1,ltet2,kmul(im2,ksub(ltet1,n1))))),kmadd(n1,kmul(nn,kmul(Ro131,kmadd(im1,ltet3,kmul(im3,ksub(ltet1,n1))))),kmadd(n2,kmul(nn,kmul(Ro132,kmadd(im1,ltet3,kmul(im3,ksub(ltet1,n1))))),kmadd(n3,kmul(nn,kmul(Ro133,kmadd(im1,ltet3,kmul(im3,ksub(ltet1,n1))))),kmadd(n1,kmul(nn,kmul(Ro211,kmadd(im2,ltet1,kmul(im1,ksub(ltet2,n2))))),kmadd(n2,kmul(nn,kmul(Ro212,kmadd(im2,ltet1,kmul(im1,ksub(ltet2,n2))))),kmadd(n3,kmul(nn,kmul(Ro213,kmadd(im2,ltet1,kmul(im1,ksub(ltet2,n2))))),kmadd(n1,kmul(nn,kmul(Ro231,kmadd(im2,ltet3,kmul(im3,ksub(ltet2,n2))))),kmadd(n2,kmul(nn,kmul(Ro232,kmadd(im2,ltet3,kmul(im3,ksub(ltet2,n2))))),kmadd(n3,kmul(nn,kmul(Ro233,kmadd(im2,ltet3,kmul(im3,ksub(ltet2,n2))))),kmadd(n1,kmul(nn,kmul(Ro311,kmadd(im3,ltet1,kmul(im1,ksub(ltet3,n3))))),kmadd(n2,kmul(nn,kmul(Ro312,kmadd(im3,ltet1,kmul(im1,ksub(ltet3,n3))))),kmadd(n3,kmul(nn,kmul(Ro313,kmadd(im3,ltet1,kmul(im1,ksub(ltet3,n3))))),kmadd(n1,kmul(nn,kmul(Ro321,kmadd(im3,ltet2,kmul(im2,ksub(ltet3,n3))))),kmadd(n2,kmul(nn,kmul(Ro322,kmadd(im3,ltet2,kmul(im2,ksub(ltet3,n3))))),kmadd(n3,kmul(nn,kmul(Ro323,kmadd(im3,ltet2,kmul(im2,ksub(ltet3,n3))))),kmadd(im2,kmul(n1,kmul(nn,kmul(Ro221,kmsub(ltet2,ToReal(2),n2)))),kmadd(im2,kmul(n2,kmul(nn,kmul(Ro222,kmsub(ltet2,ToReal(2),n2)))),kmadd(im2,kmul(n3,kmul(nn,kmul(Ro223,kmsub(ltet2,ToReal(2),n2)))),kmadd(im3,kmul(n1,kmul(nn,kmul(Ro331,kmsub(ltet3,ToReal(2),n3)))),kmadd(im3,kmul(n2,kmul(nn,kmul(Ro332,kmsub(ltet3,ToReal(2),n3)))),kmadd(im3,kmul(n3,kmul(nn,kmul(Ro333,kmsub(ltet3,ToReal(2),n3)))),kmadd(n1,knmsub(im2,kmadd(R4p1212,kmsub(ltet2,n1,kmul(ltet1,n2)),kmadd(R4p1213,kmsub(ltet3,n1,kmul(ltet1,n3)),kmul(R4p1223,kmsub(ltet3,n2,kmul(ltet2,n3))))),kmsub(im1,kmul(nn,kmul(Ro111,kmsub(ltet1,ToReal(2),n1))),kmul(im3,kmadd(R4p1213,kmsub(ltet2,n1,kmul(ltet1,n2)),kmadd(R4p1313,kmsub(ltet3,n1,kmul(ltet1,n3)),kmul(R4p1323,kmsub(ltet3,n2,kmul(ltet2,n3)))))))),kmadd(n2,kmsub(im1,kmadd(R4p1212,kmsub(ltet2,n1,kmul(ltet1,n2)),kmadd(R4p1213,kmsub(ltet3,n1,kmul(ltet1,n3)),kmadd(R4p1223,kmsub(ltet3,n2,kmul(ltet2,n3)),kmul(nn,kmul(Ro112,kmsub(ltet1,ToReal(2),n1)))))),kmul(im3,kmadd(R4p1223,kmsub(ltet2,n1,kmul(ltet1,n2)),kmadd(R4p1323,kmsub(ltet3,n1,kmul(ltet1,n3)),kmul(R4p2323,kmsub(ltet3,n2,kmul(ltet2,n3))))))),kmul(n3,kmsub(im1,kmadd(R4p1213,kmsub(ltet2,n1,kmul(ltet1,n2)),kmadd(R4p1313,kmsub(ltet3,n1,kmul(ltet1,n3)),kmadd(R4p1323,kmsub(ltet3,n2,kmul(ltet2,n3)),kmul(nn,kmul(Ro113,kmsub(ltet1,ToReal(2),n1)))))),kmul(im2,kmadd(R4p1223,kmsub(ltet1,n2,kmul(ltet2,n1)),kmadd(R4p1323,kmsub(ltet1,n3,kmul(ltet3,n1)),kmul(R4p2323,kmsub(ltet2,n3,kmul(ltet3,n2)))))))))))))))))))))))))))))))))));
+ kmadd(n1,knmsub(im2,kmadd(kmsub(ltet2,n1,kmul(ltet1,n2)),R4p1212,kmadd(kmsub(ltet3,n1,kmul(ltet1,n3)),R4p1213,kmul(R4p1223,kmsub(ltet3,n2,kmul(ltet2,n3))))),kmsub(im1,kmul(kmsub(ToReal(2),ltet1,n1),kmul(nn,Ro111)),kmul(im3,kmadd(kmsub(ltet2,n1,kmul(ltet1,n2)),R4p1213,kmadd(kmsub(ltet3,n1,kmul(ltet1,n3)),R4p1313,kmul(R4p1323,kmsub(ltet3,n2,kmul(ltet2,n3)))))))),kmadd(n2,kmsub(im1,kmadd(kmsub(ltet2,n1,kmul(ltet1,n2)),R4p1212,kmadd(kmsub(ltet3,n1,kmul(ltet1,n3)),R4p1213,kmadd(kmsub(ltet3,n2,kmul(ltet2,n3)),R4p1223,kmul(kmsub(ToReal(2),ltet1,n1),kmul(nn,Ro112))))),kmul(im3,kmadd(kmsub(ltet2,n1,kmul(ltet1,n2)),R4p1223,kmadd(kmsub(ltet3,n1,kmul(ltet1,n3)),R4p1323,kmul(R4p2323,kmsub(ltet3,n2,kmul(ltet2,n3))))))),kmadd(n3,kmsub(im1,kmadd(kmsub(ltet2,n1,kmul(ltet1,n2)),R4p1213,kmadd(kmsub(ltet3,n1,kmul(ltet1,n3)),R4p1313,kmadd(kmsub(ltet3,n2,kmul(ltet2,n3)),R4p1323,kmul(kmsub(ToReal(2),ltet1,n1),kmul(nn,Ro113))))),kmul(im2,kmadd(kmsub(ltet1,n2,kmul(ltet2,n1)),R4p1223,kmadd(kmsub(ltet1,n3,kmul(ltet3,n1)),R4p1323,kmul(R4p2323,kmsub(ltet2,n3,kmul(ltet3,n2))))))),kmadd(kmadd(im1,ltet2,kmul(im2,ksub(ltet1,n1))),kmul(n1,kmul(nn,Ro121)),kmadd(kmadd(im1,ltet2,kmul(im2,ksub(ltet1,n1))),kmul(n2,kmul(nn,Ro122)),kmadd(kmadd(im1,ltet2,kmul(im2,ksub(ltet1,n1))),kmul(n3,kmul(nn,Ro123)),kmadd(kmadd(im1,ltet3,kmul(im3,ksub(ltet1,n1))),kmul(n1,kmul(nn,Ro131)),kmadd(kmadd(im1,ltet3,kmul(im3,ksub(ltet1,n1))),kmul(n2,kmul(nn,Ro132)),kmadd(kmadd(im1,ltet3,kmul(im3,ksub(ltet1,n1))),kmul(n3,kmul(nn,Ro133)),kmadd(n1,kmul(kmadd(im2,ltet1,kmul(im1,ksub(ltet2,n2))),kmul(nn,Ro211)),kmadd(kmadd(im2,ltet1,kmul(im1,ksub(ltet2,n2))),kmul(n2,kmul(nn,Ro212)),kmadd(kmadd(im2,ltet1,kmul(im1,ksub(ltet2,n2))),kmul(n3,kmul(nn,Ro213)),kmadd(im2,kmul(n1,kmul(kmsub(ToReal(2),ltet2,n2),kmul(nn,Ro221))),kmadd(im2,kmul(kmsub(ToReal(2),ltet2,n2),kmul(n2,kmul(nn,Ro222))),kmadd(im2,kmul(kmsub(ToReal(2),ltet2,n2),kmul(n3,kmul(nn,Ro223))),kmadd(n1,kmul(kmadd(im2,ltet3,kmul(im3,ksub(ltet2,n2))),kmul(nn,Ro231)),kmadd(kmadd(im2,ltet3,kmul(im3,ksub(ltet2,n2))),kmul(n2,kmul(nn,Ro232)),kmadd(kmadd(im2,ltet3,kmul(im3,ksub(ltet2,n2))),kmul(n3,kmul(nn,Ro233)),kmadd(n1,kmul(kmadd(im3,ltet1,kmul(im1,ksub(ltet3,n3))),kmul(nn,Ro311)),kmadd(n2,kmul(kmadd(im3,ltet1,kmul(im1,ksub(ltet3,n3))),kmul(nn,Ro312)),kmadd(kmadd(im3,ltet1,kmul(im1,ksub(ltet3,n3))),kmul(n3,kmul(nn,Ro313)),kmadd(n1,kmul(kmadd(im3,ltet2,kmul(im2,ksub(ltet3,n3))),kmul(nn,Ro321)),kmadd(n2,kmul(kmadd(im3,ltet2,kmul(im2,ksub(ltet3,n3))),kmul(nn,Ro322)),kmadd(kmadd(im3,ltet2,kmul(im2,ksub(ltet3,n3))),kmul(n3,kmul(nn,Ro323)),kmadd(im3,kmul(n1,kmul(kmsub(ToReal(2),ltet3,n3),kmul(nn,Ro331))),kmadd(im3,kmul(n2,kmul(kmsub(ToReal(2),ltet3,n3),kmul(nn,Ro332))),kmadd(im3,kmul(kmsub(ToReal(2),ltet3,n3),kmul(n3,kmul(nn,Ro333))),kmul(kmadd(ksub(n1,ltet1),kmadd(im1,Rojo11,kmadd(im2,Rojo12,kmul(im3,Rojo13))),kmadd(ksub(n2,ltet2),kmadd(im1,Rojo21,kmadd(im2,Rojo22,kmul(im3,Rojo23))),kmul(kmadd(im1,Rojo31,kmadd(im2,Rojo32,kmul(im3,Rojo33))),ksub(n3,ltet3)))),kmul(nn,nn)))))))))))))))))))))))))))));
CCTK_REAL_VEC Psi2rL CCTK_ATTRIBUTE_UNUSED =
- knmsub(kmadd(ltet2,kmul(n2,R4p1212),kmadd(ltet3,kmul(n2,R4p1213),kmadd(ltet2,kmul(n3,R4p1213),kmul(ltet3,kmul(n3,R4p1313))))),kmadd(im1,im1,kmul(rm1,rm1)),knmsub(kmadd(ltet1,kmul(n1,R4p1313),kmadd(ltet2,kmul(n1,R4p1323),kmadd(ltet1,kmul(n2,R4p1323),kmul(ltet2,kmul(n2,R4p2323))))),kmadd(im3,im3,kmul(rm3,rm3)),knmsub(kmul(nn,nn),kmadd(im2,kmul(im3,Rojo23),kmadd(rm2,kmul(rm3,Rojo23),kmadd(im1,kmadd(im2,kadd(Rojo12,Rojo21),kmul(im3,kadd(Rojo13,Rojo31))),kmadd(rm1,kmadd(rm2,kadd(Rojo12,Rojo21),kmul(rm3,kadd(Rojo13,Rojo31))),kmadd(im2,kmul(im3,Rojo32),kmadd(rm2,kmul(rm3,Rojo32),kmadd(Rojo11,kmul(im1,im1),kmadd(Rojo22,kmul(im2,im2),kmadd(Rojo33,kmul(im3,im3),kmadd(Rojo11,kmul(rm1,rm1),kmadd(Rojo22,kmul(rm2,rm2),kmul(Rojo33,kmul(rm3,rm3))))))))))))),knmsub(kmadd(im2,im2,kmul(rm2,rm2)),kmadd(n3,kmsub(ltet3,R4p2323,kmul(ltet1,R4p1223)),kmul(n1,kmsub(ltet1,R4p1212,kmul(ltet3,R4p1223)))),kmadd(kmadd(im2,im3,kmul(rm2,rm3)),kmadd(ltet2,kmul(n3,R4p2323),kmadd(ltet3,kmadd(n1,R4p1323,kmul(n2,R4p2323)),kmsub(ltet1,kmsub(n3,R4p1323,kmadd(n2,R4p1223,kmul(n1,R4p1213))),kmul(n1,kmadd(ltet2,R4p1223,kmul(ltet1,R4p1213)))))),kmadd(kmadd(im1,im2,kmul(rm1,rm2)),kmadd(ltet1,kmadd(n2,R4p1212,kmul(n3,R4p1213)),kmadd(ltet3,kmadd(n1,R4p1213,kmsub(n3,kmul(R4p1323,ToReal(-2)),kmul(n2,R4p1223))),kmul(ltet2,kmsub(n1,R4p1212,kmul(n3,R4p1223))))),kmadd(nn,kmadd(kmadd(im1,im2,kmul(rm1,rm2)),kmul(Ro211,ksub(n1,ltet1)),kmadd(kmadd(im1,im3,kmul(rm1,rm3)),kmul(Ro311,ksub(n1,ltet1)),kmadd(Ro111,kmul(kmadd(im1,im1,kmul(rm1,rm1)),ksub(n1,ltet1)),kmadd(kmadd(im1,im2,kmul(rm1,rm2)),kmul(Ro122,ksub(n2,ltet2)),kmadd(kmadd(im2,im3,kmul(rm2,rm3)),kmul(Ro322,ksub(n2,ltet2)),kmadd(Ro222,kmul(kmadd(im2,im2,kmul(rm2,rm2)),ksub(n2,ltet2)),kmadd(kmadd(im1,im3,kmul(rm1,rm3)),kmul(Ro133,ksub(n3,ltet3)),kmadd(kmadd(im2,im3,kmul(rm2,rm3)),kmul(Ro233,ksub(n3,ltet3)),kmadd(Ro333,kmul(kmadd(im3,im3,kmul(rm3,rm3)),ksub(n3,ltet3)),kmadd(Ro112,kmsub(n2,kmadd(im1,im1,kmul(rm1,rm1)),kmul(ltet1,kmadd(im1,im2,kmul(rm1,rm2)))),kmadd(Ro221,kmsub(n1,kmadd(im2,im2,kmul(rm2,rm2)),kmul(ltet2,kmadd(im1,im2,kmul(rm1,rm2)))),kmadd(Ro113,kmsub(n3,kmadd(im1,im1,kmul(rm1,rm1)),kmul(ltet1,kmadd(im1,im3,kmul(rm1,rm3)))),kmadd(Ro331,kmsub(n1,kmadd(im3,im3,kmul(rm3,rm3)),kmul(ltet3,kmadd(im1,im3,kmul(rm1,rm3)))),kmadd(Ro223,kmsub(n3,kmadd(im2,im2,kmul(rm2,rm2)),kmul(ltet2,kmadd(im2,im3,kmul(rm2,rm3)))),kmadd(Ro332,kmsub(n2,kmadd(im3,im3,kmul(rm3,rm3)),kmul(ltet3,kmadd(im2,im3,kmul(rm2,rm3)))),kmadd(Ro121,kmsub(n1,kmadd(im1,im2,kmul(rm1,rm2)),kmul(ltet2,kmadd(im1,im1,kmul(rm1,rm1)))),kmadd(Ro131,kmsub(n1,kmadd(im1,im3,kmul(rm1,rm3)),kmul(ltet3,kmadd(im1,im1,kmul(rm1,rm1)))),kmadd(Ro212,kmsub(n2,kmadd(im1,im2,kmul(rm1,rm2)),kmul(ltet1,kmadd(im2,im2,kmul(rm2,rm2)))),kmadd(Ro232,kmsub(n2,kmadd(im2,im3,kmul(rm2,rm3)),kmul(ltet3,kmadd(im2,im2,kmul(rm2,rm2)))),kmadd(Ro313,kmsub(n3,kmadd(im1,im3,kmul(rm1,rm3)),kmul(ltet1,kmadd(im3,im3,kmul(rm3,rm3)))),kmadd(Ro323,kmsub(n3,kmadd(im2,im3,kmul(rm2,rm3)),kmul(ltet2,kmadd(im3,im3,kmul(rm3,rm3)))),kmadd(Ro321,kmadd(im3,kmsub(im2,n1,kmul(im1,ltet2)),kmul(rm3,kmsub(n1,rm2,kmul(ltet2,rm1)))),kmadd(Ro231,kmadd(im2,kmsub(im3,n1,kmul(im1,ltet3)),kmul(rm2,kmsub(n1,rm3,kmul(ltet3,rm1)))),kmadd(Ro312,kmadd(im3,kmsub(im1,n2,kmul(im2,ltet1)),kmul(rm3,kmsub(n2,rm1,kmul(ltet1,rm2)))),kmadd(Ro132,kmadd(im1,kmsub(im3,n2,kmul(im2,ltet3)),kmul(rm1,kmsub(n2,rm3,kmul(ltet3,rm2)))),kmadd(Ro213,kmadd(im2,kmsub(im1,n3,kmul(im3,ltet1)),kmul(rm2,kmsub(n3,rm1,kmul(ltet1,rm3)))),kmul(Ro123,kmadd(im1,kmsub(im2,n3,kmul(im3,ltet2)),kmul(rm1,kmsub(n3,rm2,kmul(ltet2,rm3))))))))))))))))))))))))))))))),kmul(kmadd(im1,im3,kmul(rm1,rm3)),kmadd(ltet2,kmul(n1,R4p1213),kmadd(ltet1,kmul(n2,R4p1213),kmadd(ltet3,kmul(n1,R4p1313),kmadd(ltet1,kmul(n3,R4p1313),kmadd(ltet3,kmul(n2,R4p1323),kmadd(ltet2,kmul(n3,R4p1323),kmul(ltet2,kmul(n2,kmul(R4p1223,ToReal(2))))))))))))))))));
+ kmadd(kmadd(ltet2,kmsub(n1,R4p1212,kmul(n3,R4p1223)),kmul(ltet3,kmsub(n1,R4p1213,kmul(n3,R4p1323)))),kmadd(im1,im2,kmul(rm1,rm2)),kmadd(kmsub(ltet1,kmadd(n2,R4p1212,kmul(n3,R4p1213)),kmul(ltet3,kmadd(n2,R4p1223,kmul(n3,R4p1323)))),kmadd(im1,im2,kmul(rm1,rm2)),kmadd(kmadd(ltet2,kmul(n1,R4p1213),kmadd(ltet2,kmul(n2,R4p1223),kmadd(ltet3,kmul(n1,R4p1313),kmul(ltet3,kmul(n2,R4p1323))))),kmadd(im1,im3,kmul(rm1,rm3)),kmadd(kmadd(ltet1,kmul(n2,R4p1213),kmadd(ltet2,kmul(n2,R4p1223),kmadd(ltet1,kmul(n3,R4p1313),kmul(ltet2,kmul(n3,R4p1323))))),kmadd(im1,im3,kmul(rm1,rm3)),kmadd(knmsub(n1,kmadd(ltet2,R4p1223,kmul(ltet1,R4p1213)),kmadd(ltet1,knmsub(n1,R4p1213,kmsub(n3,R4p1323,kmul(n2,R4p1223))),kmadd(ltet2,kmul(n3,R4p2323),kmul(ltet3,kmadd(n1,R4p1323,kmul(n2,R4p2323)))))),kmadd(im2,im3,kmul(rm2,rm3)),knmsub(kmadd(ltet2,kmul(n2,R4p1212),kmadd(ltet3,kmul(n2,R4p1213),kmadd(ltet2,kmul(n3,R4p1213),kmul(ltet3,kmul(n3,R4p1313))))),kmadd(im1,im1,kmul(rm1,rm1)),knmsub(kmadd(n1,kmsub(ltet1,R4p1212,kmul(ltet3,R4p1223)),kmul(n3,kmsub(ltet3,R4p2323,kmul(ltet1,R4p1223)))),kmadd(im2,im2,kmul(rm2,rm2)),knmsub(kmadd(ltet1,kmul(n1,R4p1313),kmadd(ltet2,kmul(n1,R4p1323),kmadd(ltet1,kmul(n2,R4p1323),kmul(ltet2,kmul(n2,R4p2323))))),kmadd(im3,im3,kmul(rm3,rm3)),kmsub(nn,kmadd(ksub(n2,ltet2),kmul(Ro122,kmadd(im1,im2,kmul(rm1,rm2))),kmadd(kmadd(im1,kmsub(im2,n3,kmul(im3,ltet2)),kmul(rm1,kmsub(n3,rm2,kmul(ltet2,rm3)))),Ro123,kmadd(kmadd(im1,kmsub(im3,n2,kmul(im2,ltet3)),kmul(rm1,kmsub(n2,rm3,kmul(ltet3,rm2)))),Ro132,kmadd(ksub(n3,ltet3),kmul(Ro133,kmadd(im1,im3,kmul(rm1,rm3))),kmadd(ksub(n1,ltet1),kmul(Ro211,kmadd(im1,im2,kmul(rm1,rm2))),kmadd(kmadd(im2,kmsub(im1,n3,kmul(im3,ltet1)),kmul(rm2,kmsub(n3,rm1,kmul(ltet1,rm3)))),Ro213,kmadd(kmadd(im2,kmsub(im3,n1,kmul(im1,ltet3)),kmul(rm2,kmsub(n1,rm3,kmul(ltet3,rm1)))),Ro231,kmadd(ksub(n3,ltet3),kmul(Ro233,kmadd(im2,im3,kmul(rm2,rm3))),kmadd(ksub(n1,ltet1),kmul(Ro311,kmadd(im1,im3,kmul(rm1,rm3))),kmadd(kmadd(im3,kmsub(im1,n2,kmul(im2,ltet1)),kmul(rm3,kmsub(n2,rm1,kmul(ltet1,rm2)))),Ro312,kmadd(kmadd(im3,kmsub(im2,n1,kmul(im1,ltet2)),kmul(rm3,kmsub(n1,rm2,kmul(ltet2,rm1)))),Ro321,kmadd(ksub(n2,ltet2),kmul(Ro322,kmadd(im2,im3,kmul(rm2,rm3))),kmadd(ksub(n1,ltet1),kmul(Ro111,kmadd(im1,im1,kmul(rm1,rm1))),kmadd(Ro121,kmsub(n1,kmadd(im1,im2,kmul(rm1,rm2)),kmul(ltet2,kmadd(im1,im1,kmul(rm1,rm1)))),kmadd(Ro131,kmsub(n1,kmadd(im1,im3,kmul(rm1,rm3)),kmul(ltet3,kmadd(im1,im1,kmul(rm1,rm1)))),kmadd(Ro112,kmsub(n2,kmadd(im1,im1,kmul(rm1,rm1)),kmul(ltet1,kmadd(im1,im2,kmul(rm1,rm2)))),kmadd(Ro113,kmsub(n3,kmadd(im1,im1,kmul(rm1,rm1)),kmul(ltet1,kmadd(im1,im3,kmul(rm1,rm3)))),kmadd(ksub(n2,ltet2),kmul(Ro222,kmadd(im2,im2,kmul(rm2,rm2))),kmadd(Ro212,kmsub(n2,kmadd(im1,im2,kmul(rm1,rm2)),kmul(ltet1,kmadd(im2,im2,kmul(rm2,rm2)))),kmadd(Ro232,kmsub(n2,kmadd(im2,im3,kmul(rm2,rm3)),kmul(ltet3,kmadd(im2,im2,kmul(rm2,rm2)))),kmadd(Ro221,kmsub(n1,kmadd(im2,im2,kmul(rm2,rm2)),kmul(ltet2,kmadd(im1,im2,kmul(rm1,rm2)))),kmadd(Ro223,kmsub(n3,kmadd(im2,im2,kmul(rm2,rm2)),kmul(ltet2,kmadd(im2,im3,kmul(rm2,rm3)))),kmadd(ksub(n3,ltet3),kmul(Ro333,kmadd(im3,im3,kmul(rm3,rm3))),kmadd(Ro313,kmsub(n3,kmadd(im1,im3,kmul(rm1,rm3)),kmul(ltet1,kmadd(im3,im3,kmul(rm3,rm3)))),kmadd(Ro323,kmsub(n3,kmadd(im2,im3,kmul(rm2,rm3)),kmul(ltet2,kmadd(im3,im3,kmul(rm3,rm3)))),kmadd(Ro331,kmsub(n1,kmadd(im3,im3,kmul(rm3,rm3)),kmul(ltet3,kmadd(im1,im3,kmul(rm1,rm3)))),kmul(Ro332,kmsub(n2,kmadd(im3,im3,kmul(rm3,rm3)),kmul(ltet3,kmadd(im2,im3,kmul(rm2,rm3))))))))))))))))))))))))))))))),kmul(kmadd(im2,kmul(im3,Rojo23),kmadd(rm2,kmul(rm3,Rojo23),kmadd(im1,kmadd(im2,kadd(Rojo12,Rojo21),kmul(im3,kadd(Rojo13,Rojo31))),kmadd(rm1,kmadd(rm2,kadd(Rojo12,Rojo21),kmul(rm3,kadd(Rojo13,Rojo31))),kmadd(im2,kmul(im3,Rojo32),kmadd(rm2,kmul(rm3,Rojo32),kmadd(Rojo11,kmul(im1,im1),kmadd(Rojo22,kmul(im2,im2),kmadd(Rojo33,kmul(im3,im3),kmadd(Rojo11,kmul(rm1,rm1),kmadd(Rojo22,kmul(rm2,rm2),kmul(Rojo33,kmul(rm3,rm3))))))))))))),kmul(nn,nn)))))))))));
CCTK_REAL_VEC Psi2iL CCTK_ATTRIBUTE_UNUSED =
- kmadd(kmsub(im3,rm1,kmul(im1,rm3)),kmadd(R4p1213,kmsub(ltet1,n2,kmul(ltet2,n1)),kmadd(R4p1313,kmsub(ltet1,n3,kmul(ltet3,n1)),kmul(R4p1323,kmsub(ltet2,n3,kmul(ltet3,n2))))),kmadd(kmsub(im2,rm1,kmul(im1,rm2)),kmadd(ltet1,kmadd(n2,R4p1212,kmul(n3,R4p1213)),kmsub(R4p1223,kmsub(ltet2,n3,kmul(ltet3,n2)),kmul(n1,kmadd(ltet3,R4p1213,kmul(ltet2,R4p1212))))),kmadd(kmsub(im3,rm2,kmul(im2,rm3)),kmadd(ltet1,kmadd(n1,R4p1213,kmul(n2,R4p1223)),kmadd(ltet1,kmul(n3,R4p1323),kmsub(ltet2,kmul(n3,R4p2323),kmadd(n1,kmadd(ltet2,R4p1223,kmul(ltet1,R4p1213)),kmul(ltet3,kmadd(n1,R4p1323,kmul(n2,R4p2323))))))),kmsub(kmul(nn,nn),kmadd(im1,kmadd(rm2,ksub(Rojo21,Rojo12),kmul(rm3,ksub(Rojo31,Rojo13))),kmadd(im2,kmadd(rm1,ksub(Rojo12,Rojo21),kmul(rm3,ksub(Rojo32,Rojo23))),kmul(im3,kmadd(rm1,ksub(Rojo13,Rojo31),kmul(rm2,ksub(Rojo23,Rojo32)))))),kmul(nn,kmadd(im1,kmadd(n2,kmul(rm2,Ro212),kmadd(n3,kmul(rm2,Ro213),kmadd(ltet2,kmul(rm2,Ro221),kmadd(ltet3,kmul(rm2,Ro231),kmadd(n2,kmul(rm3,Ro312),kmadd(n3,kmul(rm3,Ro313),kmadd(ltet2,kmul(rm3,Ro321),kmadd(ltet3,kmul(rm3,Ro331),knmsub(rm2,kmadd(n3,Ro123,kmadd(Ro122,kadd(n2,ltet2),kmul(ltet3,Ro132))),knmsub(rm3,kmadd(ltet2,Ro123,kmadd(Ro133,kadd(n3,ltet3),kmul(n2,Ro132))),kmadd(ltet1,kmadd(rm2,ksub(Ro211,Ro112),kmul(rm3,ksub(Ro311,Ro113))),kmul(n1,kmadd(rm2,ksub(Ro211,Ro121),kmul(rm3,ksub(Ro311,Ro131))))))))))))))),kmadd(im2,kmadd(ltet2,kmul(rm3,Ro322),kmadd(n2,kmul(rm3,Ro322),kmadd(n3,kmul(rm3,Ro323),kmadd(ltet3,kmul(rm3,Ro332),knmsub(rm3,kmadd(ltet2,Ro223,kmadd(Ro233,kadd(n3,ltet3),kmul(n2,Ro232))),kmadd(ltet1,kmadd(rm1,ksub(Ro112,Ro211),kmul(rm3,ksub(Ro312,Ro213))),kmadd(rm1,kmadd(n2,ksub(Ro122,Ro212),kmadd(n3,ksub(Ro123,Ro213),kmadd(ltet2,ksub(Ro122,Ro221),kmul(ltet3,ksub(Ro132,Ro231))))),kmul(n1,kmadd(rm1,ksub(Ro121,Ro211),kmul(rm3,ksub(Ro321,Ro231))))))))))),kmul(im3,kmadd(rm1,kmadd(kadd(ltet3,n3),Ro133,knmsub(n3,Ro313,knmsub(ltet3,Ro331,kmadd(n1,ksub(Ro131,Ro311),kmul(n2,ksub(Ro132,Ro312)))))),kmadd(ltet1,kmadd(rm1,ksub(Ro113,Ro311),kmul(rm2,ksub(Ro213,Ro312))),kmadd(ltet2,kmadd(rm1,ksub(Ro123,Ro321),kmul(rm2,ksub(Ro223,Ro322))),kmul(rm2,kmadd(kadd(ltet3,n3),Ro233,knmsub(n3,Ro323,knmsub(ltet3,Ro332,kmadd(n1,ksub(Ro231,Ro321),kmul(n2,ksub(Ro232,Ro322))))))))))))))))));
+ kmadd(knmsub(n1,kmadd(ltet3,R4p1213,kmul(ltet2,R4p1212)),kmadd(ltet1,kmadd(n2,R4p1212,kmul(n3,R4p1213)),kmul(R4p1223,kmsub(ltet2,n3,kmul(ltet3,n2))))),kmsub(im2,rm1,kmul(im1,rm2)),kmadd(kmadd(kmsub(ltet1,n2,kmul(ltet2,n1)),R4p1213,kmadd(kmsub(ltet1,n3,kmul(ltet3,n1)),R4p1313,kmul(R4p1323,kmsub(ltet2,n3,kmul(ltet3,n2))))),kmsub(im3,rm1,kmul(im1,rm3)),kmadd(knmsub(n1,kmadd(ltet2,R4p1223,kmul(ltet1,R4p1213)),kmadd(ltet1,kmadd(n1,R4p1213,kmul(n2,R4p1223)),kmadd(ltet1,kmul(n3,R4p1323),kmsub(ltet2,kmul(n3,R4p2323),kmul(ltet3,kmadd(n1,R4p1323,kmul(n2,R4p2323))))))),kmsub(im3,rm2,kmul(im2,rm3)),kmsub(kmadd(im1,kmadd(rm2,ksub(Rojo21,Rojo12),kmul(rm3,ksub(Rojo31,Rojo13))),kmadd(im3,kmadd(rm1,ksub(Rojo13,Rojo31),kmul(rm2,ksub(Rojo23,Rojo32))),kmul(im2,kmadd(rm1,ksub(Rojo12,Rojo21),kmul(rm3,ksub(Rojo32,Rojo23)))))),kmul(nn,nn),kmul(nn,kmadd(im1,knmsub(rm2,kmadd(kadd(ltet2,n2),Ro122,kmadd(ltet3,Ro132,kmul(n3,Ro123))),knmsub(rm3,kmadd(ltet2,Ro123,kmadd(kadd(ltet3,n3),Ro133,kmul(n2,Ro132))),kmadd(n2,kmul(rm2,Ro212),kmadd(n3,kmul(rm2,Ro213),kmadd(ltet2,kmul(rm2,Ro221),kmadd(ltet3,kmul(rm2,Ro231),kmadd(ltet1,kmadd(rm2,ksub(Ro211,Ro112),kmul(rm3,ksub(Ro311,Ro113))),kmadd(n1,kmadd(rm2,ksub(Ro211,Ro121),kmul(rm3,ksub(Ro311,Ro131))),kmadd(n2,kmul(rm3,Ro312),kmadd(n3,kmul(rm3,Ro313),kmadd(ltet2,kmul(rm3,Ro321),kmul(ltet3,kmul(rm3,Ro331))))))))))))),kmadd(im2,kmadd(rm1,kmadd(n2,ksub(Ro122,Ro212),kmadd(n3,ksub(Ro123,Ro213),kmadd(ltet2,ksub(Ro122,Ro221),kmul(ltet3,ksub(Ro132,Ro231))))),knmsub(rm3,kmadd(ltet2,Ro223,kmadd(kadd(ltet3,n3),Ro233,kmul(n2,Ro232))),kmadd(ltet1,kmadd(rm1,ksub(Ro112,Ro211),kmul(rm3,ksub(Ro312,Ro213))),kmadd(n1,kmadd(rm1,ksub(Ro121,Ro211),kmul(rm3,ksub(Ro321,Ro231))),kmadd(ltet2,kmul(rm3,Ro322),kmadd(n2,kmul(rm3,Ro322),kmadd(n3,kmul(rm3,Ro323),kmul(ltet3,kmul(rm3,Ro332))))))))),kmul(im3,kmadd(ltet1,kmadd(rm1,ksub(Ro113,Ro311),kmul(rm2,ksub(Ro213,Ro312))),kmadd(ltet2,kmadd(rm1,ksub(Ro123,Ro321),kmul(rm2,ksub(Ro223,Ro322))),kmadd(rm1,kmadd(kadd(ltet3,n3),Ro133,kmadd(n1,ksub(Ro131,Ro311),kmsub(n2,ksub(Ro132,Ro312),kmadd(ltet3,Ro331,kmul(n3,Ro313))))),kmul(rm2,kmadd(kadd(ltet3,n3),Ro233,kmadd(n1,ksub(Ro231,Ro321),kmsub(n2,ksub(Ro232,Ro322),kmadd(ltet3,Ro332,kmul(n3,Ro323)))))))))))))))));
CCTK_REAL_VEC Psi1rL CCTK_ATTRIBUTE_UNUSED =
- knmsub(kmul(nn,nn),kmadd(kmadd(rm1,Rojo11,kmadd(rm2,Rojo12,kmul(rm3,Rojo13))),ksub(ltet1,n1),kmadd(rm1,kmadd(Rojo21,ksub(ltet2,n2),kmul(Rojo31,ksub(ltet3,n3))),kmadd(rm2,kmadd(Rojo22,ksub(ltet2,n2),kmul(Rojo32,ksub(ltet3,n3))),kmul(rm3,kmadd(Rojo23,ksub(ltet2,n2),kmul(Rojo33,ksub(ltet3,n3))))))),kmadd(ltet1,kmadd(ltet1,kmadd(n2,kmul(R4p1212,rm2),kmadd(n3,kmul(R4p1213,rm2),kmadd(n2,kmul(R4p1213,rm3),kmul(n3,kmul(R4p1313,rm3))))),kmadd(nn,kmul(rm2,kmul(Ro221,kmadd(n2,ToReal(-2),ltet2))),kmadd(nn,kmul(rm3,kmul(Ro331,kmadd(n3,ToReal(-2),ltet3))),knmsub(ltet3,kmadd(n1,kmul(R4p1213,rm2),kmadd(n2,kmul(R4p1223,rm2),kmadd(n1,kmul(R4p1313,rm3),kmul(n2,kmul(R4p1323,rm3))))),kmadd(ltet2,kmsub(n3,kmadd(R4p1223,rm2,kmul(R4p1323,rm3)),kmul(n1,kmadd(R4p1212,rm2,kmul(R4p1213,rm3)))),kmadd(nn,kmul(Ro121,kmsub(rm2,ksub(ltet1,n1),kmul(n2,rm1))),kmadd(nn,kmul(Ro131,kmsub(rm3,ksub(ltet1,n1),kmul(n3,rm1))),kmadd(nn,kmul(Ro211,kmsub(rm1,ksub(ltet2,n2),kmul(n1,rm2))),kmadd(nn,kmul(Ro311,kmsub(rm1,ksub(ltet3,n3),kmul(n1,rm3))),kmadd(nn,kmul(Ro321,kmsub(rm2,ksub(ltet3,n3),kmul(n2,rm3))),kmul(nn,kmsub(rm1,kmul(Ro111,kmadd(n1,ToReal(-2),ltet1)),kmul(Ro231,kmadd(n3,rm2,kmul(rm3,ksub(n2,ltet2)))))))))))))))),kmadd(ltet3,kmadd(ltet3,kmadd(n1,kmul(R4p1313,rm1),kmadd(n2,kmul(R4p1323,rm1),kmadd(n1,kmul(R4p1323,rm2),kmul(n2,kmul(R4p2323,rm2))))),kmadd(nn,kmul(rm2,kmul(Ro223,kmadd(n2,ToReal(-2),ltet2))),kmadd(nn,kmul(rm3,kmul(Ro333,kmadd(n3,ToReal(-2),ltet3))),knmsub(ltet1,kmadd(n2,kmul(R4p1213,rm1),kmadd(n3,kmul(R4p1313,rm1),kmadd(n2,kmul(R4p1223,rm2),kmul(n3,kmul(R4p1323,rm2))))),kmadd(ltet2,kmsub(n1,kmadd(R4p1213,rm1,kmul(R4p1223,rm2)),kmul(n3,kmadd(R4p1323,rm1,kmul(R4p2323,rm2)))),kmadd(nn,kmul(Ro213,kmsub(rm1,ksub(ltet2,n2),kmul(n1,rm2))),kmadd(nn,kmul(Ro313,kmsub(rm1,ksub(ltet3,n3),kmul(n1,rm3))),kmadd(nn,kmul(Ro323,kmsub(rm2,ksub(ltet3,n3),kmul(n2,rm3))),kmul(nn,kmsub(rm1,kmul(Ro113,kmadd(n1,ToReal(-2),ltet1)),kmadd(Ro123,kmadd(n2,rm1,kmul(rm2,ksub(n1,ltet1))),kmadd(Ro233,kmadd(n3,rm2,kmul(rm3,ksub(n2,ltet2))),kmul(Ro133,kmadd(n3,rm1,kmul(rm3,ksub(n1,ltet1)))))))))))))))),kmul(ltet2,kmadd(ltet1,kmadd(n2,kmul(R4p1223,rm3),kmsub(n3,kmul(R4p1323,rm3),kmul(rm1,kmadd(n3,R4p1213,kmul(n2,R4p1212))))),kmadd(ltet2,kmadd(rm3,kmsub(n3,R4p2323,kmul(n1,R4p1223)),kmul(rm1,kmsub(n1,R4p1212,kmul(n3,R4p1223)))),kmadd(ltet3,kmsub(kmadd(n1,R4p1213,kmul(n2,R4p1223)),rm1,kmul(rm3,kmadd(n2,R4p2323,kmul(n1,R4p1323)))),kmul(nn,kmadd(rm1,kmul(Ro112,kmadd(n1,ToReal(-2),ltet1)),kmadd(rm2,kmul(Ro222,kmadd(n2,ToReal(-2),ltet2)),kmadd(rm3,kmul(Ro332,kmadd(n3,ToReal(-2),ltet3)),knmsub(Ro122,kmadd(n2,rm1,kmul(rm2,ksub(n1,ltet1))),knmsub(Ro132,kmadd(n3,rm1,kmul(rm3,ksub(n1,ltet1))),kmadd(Ro212,kmsub(rm1,ksub(ltet2,n2),kmul(n1,rm2)),kmadd(Ro232,kmsub(rm3,ksub(ltet2,n2),kmul(n3,rm2)),kmadd(Ro312,kmsub(rm1,ksub(ltet3,n3),kmul(n1,rm3)),kmul(Ro322,kmsub(rm2,ksub(ltet3,n3),kmul(n2,rm3)))))))))))))))))));
+ kmadd(ltet1,kmadd(ltet1,kmadd(n2,kmul(R4p1212,rm2),kmadd(n3,kmul(R4p1213,rm2),kmadd(n2,kmul(R4p1213,rm3),kmul(n3,kmul(R4p1313,rm3))))),knmsub(ltet3,kmadd(n1,kmul(R4p1213,rm2),kmadd(n2,kmul(R4p1223,rm2),kmadd(n1,kmul(R4p1313,rm3),kmul(n2,kmul(R4p1323,rm3))))),kmadd(ltet2,kmsub(n3,kmadd(R4p1223,rm2,kmul(R4p1323,rm3)),kmul(n1,kmadd(R4p1212,rm2,kmul(R4p1213,rm3)))),kmadd(nn,kmul(Ro121,kmsub(ksub(ltet1,n1),rm2,kmul(n2,rm1))),kmadd(nn,kmul(Ro131,kmsub(ksub(ltet1,n1),rm3,kmul(n3,rm1))),kmadd(nn,kmul(Ro211,kmsub(ksub(ltet2,n2),rm1,kmul(n1,rm2))),kmadd(kmadd(ToReal(-2),n2,ltet2),kmul(nn,kmul(rm2,Ro221)),kmadd(nn,kmsub(kmadd(ToReal(-2),n1,ltet1),kmul(rm1,Ro111),kmul(Ro231,kmadd(n3,rm2,kmul(ksub(n2,ltet2),rm3)))),kmadd(nn,kmul(Ro311,kmsub(ksub(ltet3,n3),rm1,kmul(n1,rm3))),kmadd(nn,kmul(Ro321,kmsub(ksub(ltet3,n3),rm2,kmul(n2,rm3))),kmul(kmadd(ToReal(-2),n3,ltet3),kmul(nn,kmul(rm3,Ro331))))))))))))),kmadd(ltet2,kmadd(ltet1,knmsub(kmadd(n3,R4p1213,kmul(n2,R4p1212)),rm1,kmadd(n2,kmul(R4p1223,rm3),kmul(n3,kmul(R4p1323,rm3)))),kmadd(ltet3,kmsub(kmadd(n1,R4p1213,kmul(n2,R4p1223)),rm1,kmul(rm3,kmadd(n2,R4p2323,kmul(n1,R4p1323)))),kmadd(ltet2,kmadd(kmsub(n1,R4p1212,kmul(n3,R4p1223)),rm1,kmul(rm3,kmsub(n3,R4p2323,kmul(n1,R4p1223)))),kmul(nn,kmadd(kmadd(ToReal(-2),n1,ltet1),kmul(rm1,Ro112),knmsub(kmadd(n2,rm1,kmul(rm2,ksub(n1,ltet1))),Ro122,knmsub(kmadd(n3,rm1,kmul(rm3,ksub(n1,ltet1))),Ro132,kmadd(kmsub(ksub(ltet2,n2),rm1,kmul(n1,rm2)),Ro212,kmadd(kmadd(ToReal(-2),n2,ltet2),kmul(rm2,Ro222),kmadd(kmsub(ksub(ltet2,n2),rm3,kmul(n3,rm2)),Ro232,kmadd(kmsub(ksub(ltet3,n3),rm1,kmul(n1,rm3)),Ro312,kmadd(kmsub(ksub(ltet3,n3),rm2,kmul(n2,rm3)),Ro322,kmul(kmadd(ToReal(-2),n3,ltet3),kmul(rm3,Ro332)))))))))))))),kmsub(ltet3,knmsub(ltet1,kmadd(n2,kmul(R4p1213,rm1),kmadd(n3,kmul(R4p1313,rm1),kmadd(n2,kmul(R4p1223,rm2),kmul(n3,kmul(R4p1323,rm2))))),kmadd(ltet3,kmadd(n1,kmul(R4p1313,rm1),kmadd(n2,kmul(R4p1323,rm1),kmadd(n1,kmul(R4p1323,rm2),kmul(n2,kmul(R4p2323,rm2))))),kmadd(ltet2,kmsub(n1,kmadd(R4p1213,rm1,kmul(R4p1223,rm2)),kmul(n3,kmadd(R4p1323,rm1,kmul(R4p2323,rm2)))),kmadd(nn,kmul(Ro213,kmsub(ksub(ltet2,n2),rm1,kmul(n1,rm2))),kmadd(kmadd(ToReal(-2),n2,ltet2),kmul(nn,kmul(rm2,Ro223)),kmadd(nn,kmsub(kmadd(ToReal(-2),n1,ltet1),kmul(rm1,Ro113),kmadd(kmadd(n2,rm1,kmul(rm2,ksub(n1,ltet1))),Ro123,kmadd(kmadd(n3,rm2,kmul(rm3,ksub(n2,ltet2))),Ro233,kmul(Ro133,kmadd(n3,rm1,kmul(ksub(n1,ltet1),rm3)))))),kmadd(nn,kmul(Ro313,kmsub(ksub(ltet3,n3),rm1,kmul(n1,rm3))),kmadd(nn,kmul(Ro323,kmsub(ksub(ltet3,n3),rm2,kmul(n2,rm3))),kmul(kmadd(ToReal(-2),n3,ltet3),kmul(nn,kmul(rm3,Ro333))))))))))),kmul(kmadd(ksub(ltet1,n1),kmadd(rm1,Rojo11,kmadd(rm2,Rojo12,kmul(rm3,Rojo13))),kmadd(rm1,kmadd(ksub(ltet2,n2),Rojo21,kmul(Rojo31,ksub(ltet3,n3))),kmadd(rm2,kmadd(ksub(ltet2,n2),Rojo22,kmul(Rojo32,ksub(ltet3,n3))),kmul(rm3,kmadd(ksub(ltet2,n2),Rojo23,kmul(Rojo33,ksub(ltet3,n3))))))),kmul(nn,nn)))));
CCTK_REAL_VEC Psi1iL CCTK_ATTRIBUTE_UNUSED =
- knmsub(kmul(nn,nn),kmadd(im1,kmadd(Rojo11,ksub(ltet1,n1),kmadd(Rojo21,ksub(ltet2,n2),kmul(Rojo31,ksub(ltet3,n3)))),kmadd(im2,kmadd(Rojo12,ksub(ltet1,n1),kmadd(Rojo22,ksub(ltet2,n2),kmul(Rojo32,ksub(ltet3,n3)))),kmul(im3,kmadd(Rojo13,ksub(ltet1,n1),kmadd(Rojo23,ksub(ltet2,n2),kmul(Rojo33,ksub(ltet3,n3))))))),kmadd(ltet1,kmadd(im2,kmadd(nn,kmul(Ro221,kmadd(n2,ToReal(-2),ltet2)),kmadd(R4p1212,kmsub(ltet1,n2,kmul(ltet2,n1)),kmadd(R4p1213,kmsub(ltet1,n3,kmul(ltet3,n1)),kmul(R4p1223,kmsub(ltet2,n3,kmul(ltet3,n2)))))),kmadd(im3,kmadd(nn,kmul(Ro331,kmadd(n3,ToReal(-2),ltet3)),kmadd(R4p1213,kmsub(ltet1,n2,kmul(ltet2,n1)),kmadd(R4p1313,kmsub(ltet1,n3,kmul(ltet3,n1)),kmul(R4p1323,kmsub(ltet2,n3,kmul(ltet3,n2)))))),kmul(nn,kmadd(im1,kmul(Ro111,kmadd(n1,ToReal(-2),ltet1)),knmsub(Ro211,kmadd(im2,n1,kmul(im1,ksub(n2,ltet2))),knmsub(Ro311,kmadd(im3,n1,kmul(im1,ksub(n3,ltet3))),knmsub(Ro321,kmadd(im3,n2,kmul(im2,ksub(n3,ltet3))),kmadd(Ro121,kmsub(im2,ksub(ltet1,n1),kmul(im1,n2)),kmadd(Ro131,kmsub(im3,ksub(ltet1,n1),kmul(im1,n3)),kmul(Ro231,kmsub(im3,ksub(ltet2,n2),kmul(im2,n3)))))))))))),kmadd(ltet2,kmadd(im3,kmadd(nn,kmul(Ro332,kmadd(n3,ToReal(-2),ltet3)),kmadd(R4p1223,kmsub(ltet1,n2,kmul(ltet2,n1)),kmadd(R4p1323,kmsub(ltet1,n3,kmul(ltet3,n1)),kmul(R4p2323,kmsub(ltet2,n3,kmul(ltet3,n2)))))),kmadd(im1,kmadd(nn,kmul(Ro112,kmadd(n1,ToReal(-2),ltet1)),kmadd(R4p1212,kmsub(ltet2,n1,kmul(ltet1,n2)),kmadd(R4p1213,kmsub(ltet3,n1,kmul(ltet1,n3)),kmul(R4p1223,kmsub(ltet3,n2,kmul(ltet2,n3)))))),kmul(nn,kmadd(im2,kmul(Ro222,kmadd(n2,ToReal(-2),ltet2)),knmsub(Ro312,kmadd(im3,n1,kmul(im1,ksub(n3,ltet3))),knmsub(Ro322,kmadd(im3,n2,kmul(im2,ksub(n3,ltet3))),kmadd(Ro122,kmsub(im2,ksub(ltet1,n1),kmul(im1,n2)),kmadd(Ro132,kmsub(im3,ksub(ltet1,n1),kmul(im1,n3)),kmadd(Ro212,kmsub(im1,ksub(ltet2,n2),kmul(im2,n1)),kmul(Ro232,kmsub(im3,ksub(ltet2,n2),kmul(im2,n3)))))))))))),kmul(ltet3,kmadd(im1,kmadd(nn,kmul(Ro113,kmadd(n1,ToReal(-2),ltet1)),kmadd(R4p1213,kmsub(ltet2,n1,kmul(ltet1,n2)),kmadd(R4p1313,kmsub(ltet3,n1,kmul(ltet1,n3)),kmul(R4p1323,kmsub(ltet3,n2,kmul(ltet2,n3)))))),kmadd(im2,kmadd(nn,kmul(Ro223,kmadd(n2,ToReal(-2),ltet2)),kmadd(R4p1223,kmsub(ltet2,n1,kmul(ltet1,n2)),kmadd(R4p1323,kmsub(ltet3,n1,kmul(ltet1,n3)),kmul(R4p2323,kmsub(ltet3,n2,kmul(ltet2,n3)))))),kmul(nn,kmadd(im3,kmul(Ro333,kmadd(n3,ToReal(-2),ltet3)),knmsub(Ro213,kmadd(im2,n1,kmul(im1,ksub(n2,ltet2))),kmadd(Ro123,kmsub(im2,ksub(ltet1,n1),kmul(im1,n2)),kmadd(Ro133,kmsub(im3,ksub(ltet1,n1),kmul(im1,n3)),kmadd(Ro233,kmsub(im3,ksub(ltet2,n2),kmul(im2,n3)),kmadd(Ro313,kmsub(im1,ksub(ltet3,n3),kmul(im3,n1)),kmul(Ro323,kmsub(im2,ksub(ltet3,n3),kmul(im3,n2))))))))))))))));
+ kmadd(ltet1,kmadd(im2,kmadd(kmsub(ltet1,n2,kmul(ltet2,n1)),R4p1212,kmadd(kmsub(ltet1,n3,kmul(ltet3,n1)),R4p1213,kmadd(kmsub(ltet2,n3,kmul(ltet3,n2)),R4p1223,kmul(kmadd(ToReal(-2),n2,ltet2),kmul(nn,Ro221))))),kmadd(nn,kmadd(im1,kmul(Ro111,kmadd(ToReal(-2),n1,ltet1)),kmadd(kmsub(im2,ksub(ltet1,n1),kmul(im1,n2)),Ro121,kmadd(kmsub(im3,ksub(ltet1,n1),kmul(im1,n3)),Ro131,knmsub(kmadd(im2,n1,kmul(im1,ksub(n2,ltet2))),Ro211,kmsub(kmsub(im3,ksub(ltet2,n2),kmul(im2,n3)),Ro231,kmadd(kmadd(im3,n2,kmul(im2,ksub(n3,ltet3))),Ro321,kmul(Ro311,kmadd(im3,n1,kmul(im1,ksub(n3,ltet3)))))))))),kmul(im3,kmadd(kmsub(ltet1,n2,kmul(ltet2,n1)),R4p1213,kmadd(kmsub(ltet1,n3,kmul(ltet3,n1)),R4p1313,kmadd(kmsub(ltet2,n3,kmul(ltet3,n2)),R4p1323,kmul(kmadd(ToReal(-2),n3,ltet3),kmul(nn,Ro331)))))))),kmadd(ltet2,kmadd(im1,kmadd(kmsub(ltet2,n1,kmul(ltet1,n2)),R4p1212,kmadd(kmsub(ltet3,n1,kmul(ltet1,n3)),R4p1213,kmadd(kmsub(ltet3,n2,kmul(ltet2,n3)),R4p1223,kmul(kmadd(ToReal(-2),n1,ltet1),kmul(nn,Ro112))))),kmadd(nn,kmadd(kmsub(im2,ksub(ltet1,n1),kmul(im1,n2)),Ro122,kmadd(kmsub(im3,ksub(ltet1,n1),kmul(im1,n3)),Ro132,kmadd(kmsub(im1,ksub(ltet2,n2),kmul(im2,n1)),Ro212,kmadd(im2,kmul(Ro222,kmadd(ToReal(-2),n2,ltet2)),kmsub(kmsub(im3,ksub(ltet2,n2),kmul(im2,n3)),Ro232,kmadd(kmadd(im3,n2,kmul(im2,ksub(n3,ltet3))),Ro322,kmul(Ro312,kmadd(im3,n1,kmul(im1,ksub(n3,ltet3)))))))))),kmul(im3,kmadd(kmsub(ltet1,n2,kmul(ltet2,n1)),R4p1223,kmadd(kmsub(ltet1,n3,kmul(ltet3,n1)),R4p1323,kmadd(kmsub(ltet2,n3,kmul(ltet3,n2)),R4p2323,kmul(kmadd(ToReal(-2),n3,ltet3),kmul(nn,Ro332)))))))),kmsub(ltet3,kmadd(im1,kmadd(kmsub(ltet2,n1,kmul(ltet1,n2)),R4p1213,kmadd(kmsub(ltet3,n1,kmul(ltet1,n3)),R4p1313,kmadd(kmsub(ltet3,n2,kmul(ltet2,n3)),R4p1323,kmul(kmadd(ToReal(-2),n1,ltet1),kmul(nn,Ro113))))),kmadd(im2,kmadd(kmsub(ltet2,n1,kmul(ltet1,n2)),R4p1223,kmadd(kmsub(ltet3,n1,kmul(ltet1,n3)),R4p1323,kmadd(kmsub(ltet3,n2,kmul(ltet2,n3)),R4p2323,kmul(kmadd(ToReal(-2),n2,ltet2),kmul(nn,Ro223))))),kmul(nn,kmadd(kmsub(im2,ksub(ltet1,n1),kmul(im1,n2)),Ro123,kmadd(kmsub(im3,ksub(ltet1,n1),kmul(im1,n3)),Ro133,knmsub(kmadd(im2,n1,kmul(im1,ksub(n2,ltet2))),Ro213,kmadd(kmsub(im3,ksub(ltet2,n2),kmul(im2,n3)),Ro233,kmadd(kmsub(im1,ksub(ltet3,n3),kmul(im3,n1)),Ro313,kmadd(kmsub(im2,ksub(ltet3,n3),kmul(im3,n2)),Ro323,kmul(im3,kmul(Ro333,kmadd(ToReal(-2),n3,ltet3)))))))))))),kmul(kmadd(im1,kmadd(ksub(ltet1,n1),Rojo11,kmadd(ksub(ltet2,n2),Rojo21,kmul(Rojo31,ksub(ltet3,n3)))),kmadd(im2,kmadd(ksub(ltet1,n1),Rojo12,kmadd(ksub(ltet2,n2),Rojo22,kmul(Rojo32,ksub(ltet3,n3)))),kmul(im3,kmadd(ksub(ltet1,n1),Rojo13,kmadd(ksub(ltet2,n2),Rojo23,kmul(Rojo33,ksub(ltet3,n3))))))),kmul(nn,nn)))));
CCTK_REAL_VEC Psi0rL CCTK_ATTRIBUTE_UNUSED =
- knmsub(kmadd(R4p1212,kmul(ltet1,ltet1),kmadd(R4p2323,kmul(ltet3,ltet3),kmul(ltet1,kmul(ltet3,kmul(R4p1223,ToReal(-2)))))),kmsub(im2,im2,kmul(rm2,rm2)),knmsub(kmul(nn,nn),kmadd(im1,kmadd(im2,kadd(Rojo12,Rojo21),kmul(im3,kadd(Rojo13,Rojo31))),knmsub(rm1,kmadd(rm2,kadd(Rojo12,Rojo21),kmul(rm3,kadd(Rojo13,Rojo31))),kmadd(Rojo23,kmsub(im2,im3,kmul(rm2,rm3)),kmadd(Rojo32,kmsub(im2,im3,kmul(rm2,rm3)),kmadd(Rojo11,kmsub(im1,im1,kmul(rm1,rm1)),kmadd(Rojo22,kmsub(im2,im2,kmul(rm2,rm2)),kmul(Rojo33,kmsub(im3,im3,kmul(rm3,rm3))))))))),kmsub(kmadd(kmsub(ltet1,kmadd(ltet2,R4p1212,kmul(ltet3,R4p1213)),kmul(ltet3,kmadd(ltet2,R4p1223,kmul(ltet3,R4p1323)))),kmsub(im1,im2,kmul(rm1,rm2)),kmadd(kmadd(ltet1,kmul(ltet2,R4p1213),kmadd(ltet1,kmul(ltet3,R4p1313),kmadd(ltet2,kmul(ltet3,R4p1323),kmul(R4p1223,kmul(ltet2,ltet2))))),kmsub(im1,im3,kmul(rm1,rm3)),kmadd(kmsub(rm2,rm3,kmul(im2,im3)),kmadd(R4p1213,kmul(ltet1,ltet1),kmsub(ltet1,kmsub(ltet2,R4p1223,kmul(ltet3,R4p1323)),kmul(ltet2,kmul(ltet3,R4p2323)))),kmul(nn,kmadd(kmadd(ltet1,Ro112,kmadd(ltet2,Ro122,kmul(ltet3,Ro132))),kmsub(rm1,rm2,kmul(im1,im2)),kmadd(kmadd(ltet1,Ro211,kmadd(ltet2,Ro221,kmul(ltet3,Ro231))),kmsub(rm1,rm2,kmul(im1,im2)),kmadd(kmadd(ltet1,Ro113,kmadd(ltet2,Ro123,kmul(ltet3,Ro133))),kmsub(rm1,rm3,kmul(im1,im3)),kmadd(kmadd(ltet1,Ro311,kmadd(ltet2,Ro321,kmul(ltet3,Ro331))),kmsub(rm1,rm3,kmul(im1,im3)),kmadd(kmadd(ltet1,Ro213,kmadd(ltet2,Ro223,kmul(ltet3,Ro233))),kmsub(rm2,rm3,kmul(im2,im3)),kmadd(kmadd(ltet1,Ro312,kmadd(ltet2,Ro322,kmul(ltet3,Ro332))),kmsub(rm2,rm3,kmul(im2,im3)),kmadd(kmadd(ltet1,Ro111,kmadd(ltet2,Ro121,kmul(ltet3,Ro131))),kmsub(rm1,rm1,kmul(im1,im1)),kmadd(kmadd(ltet1,Ro212,kmadd(ltet2,Ro222,kmul(ltet3,Ro232))),kmsub(rm2,rm2,kmul(im2,im2)),kmul(kmadd(ltet1,Ro313,kmadd(ltet2,Ro323,kmul(ltet3,Ro333))),kmsub(rm3,rm3,kmul(im3,im3))))))))))))))),ToReal(2),kmadd(kmsub(im3,im3,kmul(rm3,rm3)),kmadd(R4p1313,kmul(ltet1,ltet1),kmadd(R4p2323,kmul(ltet2,ltet2),kmul(ltet1,kmul(ltet2,kmul(R4p1323,ToReal(2)))))),kmul(kmsub(im1,im1,kmul(rm1,rm1)),kmadd(R4p1212,kmul(ltet2,ltet2),kmadd(R4p1313,kmul(ltet3,ltet3),kmul(ltet2,kmul(ltet3,kmul(R4p1213,ToReal(2)))))))))));
+ kmadd(ToReal(2),kmul(kmsub(im1,im2,kmul(rm1,rm2)),kmsub(ltet1,kmadd(ltet2,R4p1212,kmul(ltet3,R4p1213)),kmul(ltet3,kmadd(ltet2,R4p1223,kmul(ltet3,R4p1323))))),kmadd(ToReal(2),kmul(kmadd(ltet1,kmsub(ltet2,R4p1223,kmul(ltet3,R4p1323)),kmsub(R4p1213,kmul(ltet1,ltet1),kmul(ltet2,kmul(ltet3,R4p2323)))),kmsub(rm2,rm3,kmul(im2,im3))),kmadd(ToReal(2),kmul(kmadd(ltet1,kmul(ltet2,R4p1213),kmadd(ltet1,kmul(ltet3,R4p1313),kmadd(ltet2,kmul(ltet3,R4p1323),kmul(R4p1223,kmul(ltet2,ltet2))))),kmsub(im1,im3,kmul(rm1,rm3))),knmsub(kmadd(ToReal(2),kmul(ltet2,kmul(ltet3,R4p1213)),kmadd(R4p1212,kmul(ltet2,ltet2),kmul(R4p1313,kmul(ltet3,ltet3)))),kmsub(im1,im1,kmul(rm1,rm1)),knmsub(kmadd(ToReal(-2),kmul(ltet1,kmul(ltet3,R4p1223)),kmadd(R4p1212,kmul(ltet1,ltet1),kmul(R4p2323,kmul(ltet3,ltet3)))),kmsub(im2,im2,kmul(rm2,rm2)),knmsub(kmul(nn,nn),kmadd(kmsub(im2,im3,kmul(rm2,rm3)),Rojo23,kmadd(im1,kmadd(im2,kadd(Rojo12,Rojo21),kmul(im3,kadd(Rojo13,Rojo31))),knmsub(rm1,kmadd(rm2,kadd(Rojo12,Rojo21),kmul(rm3,kadd(Rojo13,Rojo31))),kmadd(kmsub(im2,im3,kmul(rm2,rm3)),Rojo32,kmadd(Rojo11,kmsub(im1,im1,kmul(rm1,rm1)),kmadd(Rojo22,kmsub(im2,im2,kmul(rm2,rm2)),kmul(Rojo33,kmsub(im3,im3,kmul(rm3,rm3))))))))),kmsub(ToReal(2),kmul(nn,kmadd(kmsub(rm1,rm2,kmul(im1,im2)),kmadd(ltet1,Ro112,kmadd(ltet2,Ro122,kmul(ltet3,Ro132))),kmadd(kmsub(rm1,rm3,kmul(im1,im3)),kmadd(ltet1,Ro113,kmadd(ltet2,Ro123,kmul(ltet3,Ro133))),kmadd(kmsub(rm1,rm2,kmul(im1,im2)),kmadd(ltet1,Ro211,kmadd(ltet2,Ro221,kmul(ltet3,Ro231))),kmadd(kmsub(rm2,rm3,kmul(im2,im3)),kmadd(ltet1,Ro213,kmadd(ltet2,Ro223,kmul(ltet3,Ro233))),kmadd(kmsub(rm1,rm3,kmul(im1,im3)),kmadd(ltet1,Ro311,kmadd(ltet2,Ro321,kmul(ltet3,Ro331))),kmadd(kmsub(rm2,rm3,kmul(im2,im3)),kmadd(ltet1,Ro312,kmadd(ltet2,Ro322,kmul(ltet3,Ro332))),kmadd(kmadd(ltet1,Ro111,kmadd(ltet2,Ro121,kmul(ltet3,Ro131))),kmsub(rm1,rm1,kmul(im1,im1)),kmadd(kmadd(ltet1,Ro212,kmadd(ltet2,Ro222,kmul(ltet3,Ro232))),kmsub(rm2,rm2,kmul(im2,im2)),kmul(kmadd(ltet1,Ro313,kmadd(ltet2,Ro323,kmul(ltet3,Ro333))),kmsub(rm3,rm3,kmul(im3,im3)))))))))))),kmul(kmadd(ToReal(2),kmul(ltet1,kmul(ltet2,R4p1323)),kmadd(R4p1313,kmul(ltet1,ltet1),kmul(R4p2323,kmul(ltet2,ltet2)))),kmsub(im3,im3,kmul(rm3,rm3))))))))));
CCTK_REAL_VEC Psi0iL CCTK_ATTRIBUTE_UNUSED =
- kmadd(kmadd(im3,rm1,kmul(im1,rm3)),kmul(kmadd(ltet1,kmadd(ltet2,R4p1213,kmul(ltet3,R4p1313)),kmadd(ltet2,kmul(ltet3,R4p1323),kmul(R4p1223,kmul(ltet2,ltet2)))),ToReal(-2)),kmadd(ToReal(2),kmadd(im2,kmul(rm2,kmadd(R4p1212,kmul(ltet1,ltet1),kmadd(R4p2323,kmul(ltet3,ltet3),kmul(ltet1,kmul(ltet3,kmul(R4p1223,ToReal(-2))))))),kmadd(kmadd(im2,rm1,kmul(im1,rm2)),kmsub(ltet3,kmadd(ltet2,R4p1223,kmul(ltet3,R4p1323)),kmul(ltet1,kmadd(ltet2,R4p1212,kmul(ltet3,R4p1213)))),kmadd(kmadd(im3,rm2,kmul(im2,rm3)),kmadd(R4p1213,kmul(ltet1,ltet1),kmsub(ltet1,kmsub(ltet2,R4p1223,kmul(ltet3,R4p1323)),kmul(ltet2,kmul(ltet3,R4p2323)))),kmadd(im1,kmul(rm1,kmadd(R4p1212,kmul(ltet2,ltet2),kmadd(R4p1313,kmul(ltet3,ltet3),kmul(ltet2,kmul(ltet3,kmul(R4p1213,ToReal(2))))))),kmadd(im3,kmul(rm3,kmadd(R4p1313,kmul(ltet1,ltet1),kmadd(R4p2323,kmul(ltet2,ltet2),kmul(ltet1,kmul(ltet2,kmul(R4p1323,ToReal(2))))))),kmul(nn,kmadd(kmadd(im2,rm1,kmul(im1,rm2)),kmadd(ltet1,kadd(Ro112,Ro211),kmadd(ltet2,kadd(Ro122,Ro221),kmul(ltet3,kadd(Ro132,Ro231)))),kmadd(kmadd(im3,rm1,kmul(im1,rm3)),kmadd(ltet1,kadd(Ro113,Ro311),kmadd(ltet2,kadd(Ro123,Ro321),kmul(ltet3,kadd(Ro133,Ro331)))),kmadd(kmadd(im3,rm2,kmul(im2,rm3)),kmadd(ltet1,kadd(Ro213,Ro312),kmadd(ltet2,kadd(Ro223,Ro322),kmul(ltet3,kadd(Ro233,Ro332)))),kmul(kmadd(im1,kmul(rm1,kmadd(ltet1,Ro111,kmadd(ltet2,Ro121,kmul(ltet3,Ro131)))),kmadd(im2,kmul(rm2,kmadd(ltet1,Ro212,kmadd(ltet2,Ro222,kmul(ltet3,Ro232)))),kmul(im3,kmul(rm3,kmadd(ltet1,Ro313,kmadd(ltet2,Ro323,kmul(ltet3,Ro333))))))),ToReal(2))))))))))),kmul(kmul(nn,nn),kmadd(im1,kmadd(rm2,kadd(Rojo12,Rojo21),kmadd(rm3,kadd(Rojo13,Rojo31),kmul(rm1,kmul(Rojo11,ToReal(2))))),kmadd(im2,kmadd(rm1,kadd(Rojo12,Rojo21),kmadd(rm3,kadd(Rojo23,Rojo32),kmul(rm2,kmul(Rojo22,ToReal(2))))),kmul(im3,kmadd(rm1,kadd(Rojo13,Rojo31),kmadd(rm2,kadd(Rojo23,Rojo32),kmul(rm3,kmul(Rojo33,ToReal(2)))))))))));
-
+ kmadd(ToReal(-2),kmul(kmadd(im3,rm1,kmul(im1,rm3)),kmadd(ltet1,kmadd(ltet2,R4p1213,kmul(ltet3,R4p1313)),kmadd(ltet2,kmul(ltet3,R4p1323),kmul(R4p1223,kmul(ltet2,ltet2))))),kmadd(ToReal(2),kmadd(kmsub(ltet3,kmadd(ltet2,R4p1223,kmul(ltet3,R4p1323)),kmul(ltet1,kmadd(ltet2,R4p1212,kmul(ltet3,R4p1213)))),kmadd(im2,rm1,kmul(im1,rm2)),kmadd(nn,kmadd(kmadd(im2,rm1,kmul(im1,rm2)),kmadd(ltet1,kadd(Ro112,Ro211),kmadd(ltet2,kadd(Ro122,Ro221),kmul(ltet3,kadd(Ro132,Ro231)))),kmadd(kmadd(im3,rm1,kmul(im1,rm3)),kmadd(ltet1,kadd(Ro113,Ro311),kmadd(ltet2,kadd(Ro123,Ro321),kmul(ltet3,kadd(Ro133,Ro331)))),kmadd(kmadd(im3,rm2,kmul(im2,rm3)),kmadd(ltet1,kadd(Ro213,Ro312),kmadd(ltet2,kadd(Ro223,Ro322),kmul(ltet3,kadd(Ro233,Ro332)))),kmul(kmadd(im1,kmul(rm1,kmadd(ltet1,Ro111,kmadd(ltet2,Ro121,kmul(ltet3,Ro131)))),kmadd(im2,kmul(rm2,kmadd(ltet1,Ro212,kmadd(ltet2,Ro222,kmul(ltet3,Ro232)))),kmul(im3,kmul(rm3,kmadd(ltet1,Ro313,kmadd(ltet2,Ro323,kmul(ltet3,Ro333))))))),ToReal(2))))),kmadd(kmadd(im3,rm2,kmul(im2,rm3)),kmadd(ltet1,kmsub(ltet2,R4p1223,kmul(ltet3,R4p1323)),kmsub(R4p1213,kmul(ltet1,ltet1),kmul(ltet2,kmul(ltet3,R4p2323)))),kmadd(im3,kmul(rm3,kmadd(ToReal(2),kmul(ltet1,kmul(ltet2,R4p1323)),kmadd(R4p1313,kmul(ltet1,ltet1),kmul(R4p2323,kmul(ltet2,ltet2))))),kmadd(im1,kmul(rm1,kmadd(ToReal(2),kmul(ltet2,kmul(ltet3,R4p1213)),kmadd(R4p1212,kmul(ltet2,ltet2),kmul(R4p1313,kmul(ltet3,ltet3))))),kmul(im2,kmul(rm2,kmadd(ToReal(-2),kmul(ltet1,kmul(ltet3,R4p1223)),kmadd(R4p1212,kmul(ltet1,ltet1),kmul(R4p2323,kmul(ltet3,ltet3))))))))))),kmul(kmadd(im1,kmadd(ToReal(2),kmul(rm1,Rojo11),kmadd(rm2,kadd(Rojo12,Rojo21),kmul(rm3,kadd(Rojo13,Rojo31)))),kmadd(im2,kmadd(rm1,kadd(Rojo12,Rojo21),kmadd(ToReal(2),kmul(rm2,Rojo22),kmul(rm3,kadd(Rojo23,Rojo32)))),kmul(im3,kmadd(rm1,kadd(Rojo13,Rojo31),kmadd(rm2,kadd(Rojo23,Rojo32),kmul(kmul(rm3,Rojo33),ToReal(2))))))),kmul(nn,nn))));
/* Copy local copies back to grid functions */
vec_store_partial_prepare(i,vecimin,vecimax);
vec_store_nta_partial(Psi0i[index],Psi0iL);
@@ -1395,18 +1415,15 @@ static void WeylScal4_psis_calc_Nth_Body(const cGH* restrict const cctkGH, const
}
CCTK_ENDLOOP3STR(WeylScal4_psis_calc_Nth);
}
-
extern "C" void WeylScal4_psis_calc_Nth(CCTK_ARGUMENTS)
{
DECLARE_CCTK_ARGUMENTS;
DECLARE_CCTK_PARAMETERS;
-
if (verbose > 1)
{
CCTK_VInfo(CCTK_THORNSTRING,"Entering WeylScal4_psis_calc_Nth_Body");
}
-
if (cctk_iteration % WeylScal4_psis_calc_Nth_calc_every != WeylScal4_psis_calc_Nth_calc_offset)
{
return;
@@ -1426,41 +1443,42 @@ extern "C" void WeylScal4_psis_calc_Nth(CCTK_ARGUMENTS)
"WeylScal4::Psi3r_group",
"WeylScal4::Psi4i_group",
"WeylScal4::Psi4r_group"};
- GenericFD_AssertGroupStorage(cctkGH, "WeylScal4_psis_calc_Nth", 13, groups);
+ AssertGroupStorage(cctkGH, "WeylScal4_psis_calc_Nth", 13, groups);
switch (fdOrder)
{
case 2:
{
- GenericFD_EnsureStencilFits(cctkGH, "WeylScal4_psis_calc_Nth", 1, 1, 1);
+ EnsureStencilFits(cctkGH, "WeylScal4_psis_calc_Nth", 1, 1, 1);
break;
}
case 4:
{
- GenericFD_EnsureStencilFits(cctkGH, "WeylScal4_psis_calc_Nth", 2, 2, 2);
+ EnsureStencilFits(cctkGH, "WeylScal4_psis_calc_Nth", 2, 2, 2);
break;
}
case 6:
{
- GenericFD_EnsureStencilFits(cctkGH, "WeylScal4_psis_calc_Nth", 3, 3, 3);
+ EnsureStencilFits(cctkGH, "WeylScal4_psis_calc_Nth", 3, 3, 3);
break;
}
case 8:
{
- GenericFD_EnsureStencilFits(cctkGH, "WeylScal4_psis_calc_Nth", 4, 4, 4);
+ EnsureStencilFits(cctkGH, "WeylScal4_psis_calc_Nth", 4, 4, 4);
break;
}
default:
CCTK_BUILTIN_UNREACHABLE();
}
- GenericFD_LoopOverInterior(cctkGH, WeylScal4_psis_calc_Nth_Body);
-
+ LoopOverInterior(cctkGH, WeylScal4_psis_calc_Nth_Body);
if (verbose > 1)
{
CCTK_VInfo(CCTK_THORNSTRING,"Leaving WeylScal4_psis_calc_Nth_Body");
}
}
+
+} // namespace WeylScal4
diff --git a/src/make.code.defn b/src/make.code.defn
index 56c6ce4..b4ff858 100644
--- a/src/make.code.defn
+++ b/src/make.code.defn
@@ -1,3 +1,3 @@
# File produced by Kranc
-SRCS = Boundaries.cc RegisterMoL.cc RegisterSymmetries.cc Startup.cc WeylScal4_invars_calc_2nd.cc WeylScal4_invars_calc_4th.cc WeylScal4_invars_calc_Nth.cc WeylScal4_psi4_calc_2nd.cc WeylScal4_psi4_calc_4th.cc WeylScal4_psi4_calc_Nth.cc WeylScal4_psis_calc_2nd.cc WeylScal4_psis_calc_4th.cc WeylScal4_psis_calc_Nth.cc
+SRCS = Boundaries.cc Kranc.cc RegisterMoL.cc RegisterSymmetries.cc Startup.cc WeylScal4_invars_calc_2nd.cc WeylScal4_invars_calc_4th.cc WeylScal4_invars_calc_Nth.cc WeylScal4_psi4_calc_2nd.cc WeylScal4_psi4_calc_4th.cc WeylScal4_psi4_calc_Nth.cc WeylScal4_psis_calc_2nd.cc WeylScal4_psis_calc_4th.cc WeylScal4_psis_calc_Nth.cc