From 6b06bdb6fd316775a5d4112d223bda58439d5a43 Mon Sep 17 00:00:00 2001 From: hinder Date: Sun, 25 Sep 2011 19:20:15 +0000 Subject: Regenerate code git-svn-id: http://svn.einsteintoolkit.org/cactus/EinsteinAnalysis/WeylScal4/trunk@79 4f5cb9a8-4dd8-4c2d-9bbd-173fa4467843 --- param.ccl | 21 +- schedule.ccl | 45 ++ src/Differencing.h | 576 +++++++++++++++++++ src/make.code.defn | 2 +- src/psis_calc_2nd.cc | 376 ++++++++++-- src/psis_calc_4th.cc | 376 ++++++++++-- src/psis_calc_Nth.cc | 1540 ++++++++++++++++++++++++++++++++++++++++++++++++++ 7 files changed, 2824 insertions(+), 112 deletions(-) create mode 100644 src/psis_calc_Nth.cc diff --git a/param.ccl b/param.ccl index 7812807..dbe8f32 100644 --- a/param.ccl +++ b/param.ccl @@ -39,12 +39,19 @@ CCTK_REAL zorig "zorig" "*:*" :: "" } 0 +restricted: +CCTK_INT fdOrder "fdOrder" +{ + *:* :: "" +} 2 + private: KEYWORD fd_order "fd_order" { + "Nth" :: "Nth" "2nd" :: "2nd" "4th" :: "4th" -} "2nd" +} "Nth" restricted: CCTK_INT WeylScal4_MaxNumEvolvedVars "Number of evolved variables used by this thorn" ACCUMULATOR-BASE=MethodofLines::MoL_Num_Evolved_Vars STEERABLE=RECOVER @@ -64,6 +71,12 @@ CCTK_INT rhs_timelevels "Number of active RHS timelevels" STEERABLE=RECOVER 0:3 :: "" } 1 +restricted: +CCTK_INT psis_calc_Nth_calc_every "psis_calc_Nth_calc_every" STEERABLE=ALWAYS +{ + *:* :: "" +} 1 + restricted: CCTK_INT psis_calc_2nd_calc_every "psis_calc_2nd_calc_every" STEERABLE=ALWAYS { @@ -76,6 +89,12 @@ CCTK_INT psis_calc_4th_calc_every "psis_calc_4th_calc_every" STEERABLE=ALWAYS *:* :: "" } 1 +restricted: +CCTK_INT psis_calc_Nth_calc_offset "psis_calc_Nth_calc_offset" STEERABLE=ALWAYS +{ + *:* :: "" +} 0 + restricted: CCTK_INT psis_calc_2nd_calc_offset "psis_calc_2nd_calc_offset" STEERABLE=ALWAYS { diff --git a/schedule.ccl b/schedule.ccl index d8e2e82..b132601 100644 --- a/schedule.ccl +++ b/schedule.ccl @@ -24,6 +24,51 @@ schedule WeylScal4_RegisterSymmetries in SymmetryRegister } "register symmetries" +if (CCTK_EQUALS(fd_order, "Nth")) +{ + schedule group psis_calc_Nth_group in MoL_PseudoEvolution + { + # no language specified + } "psis_calc_Nth" +} + +schedule psis_calc_Nth in psis_calc_Nth_group +{ + LANG: C +} "psis_calc_Nth" + +schedule psis_calc_Nth_SelectBCs in psis_calc_Nth_bc_group +{ + LANG: C + OPTIONS: level + SYNC: Psi4i_group + SYNC: Psi4r_group +} "psis_calc_Nth_SelectBCs" + +schedule group ApplyBCs as psis_calc_Nth_ApplyBCs in psis_calc_Nth_bc_group after psis_calc_Nth_SelectBCs +{ + # no language specified +} "Apply BCs for groups set in psis_calc_Nth" + + +if (CCTK_EQUALS(fd_order, "Nth")) +{ + schedule group psis_calc_Nth_bc_group in psis_calc_Nth_group after psis_calc_Nth + { + # no language specified + } "psis_calc_Nth" +} + + +if (CCTK_EQUALS(fd_order, "Nth")) +{ + schedule group psis_calc_Nth_bc_group in MoL_PseudoEvolutionBoundaries after MoL_PostStep + { + # no language specified + } "psis_calc_Nth" +} + + if (CCTK_EQUALS(fd_order, "2nd")) { schedule group psis_calc_2nd_group in MoL_PseudoEvolution diff --git a/src/Differencing.h b/src/Differencing.h index 8663bb8..3a86524 100644 --- a/src/Differencing.h +++ b/src/Differencing.h @@ -286,6 +286,582 @@ static CCTK_REAL PDstandard4th32_impl(CCTK_REAL const* restrict const u, CCTK_RE } #endif +#ifndef KRANC_DIFF_FUNCTIONS +# define PDstandardfdOrder21(u) ((-(*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(0)]))*p1o2dx) +#else +# define PDstandardfdOrder21(u) (PDstandardfdOrder21_impl(u,p1o2dx,cdj,cdk)) +static CCTK_REAL PDstandardfdOrder21_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1o2dx, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; +static CCTK_REAL PDstandardfdOrder21_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1o2dx, ptrdiff_t const cdj, ptrdiff_t const cdk) +{ + ptrdiff_t const cdi=sizeof(CCTK_REAL); + return (-(*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(0)]))*p1o2dx; +} +#endif + +#ifndef KRANC_DIFF_FUNCTIONS +# define PDstandardfdOrder22(u) ((-(*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(0)]))*p1o2dy) +#else +# define PDstandardfdOrder22(u) (PDstandardfdOrder22_impl(u,p1o2dy,cdj,cdk)) +static CCTK_REAL PDstandardfdOrder22_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1o2dy, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; +static CCTK_REAL PDstandardfdOrder22_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1o2dy, ptrdiff_t const cdj, ptrdiff_t const cdk) +{ + ptrdiff_t const cdi=sizeof(CCTK_REAL); + return (-(*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(0)]))*p1o2dy; +} +#endif + +#ifndef KRANC_DIFF_FUNCTIONS +# define PDstandardfdOrder23(u) ((-(*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(-1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(1)]))*p1o2dz) +#else +# define PDstandardfdOrder23(u) (PDstandardfdOrder23_impl(u,p1o2dz,cdj,cdk)) +static CCTK_REAL PDstandardfdOrder23_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1o2dz, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; +static CCTK_REAL PDstandardfdOrder23_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1o2dz, ptrdiff_t const cdj, ptrdiff_t const cdk) +{ + ptrdiff_t const cdi=sizeof(CCTK_REAL); + return (-(*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(-1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(1)]))*p1o2dz; +} +#endif + +#ifndef KRANC_DIFF_FUNCTIONS +# define PDstandardfdOrder41(u) ((-8*(*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(0)]) + 8*(*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(0)]) - (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(0)]))*p1o12dx) +#else +# define PDstandardfdOrder41(u) (PDstandardfdOrder41_impl(u,p1o12dx,cdj,cdk)) +static CCTK_REAL PDstandardfdOrder41_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1o12dx, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; +static CCTK_REAL PDstandardfdOrder41_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1o12dx, ptrdiff_t const cdj, ptrdiff_t const cdk) +{ + ptrdiff_t const cdi=sizeof(CCTK_REAL); + return (-8*(*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(0)]) + 8*(*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(0)]) - (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(0)]))*p1o12dx; +} +#endif + +#ifndef KRANC_DIFF_FUNCTIONS +# define PDstandardfdOrder42(u) ((-8*(*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(0)]) + 8*(*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(0)]) - (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(0)]))*p1o12dy) +#else +# define PDstandardfdOrder42(u) (PDstandardfdOrder42_impl(u,p1o12dy,cdj,cdk)) +static CCTK_REAL PDstandardfdOrder42_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1o12dy, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; +static CCTK_REAL PDstandardfdOrder42_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1o12dy, ptrdiff_t const cdj, ptrdiff_t const cdk) +{ + ptrdiff_t const cdi=sizeof(CCTK_REAL); + return (-8*(*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(0)]) + 8*(*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(0)]) - (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(0)]))*p1o12dy; +} +#endif + +#ifndef KRANC_DIFF_FUNCTIONS +# define PDstandardfdOrder43(u) ((-8*(*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(-1)]) + 8*(*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(-2)]) - (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(2)]))*p1o12dz) +#else +# define PDstandardfdOrder43(u) (PDstandardfdOrder43_impl(u,p1o12dz,cdj,cdk)) +static CCTK_REAL PDstandardfdOrder43_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1o12dz, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; +static CCTK_REAL PDstandardfdOrder43_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1o12dz, ptrdiff_t const cdj, ptrdiff_t const cdk) +{ + ptrdiff_t const cdi=sizeof(CCTK_REAL); + return (-8*(*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(-1)]) + 8*(*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(-2)]) - (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(2)]))*p1o12dz; +} +#endif + +#ifndef KRANC_DIFF_FUNCTIONS +# define PDstandardfdOrder61(u) ((-45*(*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(0)]) + 45*(*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(0)]) + 9*(*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(0)]) - 9*(*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(0)]) - (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(0)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(0)+cdk*(0)]))*p1o60dx) +#else +# define PDstandardfdOrder61(u) (PDstandardfdOrder61_impl(u,p1o60dx,cdj,cdk)) +static CCTK_REAL PDstandardfdOrder61_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1o60dx, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; +static CCTK_REAL PDstandardfdOrder61_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1o60dx, ptrdiff_t const cdj, ptrdiff_t const cdk) +{ + ptrdiff_t const cdi=sizeof(CCTK_REAL); + return (-45*(*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(0)]) + 45*(*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(0)]) + 9*(*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(0)]) - 9*(*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(0)]) - (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(0)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(0)+cdk*(0)]))*p1o60dx; +} +#endif + +#ifndef KRANC_DIFF_FUNCTIONS +# define PDstandardfdOrder62(u) ((-45*(*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(0)]) + 45*(*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(0)]) + 9*(*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(0)]) - 9*(*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(0)]) - (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-3)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(3)+cdk*(0)]))*p1o60dy) +#else +# define PDstandardfdOrder62(u) (PDstandardfdOrder62_impl(u,p1o60dy,cdj,cdk)) +static CCTK_REAL PDstandardfdOrder62_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1o60dy, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; +static CCTK_REAL PDstandardfdOrder62_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1o60dy, ptrdiff_t const cdj, ptrdiff_t const cdk) +{ + ptrdiff_t const cdi=sizeof(CCTK_REAL); + return (-45*(*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(0)]) + 45*(*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(0)]) + 9*(*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(0)]) - 9*(*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(0)]) - (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-3)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(3)+cdk*(0)]))*p1o60dy; +} +#endif + +#ifndef KRANC_DIFF_FUNCTIONS +# define PDstandardfdOrder63(u) ((-45*(*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(-1)]) + 45*(*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(1)]) + 9*(*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(-2)]) - 9*(*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(2)]) - (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(-3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(3)]))*p1o60dz) +#else +# define PDstandardfdOrder63(u) (PDstandardfdOrder63_impl(u,p1o60dz,cdj,cdk)) +static CCTK_REAL PDstandardfdOrder63_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1o60dz, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; +static CCTK_REAL PDstandardfdOrder63_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1o60dz, ptrdiff_t const cdj, ptrdiff_t const cdk) +{ + ptrdiff_t const cdi=sizeof(CCTK_REAL); + return (-45*(*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(-1)]) + 45*(*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(1)]) + 9*(*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(-2)]) - 9*(*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(2)]) - (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(-3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(3)]))*p1o60dz; +} +#endif + +#ifndef KRANC_DIFF_FUNCTIONS +# define PDstandardfdOrder81(u) ((-672*(*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(0)]) + 672*(*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(0)]) + 168*(*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(0)]) - 168*(*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(0)]) - 32*(*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(0)+cdk*(0)]) + 32*(*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(0)+cdk*(0)]) + 3*(*(CCTK_REAL const*)&((char const*)(u))[cdi*(-4)+cdj*(0)+cdk*(0)]) - 3*(*(CCTK_REAL const*)&((char const*)(u))[cdi*(4)+cdj*(0)+cdk*(0)]))*p1o840dx) +#else +# define PDstandardfdOrder81(u) (PDstandardfdOrder81_impl(u,p1o840dx,cdj,cdk)) +static CCTK_REAL PDstandardfdOrder81_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1o840dx, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; +static CCTK_REAL PDstandardfdOrder81_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1o840dx, ptrdiff_t const cdj, ptrdiff_t const cdk) +{ + ptrdiff_t const cdi=sizeof(CCTK_REAL); + return (-672*(*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(0)]) + 672*(*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(0)]) + 168*(*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(0)]) - 168*(*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(0)]) - 32*(*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(0)+cdk*(0)]) + 32*(*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(0)+cdk*(0)]) + 3*(*(CCTK_REAL const*)&((char const*)(u))[cdi*(-4)+cdj*(0)+cdk*(0)]) - 3*(*(CCTK_REAL const*)&((char const*)(u))[cdi*(4)+cdj*(0)+cdk*(0)]))*p1o840dx; +} +#endif + +#ifndef KRANC_DIFF_FUNCTIONS +# define PDstandardfdOrder82(u) ((-672*(*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(0)]) + 672*(*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(0)]) + 168*(*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(0)]) - 168*(*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(0)]) - 32*(*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-3)+cdk*(0)]) + 32*(*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(3)+cdk*(0)]) + 3*(*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-4)+cdk*(0)]) - 3*(*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(4)+cdk*(0)]))*p1o840dy) +#else +# define PDstandardfdOrder82(u) (PDstandardfdOrder82_impl(u,p1o840dy,cdj,cdk)) +static CCTK_REAL PDstandardfdOrder82_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1o840dy, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; +static CCTK_REAL PDstandardfdOrder82_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1o840dy, ptrdiff_t const cdj, ptrdiff_t const cdk) +{ + ptrdiff_t const cdi=sizeof(CCTK_REAL); + return (-672*(*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(0)]) + 672*(*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(0)]) + 168*(*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(0)]) - 168*(*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(0)]) - 32*(*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-3)+cdk*(0)]) + 32*(*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(3)+cdk*(0)]) + 3*(*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-4)+cdk*(0)]) - 3*(*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(4)+cdk*(0)]))*p1o840dy; +} +#endif + +#ifndef KRANC_DIFF_FUNCTIONS +# define PDstandardfdOrder83(u) ((-672*(*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(-1)]) + 672*(*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(1)]) + 168*(*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(-2)]) - 168*(*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(2)]) - 32*(*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(-3)]) + 32*(*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(3)]) + 3*(*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(-4)]) - 3*(*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(4)]))*p1o840dz) +#else +# define PDstandardfdOrder83(u) (PDstandardfdOrder83_impl(u,p1o840dz,cdj,cdk)) +static CCTK_REAL PDstandardfdOrder83_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1o840dz, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; +static CCTK_REAL PDstandardfdOrder83_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1o840dz, ptrdiff_t const cdj, ptrdiff_t const cdk) +{ + ptrdiff_t const cdi=sizeof(CCTK_REAL); + return (-672*(*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(-1)]) + 672*(*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(1)]) + 168*(*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(-2)]) - 168*(*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(2)]) - 32*(*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(-3)]) + 32*(*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(3)]) + 3*(*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(-4)]) - 3*(*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(4)]))*p1o840dz; +} +#endif + +#ifndef KRANC_DIFF_FUNCTIONS +# define PDstandardfdOrder211(u) ((-2*(*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(0)]))*p1odx2) +#else +# define PDstandardfdOrder211(u) (PDstandardfdOrder211_impl(u,p1odx2,cdj,cdk)) +static CCTK_REAL PDstandardfdOrder211_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1odx2, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; +static CCTK_REAL PDstandardfdOrder211_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1odx2, ptrdiff_t const cdj, ptrdiff_t const cdk) +{ + ptrdiff_t const cdi=sizeof(CCTK_REAL); + return (-2*(*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(0)]))*p1odx2; +} +#endif + +#ifndef KRANC_DIFF_FUNCTIONS +# define PDstandardfdOrder222(u) ((-2*(*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(0)]))*p1ody2) +#else +# define PDstandardfdOrder222(u) (PDstandardfdOrder222_impl(u,p1ody2,cdj,cdk)) +static CCTK_REAL PDstandardfdOrder222_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1ody2, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; +static CCTK_REAL PDstandardfdOrder222_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1ody2, ptrdiff_t const cdj, ptrdiff_t const cdk) +{ + ptrdiff_t const cdi=sizeof(CCTK_REAL); + return (-2*(*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(0)]))*p1ody2; +} +#endif + +#ifndef KRANC_DIFF_FUNCTIONS +# define PDstandardfdOrder233(u) ((-2*(*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(-1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(1)]))*p1odz2) +#else +# define PDstandardfdOrder233(u) (PDstandardfdOrder233_impl(u,p1odz2,cdj,cdk)) +static CCTK_REAL PDstandardfdOrder233_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1odz2, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; +static CCTK_REAL PDstandardfdOrder233_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1odz2, ptrdiff_t const cdj, ptrdiff_t const cdk) +{ + ptrdiff_t const cdi=sizeof(CCTK_REAL); + return (-2*(*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(-1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(1)]))*p1odz2; +} +#endif + +#ifndef KRANC_DIFF_FUNCTIONS +# define PDstandardfdOrder411(u) ((30*(*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(0)]) - 16*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(0)])) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(0)]))*pm1o12dx2) +#else +# define PDstandardfdOrder411(u) (PDstandardfdOrder411_impl(u,pm1o12dx2,cdj,cdk)) +static CCTK_REAL PDstandardfdOrder411_impl(CCTK_REAL const* restrict const u, CCTK_REAL const pm1o12dx2, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; +static CCTK_REAL PDstandardfdOrder411_impl(CCTK_REAL const* restrict const u, CCTK_REAL const pm1o12dx2, ptrdiff_t const cdj, ptrdiff_t const cdk) +{ + ptrdiff_t const cdi=sizeof(CCTK_REAL); + return (30*(*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(0)]) - 16*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(0)])) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(0)]))*pm1o12dx2; +} +#endif + +#ifndef KRANC_DIFF_FUNCTIONS +# define PDstandardfdOrder422(u) ((30*(*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(0)]) - 16*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(0)])) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(0)]))*pm1o12dy2) +#else +# define PDstandardfdOrder422(u) (PDstandardfdOrder422_impl(u,pm1o12dy2,cdj,cdk)) +static CCTK_REAL PDstandardfdOrder422_impl(CCTK_REAL const* restrict const u, CCTK_REAL const pm1o12dy2, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; +static CCTK_REAL PDstandardfdOrder422_impl(CCTK_REAL const* restrict const u, CCTK_REAL const pm1o12dy2, ptrdiff_t const cdj, ptrdiff_t const cdk) +{ + ptrdiff_t const cdi=sizeof(CCTK_REAL); + return (30*(*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(0)]) - 16*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(0)])) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(0)]))*pm1o12dy2; +} +#endif + +#ifndef KRANC_DIFF_FUNCTIONS +# define PDstandardfdOrder433(u) ((30*(*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(0)]) - 16*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(-1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(1)])) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(-2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(2)]))*pm1o12dz2) +#else +# define PDstandardfdOrder433(u) (PDstandardfdOrder433_impl(u,pm1o12dz2,cdj,cdk)) +static CCTK_REAL PDstandardfdOrder433_impl(CCTK_REAL const* restrict const u, CCTK_REAL const pm1o12dz2, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; +static CCTK_REAL PDstandardfdOrder433_impl(CCTK_REAL const* restrict const u, CCTK_REAL const pm1o12dz2, ptrdiff_t const cdj, ptrdiff_t const cdk) +{ + ptrdiff_t const cdi=sizeof(CCTK_REAL); + return (30*(*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(0)]) - 16*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(-1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(1)])) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(-2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(2)]))*pm1o12dz2; +} +#endif + +#ifndef KRANC_DIFF_FUNCTIONS +# define PDstandardfdOrder611(u) ((-490*(*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(0)]) + 270*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(0)])) - 27*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(0)])) + 2*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(0)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(0)+cdk*(0)])))*p1o180dx2) +#else +# define PDstandardfdOrder611(u) (PDstandardfdOrder611_impl(u,p1o180dx2,cdj,cdk)) +static CCTK_REAL PDstandardfdOrder611_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1o180dx2, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; +static CCTK_REAL PDstandardfdOrder611_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1o180dx2, ptrdiff_t const cdj, ptrdiff_t const cdk) +{ + ptrdiff_t const cdi=sizeof(CCTK_REAL); + return (-490*(*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(0)]) + 270*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(0)])) - 27*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(0)])) + 2*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(0)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(0)+cdk*(0)])))*p1o180dx2; +} +#endif + +#ifndef KRANC_DIFF_FUNCTIONS +# define PDstandardfdOrder622(u) ((-490*(*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(0)]) + 270*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(0)])) - 27*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(0)])) + 2*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-3)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(3)+cdk*(0)])))*p1o180dy2) +#else +# define PDstandardfdOrder622(u) (PDstandardfdOrder622_impl(u,p1o180dy2,cdj,cdk)) +static CCTK_REAL PDstandardfdOrder622_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1o180dy2, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; +static CCTK_REAL PDstandardfdOrder622_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1o180dy2, ptrdiff_t const cdj, ptrdiff_t const cdk) +{ + ptrdiff_t const cdi=sizeof(CCTK_REAL); + return (-490*(*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(0)]) + 270*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(0)])) - 27*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(0)])) + 2*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-3)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(3)+cdk*(0)])))*p1o180dy2; +} +#endif + +#ifndef KRANC_DIFF_FUNCTIONS +# define PDstandardfdOrder633(u) ((-490*(*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(0)]) + 270*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(-1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(1)])) - 27*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(-2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(2)])) + 2*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(-3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(3)])))*p1o180dz2) +#else +# define PDstandardfdOrder633(u) (PDstandardfdOrder633_impl(u,p1o180dz2,cdj,cdk)) +static CCTK_REAL PDstandardfdOrder633_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1o180dz2, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; +static CCTK_REAL PDstandardfdOrder633_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1o180dz2, ptrdiff_t const cdj, ptrdiff_t const cdk) +{ + ptrdiff_t const cdi=sizeof(CCTK_REAL); + return (-490*(*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(0)]) + 270*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(-1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(1)])) - 27*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(-2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(2)])) + 2*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(-3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(3)])))*p1o180dz2; +} +#endif + +#ifndef KRANC_DIFF_FUNCTIONS +# define PDstandardfdOrder811(u) ((-14350*(*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(0)]) + 8064*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(0)])) - 1008*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(0)])) + 128*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(0)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(0)+cdk*(0)])) - 9*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-4)+cdj*(0)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(4)+cdj*(0)+cdk*(0)])))*p1o5040dx2) +#else +# define PDstandardfdOrder811(u) (PDstandardfdOrder811_impl(u,p1o5040dx2,cdj,cdk)) +static CCTK_REAL PDstandardfdOrder811_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1o5040dx2, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; +static CCTK_REAL PDstandardfdOrder811_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1o5040dx2, ptrdiff_t const cdj, ptrdiff_t const cdk) +{ + ptrdiff_t const cdi=sizeof(CCTK_REAL); + return (-14350*(*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(0)]) + 8064*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(0)])) - 1008*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(0)])) + 128*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(0)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(0)+cdk*(0)])) - 9*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-4)+cdj*(0)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(4)+cdj*(0)+cdk*(0)])))*p1o5040dx2; +} +#endif + +#ifndef KRANC_DIFF_FUNCTIONS +# define PDstandardfdOrder822(u) ((-14350*(*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(0)]) + 8064*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(0)])) - 1008*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(0)])) + 128*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-3)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(3)+cdk*(0)])) - 9*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-4)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(4)+cdk*(0)])))*p1o5040dy2) +#else +# define PDstandardfdOrder822(u) (PDstandardfdOrder822_impl(u,p1o5040dy2,cdj,cdk)) +static CCTK_REAL PDstandardfdOrder822_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1o5040dy2, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; +static CCTK_REAL PDstandardfdOrder822_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1o5040dy2, ptrdiff_t const cdj, ptrdiff_t const cdk) +{ + ptrdiff_t const cdi=sizeof(CCTK_REAL); + return (-14350*(*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(0)]) + 8064*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(0)])) - 1008*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(0)])) + 128*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-3)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(3)+cdk*(0)])) - 9*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-4)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(4)+cdk*(0)])))*p1o5040dy2; +} +#endif + +#ifndef KRANC_DIFF_FUNCTIONS +# define PDstandardfdOrder833(u) ((-14350*(*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(0)]) + 8064*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(-1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(1)])) - 1008*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(-2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(2)])) + 128*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(-3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(3)])) - 9*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(-4)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(4)])))*p1o5040dz2) +#else +# define PDstandardfdOrder833(u) (PDstandardfdOrder833_impl(u,p1o5040dz2,cdj,cdk)) +static CCTK_REAL PDstandardfdOrder833_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1o5040dz2, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; +static CCTK_REAL PDstandardfdOrder833_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1o5040dz2, ptrdiff_t const cdj, ptrdiff_t const cdk) +{ + ptrdiff_t const cdi=sizeof(CCTK_REAL); + return (-14350*(*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(0)]) + 8064*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(-1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(1)])) - 1008*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(-2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(2)])) + 128*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(-3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(3)])) - 9*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(-4)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(4)])))*p1o5040dz2; +} +#endif + +#ifndef KRANC_DIFF_FUNCTIONS +# define PDstandardfdOrder212(u) (((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(-1)+cdk*(0)]) - (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(1)+cdk*(0)]) - (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(-1)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(1)+cdk*(0)]))*p1o4dxdy) +#else +# define PDstandardfdOrder212(u) (PDstandardfdOrder212_impl(u,p1o4dxdy,cdj,cdk)) +static CCTK_REAL PDstandardfdOrder212_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1o4dxdy, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; +static CCTK_REAL PDstandardfdOrder212_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1o4dxdy, ptrdiff_t const cdj, ptrdiff_t const cdk) +{ + ptrdiff_t const cdi=sizeof(CCTK_REAL); + return ((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(-1)+cdk*(0)]) - (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(1)+cdk*(0)]) - (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(-1)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(1)+cdk*(0)]))*p1o4dxdy; +} +#endif + +#ifndef KRANC_DIFF_FUNCTIONS +# define PDstandardfdOrder213(u) (((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(-1)]) - (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(1)]) - (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(-1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(1)]))*p1o4dxdz) +#else +# define PDstandardfdOrder213(u) (PDstandardfdOrder213_impl(u,p1o4dxdz,cdj,cdk)) +static CCTK_REAL PDstandardfdOrder213_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1o4dxdz, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; +static CCTK_REAL PDstandardfdOrder213_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1o4dxdz, ptrdiff_t const cdj, ptrdiff_t const cdk) +{ + ptrdiff_t const cdi=sizeof(CCTK_REAL); + return ((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(-1)]) - (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(1)]) - (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(-1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(1)]))*p1o4dxdz; +} +#endif + +#ifndef KRANC_DIFF_FUNCTIONS +# define PDstandardfdOrder221(u) (((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(-1)+cdk*(0)]) - (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(1)+cdk*(0)]) - (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(-1)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(1)+cdk*(0)]))*p1o4dxdy) +#else +# define PDstandardfdOrder221(u) (PDstandardfdOrder221_impl(u,p1o4dxdy,cdj,cdk)) +static CCTK_REAL PDstandardfdOrder221_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1o4dxdy, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; +static CCTK_REAL PDstandardfdOrder221_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1o4dxdy, ptrdiff_t const cdj, ptrdiff_t const cdk) +{ + ptrdiff_t const cdi=sizeof(CCTK_REAL); + return ((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(-1)+cdk*(0)]) - (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(1)+cdk*(0)]) - (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(-1)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(1)+cdk*(0)]))*p1o4dxdy; +} +#endif + +#ifndef KRANC_DIFF_FUNCTIONS +# define PDstandardfdOrder223(u) (((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(-1)]) - (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(1)]) - (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(-1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(1)]))*p1o4dydz) +#else +# define PDstandardfdOrder223(u) (PDstandardfdOrder223_impl(u,p1o4dydz,cdj,cdk)) +static CCTK_REAL PDstandardfdOrder223_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1o4dydz, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; +static CCTK_REAL PDstandardfdOrder223_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1o4dydz, ptrdiff_t const cdj, ptrdiff_t const cdk) +{ + ptrdiff_t const cdi=sizeof(CCTK_REAL); + return ((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(-1)]) - (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(1)]) - (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(-1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(1)]))*p1o4dydz; +} +#endif + +#ifndef KRANC_DIFF_FUNCTIONS +# define PDstandardfdOrder231(u) (((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(-1)]) - (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(1)]) - (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(-1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(1)]))*p1o4dxdz) +#else +# define PDstandardfdOrder231(u) (PDstandardfdOrder231_impl(u,p1o4dxdz,cdj,cdk)) +static CCTK_REAL PDstandardfdOrder231_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1o4dxdz, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; +static CCTK_REAL PDstandardfdOrder231_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1o4dxdz, ptrdiff_t const cdj, ptrdiff_t const cdk) +{ + ptrdiff_t const cdi=sizeof(CCTK_REAL); + return ((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(-1)]) - (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(1)]) - (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(-1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(1)]))*p1o4dxdz; +} +#endif + +#ifndef KRANC_DIFF_FUNCTIONS +# define PDstandardfdOrder232(u) (((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(-1)]) - (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(1)]) - (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(-1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(1)]))*p1o4dydz) +#else +# define PDstandardfdOrder232(u) (PDstandardfdOrder232_impl(u,p1o4dydz,cdj,cdk)) +static CCTK_REAL PDstandardfdOrder232_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1o4dydz, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; +static CCTK_REAL PDstandardfdOrder232_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1o4dydz, ptrdiff_t const cdj, ptrdiff_t const cdk) +{ + ptrdiff_t const cdi=sizeof(CCTK_REAL); + return ((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(-1)]) - (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(1)]) - (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(-1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(1)]))*p1o4dydz; +} +#endif + +#ifndef KRANC_DIFF_FUNCTIONS +# define PDstandardfdOrder412(u) ((-64*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(1)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(-1)+cdk*(0)])) + 64*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(-1)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(1)+cdk*(0)])) + 8*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(2)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(-2)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(1)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(-1)+cdk*(0)])) - 8*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(-2)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(2)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(-1)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(1)+cdk*(0)])) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(-2)+cdk*(0)]) - (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(2)+cdk*(0)]) - (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(-2)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(2)+cdk*(0)]))*p1o144dxdy) +#else +# define PDstandardfdOrder412(u) (PDstandardfdOrder412_impl(u,p1o144dxdy,cdj,cdk)) +static CCTK_REAL PDstandardfdOrder412_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1o144dxdy, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; +static CCTK_REAL PDstandardfdOrder412_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1o144dxdy, ptrdiff_t const cdj, ptrdiff_t const cdk) +{ + ptrdiff_t const cdi=sizeof(CCTK_REAL); + return (-64*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(1)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(-1)+cdk*(0)])) + 64*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(-1)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(1)+cdk*(0)])) + 8*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(2)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(-2)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(1)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(-1)+cdk*(0)])) - 8*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(-2)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(2)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(-1)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(1)+cdk*(0)])) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(-2)+cdk*(0)]) - (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(2)+cdk*(0)]) - (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(-2)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(2)+cdk*(0)]))*p1o144dxdy; +} +#endif + +#ifndef KRANC_DIFF_FUNCTIONS +# define PDstandardfdOrder413(u) ((-64*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(-1)])) + 64*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(-1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(1)])) + 8*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(-2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(-1)])) - 8*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(-2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(-1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(1)])) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(-2)]) - (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(2)]) - (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(-2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(2)]))*p1o144dxdz) +#else +# define PDstandardfdOrder413(u) (PDstandardfdOrder413_impl(u,p1o144dxdz,cdj,cdk)) +static CCTK_REAL PDstandardfdOrder413_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1o144dxdz, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; +static CCTK_REAL PDstandardfdOrder413_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1o144dxdz, ptrdiff_t const cdj, ptrdiff_t const cdk) +{ + ptrdiff_t const cdi=sizeof(CCTK_REAL); + return (-64*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(-1)])) + 64*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(-1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(1)])) + 8*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(-2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(-1)])) - 8*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(-2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(-1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(1)])) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(-2)]) - (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(2)]) - (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(-2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(2)]))*p1o144dxdz; +} +#endif + +#ifndef KRANC_DIFF_FUNCTIONS +# define PDstandardfdOrder421(u) ((-64*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(1)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(-1)+cdk*(0)])) + 64*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(-1)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(1)+cdk*(0)])) + 8*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(2)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(-2)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(1)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(-1)+cdk*(0)])) - 8*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(-2)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(2)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(-1)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(1)+cdk*(0)])) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(-2)+cdk*(0)]) - (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(2)+cdk*(0)]) - (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(-2)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(2)+cdk*(0)]))*p1o144dxdy) +#else +# define PDstandardfdOrder421(u) (PDstandardfdOrder421_impl(u,p1o144dxdy,cdj,cdk)) +static CCTK_REAL PDstandardfdOrder421_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1o144dxdy, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; +static CCTK_REAL PDstandardfdOrder421_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1o144dxdy, ptrdiff_t const cdj, ptrdiff_t const cdk) +{ + ptrdiff_t const cdi=sizeof(CCTK_REAL); + return (-64*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(1)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(-1)+cdk*(0)])) + 64*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(-1)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(1)+cdk*(0)])) + 8*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(2)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(-2)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(1)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(-1)+cdk*(0)])) - 8*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(-2)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(2)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(-1)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(1)+cdk*(0)])) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(-2)+cdk*(0)]) - (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(2)+cdk*(0)]) - (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(-2)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(2)+cdk*(0)]))*p1o144dxdy; +} +#endif + +#ifndef KRANC_DIFF_FUNCTIONS +# define PDstandardfdOrder423(u) ((-64*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(-1)])) + 64*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(-1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(1)])) + 8*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(-2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(-1)])) - 8*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(-2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(-1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(1)])) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(-2)]) - (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(2)]) - (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(-2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(2)]))*p1o144dydz) +#else +# define PDstandardfdOrder423(u) (PDstandardfdOrder423_impl(u,p1o144dydz,cdj,cdk)) +static CCTK_REAL PDstandardfdOrder423_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1o144dydz, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; +static CCTK_REAL PDstandardfdOrder423_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1o144dydz, ptrdiff_t const cdj, ptrdiff_t const cdk) +{ + ptrdiff_t const cdi=sizeof(CCTK_REAL); + return (-64*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(-1)])) + 64*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(-1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(1)])) + 8*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(-2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(-1)])) - 8*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(-2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(-1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(1)])) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(-2)]) - (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(2)]) - (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(-2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(2)]))*p1o144dydz; +} +#endif + +#ifndef KRANC_DIFF_FUNCTIONS +# define PDstandardfdOrder431(u) ((-64*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(-1)])) + 64*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(-1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(1)])) + 8*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(-2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(-1)])) - 8*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(-2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(-1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(1)])) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(-2)]) - (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(2)]) - (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(-2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(2)]))*p1o144dxdz) +#else +# define PDstandardfdOrder431(u) (PDstandardfdOrder431_impl(u,p1o144dxdz,cdj,cdk)) +static CCTK_REAL PDstandardfdOrder431_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1o144dxdz, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; +static CCTK_REAL PDstandardfdOrder431_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1o144dxdz, ptrdiff_t const cdj, ptrdiff_t const cdk) +{ + ptrdiff_t const cdi=sizeof(CCTK_REAL); + return (-64*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(-1)])) + 64*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(-1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(1)])) + 8*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(-2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(-1)])) - 8*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(-2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(-1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(1)])) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(-2)]) - (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(2)]) - (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(-2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(2)]))*p1o144dxdz; +} +#endif + +#ifndef KRANC_DIFF_FUNCTIONS +# define PDstandardfdOrder432(u) ((-64*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(-1)])) + 64*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(-1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(1)])) + 8*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(-2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(-1)])) - 8*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(-2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(-1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(1)])) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(-2)]) - (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(2)]) - (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(-2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(2)]))*p1o144dydz) +#else +# define PDstandardfdOrder432(u) (PDstandardfdOrder432_impl(u,p1o144dydz,cdj,cdk)) +static CCTK_REAL PDstandardfdOrder432_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1o144dydz, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; +static CCTK_REAL PDstandardfdOrder432_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1o144dydz, ptrdiff_t const cdj, ptrdiff_t const cdk) +{ + ptrdiff_t const cdi=sizeof(CCTK_REAL); + return (-64*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(-1)])) + 64*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(-1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(1)])) + 8*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(-2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(-1)])) - 8*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(-2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(-1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(1)])) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(-2)]) - (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(2)]) - (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(-2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(2)]))*p1o144dydz; +} +#endif + +#ifndef KRANC_DIFF_FUNCTIONS +# define PDstandardfdOrder612(u) ((-2025*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(1)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(-1)+cdk*(0)])) + 2025*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(-1)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(1)+cdk*(0)])) + 405*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(2)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(-2)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(1)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(-1)+cdk*(0)])) - 405*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(-2)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(2)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(-1)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(1)+cdk*(0)])) - 81*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(2)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(-2)+cdk*(0)])) + 81*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(-2)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(2)+cdk*(0)])) - 45*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(3)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(-3)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(1)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(-1)+cdk*(0)])) + 45*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(-3)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(3)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(-1)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(1)+cdk*(0)])) + 9*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(3)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(-3)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(2)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(-2)+cdk*(0)])) - 9*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(-3)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(3)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(-2)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(2)+cdk*(0)])) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(-3)+cdk*(0)]) - (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(3)+cdk*(0)]) - (*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(-3)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(3)+cdk*(0)]))*p1o3600dxdy) +#else +# define PDstandardfdOrder612(u) (PDstandardfdOrder612_impl(u,p1o3600dxdy,cdj,cdk)) +static CCTK_REAL PDstandardfdOrder612_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1o3600dxdy, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; +static CCTK_REAL PDstandardfdOrder612_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1o3600dxdy, ptrdiff_t const cdj, ptrdiff_t const cdk) +{ + ptrdiff_t const cdi=sizeof(CCTK_REAL); + return (-2025*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(1)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(-1)+cdk*(0)])) + 2025*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(-1)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(1)+cdk*(0)])) + 405*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(2)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(-2)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(1)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(-1)+cdk*(0)])) - 405*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(-2)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(2)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(-1)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(1)+cdk*(0)])) - 81*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(2)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(-2)+cdk*(0)])) + 81*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(-2)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(2)+cdk*(0)])) - 45*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(3)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(-3)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(1)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(-1)+cdk*(0)])) + 45*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(-3)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(3)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(-1)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(1)+cdk*(0)])) + 9*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(3)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(-3)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(2)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(-2)+cdk*(0)])) - 9*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(-3)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(3)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(-2)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(2)+cdk*(0)])) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(-3)+cdk*(0)]) - (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(3)+cdk*(0)]) - (*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(-3)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(3)+cdk*(0)]))*p1o3600dxdy; +} +#endif + +#ifndef KRANC_DIFF_FUNCTIONS +# define PDstandardfdOrder613(u) ((-2025*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(-1)])) + 2025*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(-1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(1)])) + 405*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(-2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(-1)])) - 405*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(-2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(-1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(1)])) - 81*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(-2)])) + 81*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(-2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(2)])) - 45*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(-3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(0)+cdk*(1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(0)+cdk*(-1)])) + 45*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(-3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(0)+cdk*(-1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(0)+cdk*(1)])) + 9*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(-3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(0)+cdk*(2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(0)+cdk*(-2)])) - 9*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(-3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(0)+cdk*(-2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(0)+cdk*(2)])) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(0)+cdk*(-3)]) - (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(0)+cdk*(3)]) - (*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(0)+cdk*(-3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(0)+cdk*(3)]))*p1o3600dxdz) +#else +# define PDstandardfdOrder613(u) (PDstandardfdOrder613_impl(u,p1o3600dxdz,cdj,cdk)) +static CCTK_REAL PDstandardfdOrder613_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1o3600dxdz, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; +static CCTK_REAL PDstandardfdOrder613_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1o3600dxdz, ptrdiff_t const cdj, ptrdiff_t const cdk) +{ + ptrdiff_t const cdi=sizeof(CCTK_REAL); + return (-2025*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(-1)])) + 2025*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(-1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(1)])) + 405*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(-2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(-1)])) - 405*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(-2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(-1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(1)])) - 81*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(-2)])) + 81*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(-2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(2)])) - 45*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(-3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(0)+cdk*(1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(0)+cdk*(-1)])) + 45*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(-3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(0)+cdk*(-1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(0)+cdk*(1)])) + 9*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(-3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(0)+cdk*(2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(0)+cdk*(-2)])) - 9*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(-3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(0)+cdk*(-2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(0)+cdk*(2)])) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(0)+cdk*(-3)]) - (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(0)+cdk*(3)]) - (*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(0)+cdk*(-3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(0)+cdk*(3)]))*p1o3600dxdz; +} +#endif + +#ifndef KRANC_DIFF_FUNCTIONS +# define PDstandardfdOrder621(u) ((-2025*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(1)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(-1)+cdk*(0)])) + 2025*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(-1)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(1)+cdk*(0)])) + 405*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(2)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(-2)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(1)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(-1)+cdk*(0)])) - 405*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(-2)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(2)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(-1)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(1)+cdk*(0)])) - 81*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(2)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(-2)+cdk*(0)])) + 81*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(-2)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(2)+cdk*(0)])) - 45*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(3)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(-3)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(1)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(-1)+cdk*(0)])) + 45*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(-3)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(3)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(-1)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(1)+cdk*(0)])) + 9*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(3)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(-3)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(2)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(-2)+cdk*(0)])) - 9*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(-3)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(3)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(-2)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(2)+cdk*(0)])) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(-3)+cdk*(0)]) - (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(3)+cdk*(0)]) - (*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(-3)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(3)+cdk*(0)]))*p1o3600dxdy) +#else +# define PDstandardfdOrder621(u) (PDstandardfdOrder621_impl(u,p1o3600dxdy,cdj,cdk)) +static CCTK_REAL PDstandardfdOrder621_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1o3600dxdy, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; +static CCTK_REAL PDstandardfdOrder621_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1o3600dxdy, ptrdiff_t const cdj, ptrdiff_t const cdk) +{ + ptrdiff_t const cdi=sizeof(CCTK_REAL); + return (-2025*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(1)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(-1)+cdk*(0)])) + 2025*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(-1)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(1)+cdk*(0)])) + 405*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(2)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(-2)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(1)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(-1)+cdk*(0)])) - 405*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(-2)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(2)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(-1)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(1)+cdk*(0)])) - 81*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(2)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(-2)+cdk*(0)])) + 81*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(-2)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(2)+cdk*(0)])) - 45*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(3)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(-3)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(1)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(-1)+cdk*(0)])) + 45*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(-3)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(3)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(-1)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(1)+cdk*(0)])) + 9*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(3)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(-3)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(2)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(-2)+cdk*(0)])) - 9*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(-3)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(3)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(-2)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(2)+cdk*(0)])) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(-3)+cdk*(0)]) - (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(3)+cdk*(0)]) - (*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(-3)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(3)+cdk*(0)]))*p1o3600dxdy; +} +#endif + +#ifndef KRANC_DIFF_FUNCTIONS +# define PDstandardfdOrder623(u) ((-2025*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(-1)])) + 2025*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(-1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(1)])) + 405*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(-2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(-1)])) - 405*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(-2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(-1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(1)])) - 81*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(-2)])) + 81*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(-2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(2)])) - 45*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(-3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-3)+cdk*(1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(3)+cdk*(-1)])) + 45*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(-3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-3)+cdk*(-1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(3)+cdk*(1)])) + 9*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(-3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-3)+cdk*(2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(3)+cdk*(-2)])) - 9*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(-3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-3)+cdk*(-2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(3)+cdk*(2)])) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-3)+cdk*(-3)]) - (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-3)+cdk*(3)]) - (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(3)+cdk*(-3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(3)+cdk*(3)]))*p1o3600dydz) +#else +# define PDstandardfdOrder623(u) (PDstandardfdOrder623_impl(u,p1o3600dydz,cdj,cdk)) +static CCTK_REAL PDstandardfdOrder623_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1o3600dydz, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; +static CCTK_REAL PDstandardfdOrder623_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1o3600dydz, ptrdiff_t const cdj, ptrdiff_t const cdk) +{ + ptrdiff_t const cdi=sizeof(CCTK_REAL); + return (-2025*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(-1)])) + 2025*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(-1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(1)])) + 405*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(-2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(-1)])) - 405*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(-2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(-1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(1)])) - 81*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(-2)])) + 81*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(-2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(2)])) - 45*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(-3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-3)+cdk*(1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(3)+cdk*(-1)])) + 45*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(-3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-3)+cdk*(-1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(3)+cdk*(1)])) + 9*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(-3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-3)+cdk*(2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(3)+cdk*(-2)])) - 9*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(-3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-3)+cdk*(-2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(3)+cdk*(2)])) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-3)+cdk*(-3)]) - (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-3)+cdk*(3)]) - (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(3)+cdk*(-3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(3)+cdk*(3)]))*p1o3600dydz; +} +#endif + +#ifndef KRANC_DIFF_FUNCTIONS +# define PDstandardfdOrder631(u) ((-2025*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(-1)])) + 2025*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(-1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(1)])) + 405*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(-2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(-1)])) - 405*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(-2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(-1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(1)])) - 81*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(-2)])) + 81*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(-2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(2)])) - 45*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(-3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(0)+cdk*(1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(0)+cdk*(-1)])) + 45*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(-3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(0)+cdk*(-1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(0)+cdk*(1)])) + 9*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(-3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(0)+cdk*(2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(0)+cdk*(-2)])) - 9*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(-3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(0)+cdk*(-2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(0)+cdk*(2)])) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(0)+cdk*(-3)]) - (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(0)+cdk*(3)]) - (*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(0)+cdk*(-3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(0)+cdk*(3)]))*p1o3600dxdz) +#else +# define PDstandardfdOrder631(u) (PDstandardfdOrder631_impl(u,p1o3600dxdz,cdj,cdk)) +static CCTK_REAL PDstandardfdOrder631_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1o3600dxdz, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; +static CCTK_REAL PDstandardfdOrder631_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1o3600dxdz, ptrdiff_t const cdj, ptrdiff_t const cdk) +{ + ptrdiff_t const cdi=sizeof(CCTK_REAL); + return (-2025*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(-1)])) + 2025*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(-1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(1)])) + 405*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(-2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(-1)])) - 405*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(-2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(-1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(1)])) - 81*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(-2)])) + 81*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(-2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(2)])) - 45*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(-3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(0)+cdk*(1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(0)+cdk*(-1)])) + 45*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(-3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(0)+cdk*(-1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(0)+cdk*(1)])) + 9*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(-3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(0)+cdk*(2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(0)+cdk*(-2)])) - 9*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(-3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(0)+cdk*(-2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(0)+cdk*(2)])) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(0)+cdk*(-3)]) - (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(0)+cdk*(3)]) - (*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(0)+cdk*(-3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(0)+cdk*(3)]))*p1o3600dxdz; +} +#endif + +#ifndef KRANC_DIFF_FUNCTIONS +# define PDstandardfdOrder632(u) ((-2025*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(-1)])) + 2025*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(-1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(1)])) + 405*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(-2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(-1)])) - 405*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(-2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(-1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(1)])) - 81*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(-2)])) + 81*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(-2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(2)])) - 45*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(-3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-3)+cdk*(1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(3)+cdk*(-1)])) + 45*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(-3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-3)+cdk*(-1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(3)+cdk*(1)])) + 9*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(-3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-3)+cdk*(2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(3)+cdk*(-2)])) - 9*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(-3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-3)+cdk*(-2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(3)+cdk*(2)])) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-3)+cdk*(-3)]) - (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-3)+cdk*(3)]) - (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(3)+cdk*(-3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(3)+cdk*(3)]))*p1o3600dydz) +#else +# define PDstandardfdOrder632(u) (PDstandardfdOrder632_impl(u,p1o3600dydz,cdj,cdk)) +static CCTK_REAL PDstandardfdOrder632_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1o3600dydz, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; +static CCTK_REAL PDstandardfdOrder632_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1o3600dydz, ptrdiff_t const cdj, ptrdiff_t const cdk) +{ + ptrdiff_t const cdi=sizeof(CCTK_REAL); + return (-2025*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(-1)])) + 2025*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(-1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(1)])) + 405*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(-2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(-1)])) - 405*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(-2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(-1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(1)])) - 81*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(-2)])) + 81*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(-2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(2)])) - 45*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(-3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-3)+cdk*(1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(3)+cdk*(-1)])) + 45*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(-3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-3)+cdk*(-1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(3)+cdk*(1)])) + 9*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(-3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-3)+cdk*(2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(3)+cdk*(-2)])) - 9*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(-3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-3)+cdk*(-2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(3)+cdk*(2)])) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-3)+cdk*(-3)]) - (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-3)+cdk*(3)]) - (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(3)+cdk*(-3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(3)+cdk*(3)]))*p1o3600dydz; +} +#endif + +#ifndef KRANC_DIFF_FUNCTIONS +# define PDstandardfdOrder812(u) ((-451584*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(1)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(-1)+cdk*(0)])) + 451584*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(-1)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(1)+cdk*(0)])) + 112896*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(2)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(-2)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(1)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(-1)+cdk*(0)])) - 112896*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(-2)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(2)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(-1)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(1)+cdk*(0)])) - 28224*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(2)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(-2)+cdk*(0)])) + 28224*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(-2)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(2)+cdk*(0)])) - 21504*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(3)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(-3)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(1)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(-1)+cdk*(0)])) + 21504*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(-3)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(3)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(-1)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(1)+cdk*(0)])) + 5376*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(3)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(-3)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(2)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(-2)+cdk*(0)])) - 5376*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(-3)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(3)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(-2)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(2)+cdk*(0)])) - 1024*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(3)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(-3)+cdk*(0)])) + 1024*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(-3)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(3)+cdk*(0)])) + 2016*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(4)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(-4)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-4)+cdj*(1)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(4)+cdj*(-1)+cdk*(0)])) - 2016*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(-4)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(4)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-4)+cdj*(-1)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(4)+cdj*(1)+cdk*(0)])) - 504*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(4)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(-4)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-4)+cdj*(2)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(4)+cdj*(-2)+cdk*(0)])) + 504*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(-4)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(4)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-4)+cdj*(-2)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(4)+cdj*(2)+cdk*(0)])) + 96*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(4)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(-4)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-4)+cdj*(3)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(4)+cdj*(-3)+cdk*(0)])) - 96*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(-4)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(4)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-4)+cdj*(-3)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(4)+cdj*(3)+cdk*(0)])) - 9*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-4)+cdj*(4)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(4)+cdj*(-4)+cdk*(0)])) + 9*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-4)+cdj*(-4)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(4)+cdj*(4)+cdk*(0)])))*p1o705600dxdy) +#else +# define PDstandardfdOrder812(u) (PDstandardfdOrder812_impl(u,p1o705600dxdy,cdj,cdk)) +static CCTK_REAL PDstandardfdOrder812_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1o705600dxdy, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; +static CCTK_REAL PDstandardfdOrder812_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1o705600dxdy, ptrdiff_t const cdj, ptrdiff_t const cdk) +{ + ptrdiff_t const cdi=sizeof(CCTK_REAL); + return (-451584*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(1)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(-1)+cdk*(0)])) + 451584*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(-1)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(1)+cdk*(0)])) + 112896*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(2)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(-2)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(1)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(-1)+cdk*(0)])) - 112896*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(-2)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(2)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(-1)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(1)+cdk*(0)])) - 28224*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(2)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(-2)+cdk*(0)])) + 28224*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(-2)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(2)+cdk*(0)])) - 21504*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(3)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(-3)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(1)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(-1)+cdk*(0)])) + 21504*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(-3)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(3)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(-1)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(1)+cdk*(0)])) + 5376*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(3)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(-3)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(2)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(-2)+cdk*(0)])) - 5376*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(-3)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(3)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(-2)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(2)+cdk*(0)])) - 1024*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(3)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(-3)+cdk*(0)])) + 1024*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(-3)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(3)+cdk*(0)])) + 2016*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(4)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(-4)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-4)+cdj*(1)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(4)+cdj*(-1)+cdk*(0)])) - 2016*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(-4)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(4)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-4)+cdj*(-1)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(4)+cdj*(1)+cdk*(0)])) - 504*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(4)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(-4)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-4)+cdj*(2)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(4)+cdj*(-2)+cdk*(0)])) + 504*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(-4)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(4)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-4)+cdj*(-2)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(4)+cdj*(2)+cdk*(0)])) + 96*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(4)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(-4)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-4)+cdj*(3)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(4)+cdj*(-3)+cdk*(0)])) - 96*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(-4)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(4)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-4)+cdj*(-3)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(4)+cdj*(3)+cdk*(0)])) - 9*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-4)+cdj*(4)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(4)+cdj*(-4)+cdk*(0)])) + 9*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-4)+cdj*(-4)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(4)+cdj*(4)+cdk*(0)])))*p1o705600dxdy; +} +#endif + +#ifndef KRANC_DIFF_FUNCTIONS +# define PDstandardfdOrder813(u) ((-451584*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(-1)])) + 451584*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(-1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(1)])) + 112896*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(-2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(-1)])) - 112896*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(-2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(-1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(1)])) - 28224*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(-2)])) + 28224*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(-2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(2)])) - 21504*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(-3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(0)+cdk*(1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(0)+cdk*(-1)])) + 21504*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(-3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(0)+cdk*(-1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(0)+cdk*(1)])) + 5376*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(-3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(0)+cdk*(2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(0)+cdk*(-2)])) - 5376*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(-3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(0)+cdk*(-2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(0)+cdk*(2)])) - 1024*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(0)+cdk*(3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(0)+cdk*(-3)])) + 1024*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(0)+cdk*(-3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(0)+cdk*(3)])) + 2016*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(4)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(-4)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-4)+cdj*(0)+cdk*(1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(4)+cdj*(0)+cdk*(-1)])) - 2016*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(-4)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(4)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-4)+cdj*(0)+cdk*(-1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(4)+cdj*(0)+cdk*(1)])) - 504*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(4)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(-4)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-4)+cdj*(0)+cdk*(2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(4)+cdj*(0)+cdk*(-2)])) + 504*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(-4)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(4)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-4)+cdj*(0)+cdk*(-2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(4)+cdj*(0)+cdk*(2)])) + 96*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(0)+cdk*(4)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(0)+cdk*(-4)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-4)+cdj*(0)+cdk*(3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(4)+cdj*(0)+cdk*(-3)])) - 96*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(0)+cdk*(-4)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(0)+cdk*(4)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-4)+cdj*(0)+cdk*(-3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(4)+cdj*(0)+cdk*(3)])) - 9*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-4)+cdj*(0)+cdk*(4)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(4)+cdj*(0)+cdk*(-4)])) + 9*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-4)+cdj*(0)+cdk*(-4)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(4)+cdj*(0)+cdk*(4)])))*p1o705600dxdz) +#else +# define PDstandardfdOrder813(u) (PDstandardfdOrder813_impl(u,p1o705600dxdz,cdj,cdk)) +static CCTK_REAL PDstandardfdOrder813_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1o705600dxdz, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; +static CCTK_REAL PDstandardfdOrder813_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1o705600dxdz, ptrdiff_t const cdj, ptrdiff_t const cdk) +{ + ptrdiff_t const cdi=sizeof(CCTK_REAL); + return (-451584*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(-1)])) + 451584*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(-1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(1)])) + 112896*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(-2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(-1)])) - 112896*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(-2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(-1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(1)])) - 28224*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(-2)])) + 28224*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(-2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(2)])) - 21504*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(-3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(0)+cdk*(1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(0)+cdk*(-1)])) + 21504*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(-3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(0)+cdk*(-1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(0)+cdk*(1)])) + 5376*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(-3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(0)+cdk*(2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(0)+cdk*(-2)])) - 5376*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(-3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(0)+cdk*(-2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(0)+cdk*(2)])) - 1024*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(0)+cdk*(3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(0)+cdk*(-3)])) + 1024*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(0)+cdk*(-3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(0)+cdk*(3)])) + 2016*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(4)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(-4)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-4)+cdj*(0)+cdk*(1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(4)+cdj*(0)+cdk*(-1)])) - 2016*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(-4)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(4)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-4)+cdj*(0)+cdk*(-1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(4)+cdj*(0)+cdk*(1)])) - 504*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(4)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(-4)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-4)+cdj*(0)+cdk*(2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(4)+cdj*(0)+cdk*(-2)])) + 504*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(-4)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(4)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-4)+cdj*(0)+cdk*(-2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(4)+cdj*(0)+cdk*(2)])) + 96*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(0)+cdk*(4)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(0)+cdk*(-4)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-4)+cdj*(0)+cdk*(3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(4)+cdj*(0)+cdk*(-3)])) - 96*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(0)+cdk*(-4)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(0)+cdk*(4)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-4)+cdj*(0)+cdk*(-3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(4)+cdj*(0)+cdk*(3)])) - 9*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-4)+cdj*(0)+cdk*(4)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(4)+cdj*(0)+cdk*(-4)])) + 9*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-4)+cdj*(0)+cdk*(-4)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(4)+cdj*(0)+cdk*(4)])))*p1o705600dxdz; +} +#endif + +#ifndef KRANC_DIFF_FUNCTIONS +# define PDstandardfdOrder821(u) ((-451584*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(1)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(-1)+cdk*(0)])) + 451584*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(-1)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(1)+cdk*(0)])) + 112896*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(2)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(-2)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(1)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(-1)+cdk*(0)])) - 112896*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(-2)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(2)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(-1)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(1)+cdk*(0)])) - 28224*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(2)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(-2)+cdk*(0)])) + 28224*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(-2)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(2)+cdk*(0)])) - 21504*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(3)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(-3)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(1)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(-1)+cdk*(0)])) + 21504*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(-3)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(3)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(-1)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(1)+cdk*(0)])) + 5376*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(3)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(-3)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(2)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(-2)+cdk*(0)])) - 5376*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(-3)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(3)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(-2)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(2)+cdk*(0)])) - 1024*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(3)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(-3)+cdk*(0)])) + 1024*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(-3)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(3)+cdk*(0)])) + 2016*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(4)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(-4)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-4)+cdj*(1)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(4)+cdj*(-1)+cdk*(0)])) - 2016*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(-4)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(4)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-4)+cdj*(-1)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(4)+cdj*(1)+cdk*(0)])) - 504*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(4)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(-4)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-4)+cdj*(2)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(4)+cdj*(-2)+cdk*(0)])) + 504*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(-4)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(4)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-4)+cdj*(-2)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(4)+cdj*(2)+cdk*(0)])) + 96*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(4)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(-4)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-4)+cdj*(3)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(4)+cdj*(-3)+cdk*(0)])) - 96*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(-4)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(4)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-4)+cdj*(-3)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(4)+cdj*(3)+cdk*(0)])) - 9*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-4)+cdj*(4)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(4)+cdj*(-4)+cdk*(0)])) + 9*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-4)+cdj*(-4)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(4)+cdj*(4)+cdk*(0)])))*p1o705600dxdy) +#else +# define PDstandardfdOrder821(u) (PDstandardfdOrder821_impl(u,p1o705600dxdy,cdj,cdk)) +static CCTK_REAL PDstandardfdOrder821_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1o705600dxdy, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; +static CCTK_REAL PDstandardfdOrder821_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1o705600dxdy, ptrdiff_t const cdj, ptrdiff_t const cdk) +{ + ptrdiff_t const cdi=sizeof(CCTK_REAL); + return (-451584*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(1)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(-1)+cdk*(0)])) + 451584*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(-1)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(1)+cdk*(0)])) + 112896*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(2)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(-2)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(1)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(-1)+cdk*(0)])) - 112896*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(-2)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(2)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(-1)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(1)+cdk*(0)])) - 28224*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(2)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(-2)+cdk*(0)])) + 28224*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(-2)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(2)+cdk*(0)])) - 21504*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(3)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(-3)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(1)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(-1)+cdk*(0)])) + 21504*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(-3)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(3)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(-1)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(1)+cdk*(0)])) + 5376*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(3)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(-3)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(2)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(-2)+cdk*(0)])) - 5376*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(-3)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(3)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(-2)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(2)+cdk*(0)])) - 1024*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(3)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(-3)+cdk*(0)])) + 1024*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(-3)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(3)+cdk*(0)])) + 2016*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(4)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(-4)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-4)+cdj*(1)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(4)+cdj*(-1)+cdk*(0)])) - 2016*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(-4)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(4)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-4)+cdj*(-1)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(4)+cdj*(1)+cdk*(0)])) - 504*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(4)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(-4)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-4)+cdj*(2)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(4)+cdj*(-2)+cdk*(0)])) + 504*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(-4)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(4)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-4)+cdj*(-2)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(4)+cdj*(2)+cdk*(0)])) + 96*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(4)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(-4)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-4)+cdj*(3)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(4)+cdj*(-3)+cdk*(0)])) - 96*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(-4)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(4)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-4)+cdj*(-3)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(4)+cdj*(3)+cdk*(0)])) - 9*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-4)+cdj*(4)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(4)+cdj*(-4)+cdk*(0)])) + 9*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-4)+cdj*(-4)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(4)+cdj*(4)+cdk*(0)])))*p1o705600dxdy; +} +#endif + +#ifndef KRANC_DIFF_FUNCTIONS +# define PDstandardfdOrder823(u) ((-451584*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(-1)])) + 451584*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(-1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(1)])) + 112896*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(-2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(-1)])) - 112896*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(-2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(-1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(1)])) - 28224*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(-2)])) + 28224*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(-2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(2)])) - 21504*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(-3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-3)+cdk*(1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(3)+cdk*(-1)])) + 21504*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(-3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-3)+cdk*(-1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(3)+cdk*(1)])) + 5376*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(-3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-3)+cdk*(2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(3)+cdk*(-2)])) - 5376*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(-3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-3)+cdk*(-2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(3)+cdk*(2)])) - 1024*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-3)+cdk*(3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(3)+cdk*(-3)])) + 1024*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-3)+cdk*(-3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(3)+cdk*(3)])) + 2016*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(4)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(-4)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-4)+cdk*(1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(4)+cdk*(-1)])) - 2016*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(-4)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(4)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-4)+cdk*(-1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(4)+cdk*(1)])) - 504*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(4)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(-4)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-4)+cdk*(2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(4)+cdk*(-2)])) + 504*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(-4)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(4)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-4)+cdk*(-2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(4)+cdk*(2)])) + 96*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-3)+cdk*(4)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(3)+cdk*(-4)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-4)+cdk*(3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(4)+cdk*(-3)])) - 96*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-3)+cdk*(-4)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(3)+cdk*(4)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-4)+cdk*(-3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(4)+cdk*(3)])) - 9*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-4)+cdk*(4)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(4)+cdk*(-4)])) + 9*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-4)+cdk*(-4)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(4)+cdk*(4)])))*p1o705600dydz) +#else +# define PDstandardfdOrder823(u) (PDstandardfdOrder823_impl(u,p1o705600dydz,cdj,cdk)) +static CCTK_REAL PDstandardfdOrder823_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1o705600dydz, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; +static CCTK_REAL PDstandardfdOrder823_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1o705600dydz, ptrdiff_t const cdj, ptrdiff_t const cdk) +{ + ptrdiff_t const cdi=sizeof(CCTK_REAL); + return (-451584*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(-1)])) + 451584*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(-1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(1)])) + 112896*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(-2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(-1)])) - 112896*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(-2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(-1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(1)])) - 28224*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(-2)])) + 28224*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(-2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(2)])) - 21504*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(-3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-3)+cdk*(1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(3)+cdk*(-1)])) + 21504*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(-3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-3)+cdk*(-1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(3)+cdk*(1)])) + 5376*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(-3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-3)+cdk*(2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(3)+cdk*(-2)])) - 5376*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(-3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-3)+cdk*(-2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(3)+cdk*(2)])) - 1024*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-3)+cdk*(3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(3)+cdk*(-3)])) + 1024*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-3)+cdk*(-3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(3)+cdk*(3)])) + 2016*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(4)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(-4)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-4)+cdk*(1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(4)+cdk*(-1)])) - 2016*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(-4)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(4)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-4)+cdk*(-1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(4)+cdk*(1)])) - 504*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(4)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(-4)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-4)+cdk*(2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(4)+cdk*(-2)])) + 504*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(-4)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(4)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-4)+cdk*(-2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(4)+cdk*(2)])) + 96*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-3)+cdk*(4)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(3)+cdk*(-4)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-4)+cdk*(3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(4)+cdk*(-3)])) - 96*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-3)+cdk*(-4)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(3)+cdk*(4)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-4)+cdk*(-3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(4)+cdk*(3)])) - 9*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-4)+cdk*(4)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(4)+cdk*(-4)])) + 9*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-4)+cdk*(-4)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(4)+cdk*(4)])))*p1o705600dydz; +} +#endif + +#ifndef KRANC_DIFF_FUNCTIONS +# define PDstandardfdOrder831(u) ((-451584*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(-1)])) + 451584*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(-1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(1)])) + 112896*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(-2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(-1)])) - 112896*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(-2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(-1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(1)])) - 28224*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(-2)])) + 28224*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(-2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(2)])) - 21504*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(-3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(0)+cdk*(1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(0)+cdk*(-1)])) + 21504*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(-3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(0)+cdk*(-1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(0)+cdk*(1)])) + 5376*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(-3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(0)+cdk*(2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(0)+cdk*(-2)])) - 5376*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(-3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(0)+cdk*(-2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(0)+cdk*(2)])) - 1024*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(0)+cdk*(3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(0)+cdk*(-3)])) + 1024*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(0)+cdk*(-3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(0)+cdk*(3)])) + 2016*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(4)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(-4)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-4)+cdj*(0)+cdk*(1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(4)+cdj*(0)+cdk*(-1)])) - 2016*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(-4)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(4)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-4)+cdj*(0)+cdk*(-1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(4)+cdj*(0)+cdk*(1)])) - 504*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(4)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(-4)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-4)+cdj*(0)+cdk*(2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(4)+cdj*(0)+cdk*(-2)])) + 504*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(-4)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(4)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-4)+cdj*(0)+cdk*(-2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(4)+cdj*(0)+cdk*(2)])) + 96*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(0)+cdk*(4)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(0)+cdk*(-4)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-4)+cdj*(0)+cdk*(3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(4)+cdj*(0)+cdk*(-3)])) - 96*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(0)+cdk*(-4)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(0)+cdk*(4)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-4)+cdj*(0)+cdk*(-3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(4)+cdj*(0)+cdk*(3)])) - 9*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-4)+cdj*(0)+cdk*(4)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(4)+cdj*(0)+cdk*(-4)])) + 9*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-4)+cdj*(0)+cdk*(-4)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(4)+cdj*(0)+cdk*(4)])))*p1o705600dxdz) +#else +# define PDstandardfdOrder831(u) (PDstandardfdOrder831_impl(u,p1o705600dxdz,cdj,cdk)) +static CCTK_REAL PDstandardfdOrder831_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1o705600dxdz, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; +static CCTK_REAL PDstandardfdOrder831_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1o705600dxdz, ptrdiff_t const cdj, ptrdiff_t const cdk) +{ + ptrdiff_t const cdi=sizeof(CCTK_REAL); + return (-451584*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(-1)])) + 451584*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(-1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(1)])) + 112896*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(-2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(-1)])) - 112896*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(-2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(-1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(1)])) - 28224*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(-2)])) + 28224*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(-2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(2)])) - 21504*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(-3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(0)+cdk*(1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(0)+cdk*(-1)])) + 21504*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(-3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(0)+cdk*(-1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(0)+cdk*(1)])) + 5376*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(-3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(0)+cdk*(2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(0)+cdk*(-2)])) - 5376*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(-3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(0)+cdk*(-2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(0)+cdk*(2)])) - 1024*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(0)+cdk*(3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(0)+cdk*(-3)])) + 1024*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(0)+cdk*(-3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(0)+cdk*(3)])) + 2016*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(4)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(-4)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-4)+cdj*(0)+cdk*(1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(4)+cdj*(0)+cdk*(-1)])) - 2016*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-1)+cdj*(0)+cdk*(-4)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(4)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-4)+cdj*(0)+cdk*(-1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(4)+cdj*(0)+cdk*(1)])) - 504*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(4)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(-4)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-4)+cdj*(0)+cdk*(2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(4)+cdj*(0)+cdk*(-2)])) + 504*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-2)+cdj*(0)+cdk*(-4)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(2)+cdj*(0)+cdk*(4)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-4)+cdj*(0)+cdk*(-2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(4)+cdj*(0)+cdk*(2)])) + 96*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(0)+cdk*(4)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(0)+cdk*(-4)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-4)+cdj*(0)+cdk*(3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(4)+cdj*(0)+cdk*(-3)])) - 96*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-3)+cdj*(0)+cdk*(-4)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(3)+cdj*(0)+cdk*(4)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(-4)+cdj*(0)+cdk*(-3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(4)+cdj*(0)+cdk*(3)])) - 9*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-4)+cdj*(0)+cdk*(4)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(4)+cdj*(0)+cdk*(-4)])) + 9*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(-4)+cdj*(0)+cdk*(-4)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(4)+cdj*(0)+cdk*(4)])))*p1o705600dxdz; +} +#endif + +#ifndef KRANC_DIFF_FUNCTIONS +# define PDstandardfdOrder832(u) ((-451584*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(-1)])) + 451584*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(-1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(1)])) + 112896*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(-2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(-1)])) - 112896*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(-2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(-1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(1)])) - 28224*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(-2)])) + 28224*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(-2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(2)])) - 21504*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(-3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-3)+cdk*(1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(3)+cdk*(-1)])) + 21504*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(-3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-3)+cdk*(-1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(3)+cdk*(1)])) + 5376*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(-3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-3)+cdk*(2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(3)+cdk*(-2)])) - 5376*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(-3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-3)+cdk*(-2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(3)+cdk*(2)])) - 1024*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-3)+cdk*(3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(3)+cdk*(-3)])) + 1024*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-3)+cdk*(-3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(3)+cdk*(3)])) + 2016*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(4)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(-4)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-4)+cdk*(1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(4)+cdk*(-1)])) - 2016*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(-4)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(4)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-4)+cdk*(-1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(4)+cdk*(1)])) - 504*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(4)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(-4)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-4)+cdk*(2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(4)+cdk*(-2)])) + 504*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(-4)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(4)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-4)+cdk*(-2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(4)+cdk*(2)])) + 96*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-3)+cdk*(4)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(3)+cdk*(-4)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-4)+cdk*(3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(4)+cdk*(-3)])) - 96*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-3)+cdk*(-4)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(3)+cdk*(4)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-4)+cdk*(-3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(4)+cdk*(3)])) - 9*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-4)+cdk*(4)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(4)+cdk*(-4)])) + 9*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-4)+cdk*(-4)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(4)+cdk*(4)])))*p1o705600dydz) +#else +# define PDstandardfdOrder832(u) (PDstandardfdOrder832_impl(u,p1o705600dydz,cdj,cdk)) +static CCTK_REAL PDstandardfdOrder832_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1o705600dydz, ptrdiff_t const cdj, ptrdiff_t const cdk) CCTK_ATTRIBUTE_NOINLINE CCTK_ATTRIBUTE_UNUSED; +static CCTK_REAL PDstandardfdOrder832_impl(CCTK_REAL const* restrict const u, CCTK_REAL const p1o705600dydz, ptrdiff_t const cdj, ptrdiff_t const cdk) +{ + ptrdiff_t const cdi=sizeof(CCTK_REAL); + return (-451584*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(-1)])) + 451584*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(-1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(1)])) + 112896*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(-2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(-1)])) - 112896*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(-2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(-1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(1)])) - 28224*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(-2)])) + 28224*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(-2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(2)])) - 21504*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(-3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-3)+cdk*(1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(3)+cdk*(-1)])) + 21504*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(-3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-3)+cdk*(-1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(3)+cdk*(1)])) + 5376*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(-3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-3)+cdk*(2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(3)+cdk*(-2)])) - 5376*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(-3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-3)+cdk*(-2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(3)+cdk*(2)])) - 1024*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-3)+cdk*(3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(3)+cdk*(-3)])) + 1024*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-3)+cdk*(-3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(3)+cdk*(3)])) + 2016*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(4)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(-4)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-4)+cdk*(1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(4)+cdk*(-1)])) - 2016*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-1)+cdk*(-4)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(1)+cdk*(4)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-4)+cdk*(-1)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(4)+cdk*(1)])) - 504*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(4)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(-4)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-4)+cdk*(2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(4)+cdk*(-2)])) + 504*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-2)+cdk*(-4)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(2)+cdk*(4)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-4)+cdk*(-2)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(4)+cdk*(2)])) + 96*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-3)+cdk*(4)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(3)+cdk*(-4)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-4)+cdk*(3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(4)+cdk*(-3)])) - 96*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-3)+cdk*(-4)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(3)+cdk*(4)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-4)+cdk*(-3)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(4)+cdk*(3)])) - 9*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-4)+cdk*(4)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(4)+cdk*(-4)])) + 9*((*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(-4)+cdk*(-4)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(4)+cdk*(4)])))*p1o705600dydz; +} +#endif + #ifndef KRANC_DIFF_FUNCTIONS # define PDplus1(u) ((-(*(CCTK_REAL const*)&((char const*)(u))[cdi*(0)+cdj*(0)+cdk*(0)]) + (*(CCTK_REAL const*)&((char const*)(u))[cdi*(1)+cdj*(0)+cdk*(0)]))*p1odx) #else diff --git a/src/make.code.defn b/src/make.code.defn index f83f81b..d93eda1 100644 --- a/src/make.code.defn +++ b/src/make.code.defn @@ -1,3 +1,3 @@ # File produced by Kranc -SRCS = Startup.cc RegisterMoL.cc RegisterSymmetries.cc psis_calc_2nd.cc psis_calc_4th.cc Boundaries.cc +SRCS = Startup.cc RegisterMoL.cc RegisterSymmetries.cc psis_calc_Nth.cc psis_calc_2nd.cc psis_calc_4th.cc Boundaries.cc diff --git a/src/psis_calc_2nd.cc b/src/psis_calc_2nd.cc index 29d1c23..018b3a7 100644 --- a/src/psis_calc_2nd.cc +++ b/src/psis_calc_2nd.cc @@ -57,7 +57,24 @@ static void psis_calc_2nd_Body(cGH const * restrict const cctkGH, int const dir, const char *groups[] = {"admbase::curv","admbase::metric","grid::coordinates","WeylScal4::Psi4i_group","WeylScal4::Psi4r_group"}; GenericFD_AssertGroupStorage(cctkGH, "psis_calc_2nd", 5, groups); - GenericFD_EnsureStencilFits(cctkGH, "psis_calc_2nd", 1, 1, 1); + switch(fdOrder) + { + case 2: + GenericFD_EnsureStencilFits(cctkGH, "psis_calc_2nd", 1, 1, 1); + break; + + case 4: + GenericFD_EnsureStencilFits(cctkGH, "psis_calc_2nd", 1, 1, 1); + break; + + case 6: + GenericFD_EnsureStencilFits(cctkGH, "psis_calc_2nd", 1, 1, 1); + break; + + case 8: + GenericFD_EnsureStencilFits(cctkGH, "psis_calc_2nd", 1, 1, 1); + break; + } /* Include user-supplied include files */ @@ -91,12 +108,30 @@ static void psis_calc_2nd_Body(cGH const * restrict const cctkGH, int const dir, CCTK_REAL const p1o144dxdy = 0.00694444444444444444444444444444*INV(dx)*INV(dy); CCTK_REAL const p1o144dxdz = 0.00694444444444444444444444444444*INV(dx)*INV(dz); CCTK_REAL const p1o144dydz = 0.00694444444444444444444444444444*INV(dy)*INV(dz); + CCTK_REAL const p1o180dx2 = 0.00555555555555555555555555555556*INV(SQR(dx)); + CCTK_REAL const p1o180dy2 = 0.00555555555555555555555555555556*INV(SQR(dy)); + CCTK_REAL const p1o180dz2 = 0.00555555555555555555555555555556*INV(SQR(dz)); CCTK_REAL const p1o2dx = 0.5*INV(dx); CCTK_REAL const p1o2dy = 0.5*INV(dy); CCTK_REAL const p1o2dz = 0.5*INV(dz); + CCTK_REAL const p1o3600dxdy = 0.000277777777777777777777777777778*INV(dx)*INV(dy); + CCTK_REAL const p1o3600dxdz = 0.000277777777777777777777777777778*INV(dx)*INV(dz); + CCTK_REAL const p1o3600dydz = 0.000277777777777777777777777777778*INV(dy)*INV(dz); CCTK_REAL const p1o4dxdy = 0.25*INV(dx)*INV(dy); CCTK_REAL const p1o4dxdz = 0.25*INV(dx)*INV(dz); CCTK_REAL const p1o4dydz = 0.25*INV(dy)*INV(dz); + CCTK_REAL const p1o5040dx2 = 0.000198412698412698412698412698413*INV(SQR(dx)); + CCTK_REAL const p1o5040dy2 = 0.000198412698412698412698412698413*INV(SQR(dy)); + CCTK_REAL const p1o5040dz2 = 0.000198412698412698412698412698413*INV(SQR(dz)); + CCTK_REAL const p1o60dx = 0.0166666666666666666666666666667*INV(dx); + CCTK_REAL const p1o60dy = 0.0166666666666666666666666666667*INV(dy); + CCTK_REAL const p1o60dz = 0.0166666666666666666666666666667*INV(dz); + CCTK_REAL const p1o705600dxdy = 1.41723356009070294784580498866e-6*INV(dx)*INV(dy); + CCTK_REAL const p1o705600dxdz = 1.41723356009070294784580498866e-6*INV(dx)*INV(dz); + CCTK_REAL const p1o705600dydz = 1.41723356009070294784580498866e-6*INV(dy)*INV(dz); + CCTK_REAL const p1o840dx = 0.00119047619047619047619047619048*INV(dx); + CCTK_REAL const p1o840dy = 0.00119047619047619047619047619048*INV(dy); + CCTK_REAL const p1o840dz = 0.00119047619047619047619047619048*INV(dz); CCTK_REAL const p1odx = INV(dx); CCTK_REAL const p1odx2 = INV(SQR(dx)); CCTK_REAL const p1odxdy = INV(dx)*INV(dy); @@ -143,60 +178,291 @@ static void psis_calc_2nd_Body(cGH const * restrict const cctkGH, int const dir, /* Include user supplied include files */ /* Precompute derivatives */ - CCTK_REAL const PDstandard2nd1gxx = PDstandard2nd1(&gxx[index]); - CCTK_REAL const PDstandard2nd2gxx = PDstandard2nd2(&gxx[index]); - CCTK_REAL const PDstandard2nd3gxx = PDstandard2nd3(&gxx[index]); - CCTK_REAL const PDstandard2nd22gxx = PDstandard2nd22(&gxx[index]); - CCTK_REAL const PDstandard2nd33gxx = PDstandard2nd33(&gxx[index]); - CCTK_REAL const PDstandard2nd23gxx = PDstandard2nd23(&gxx[index]); - CCTK_REAL const PDstandard2nd1gxy = PDstandard2nd1(&gxy[index]); - CCTK_REAL const PDstandard2nd2gxy = PDstandard2nd2(&gxy[index]); - CCTK_REAL const PDstandard2nd3gxy = PDstandard2nd3(&gxy[index]); - CCTK_REAL const PDstandard2nd33gxy = PDstandard2nd33(&gxy[index]); - CCTK_REAL const PDstandard2nd12gxy = PDstandard2nd12(&gxy[index]); - CCTK_REAL const PDstandard2nd13gxy = PDstandard2nd13(&gxy[index]); - CCTK_REAL const PDstandard2nd23gxy = PDstandard2nd23(&gxy[index]); - CCTK_REAL const PDstandard2nd1gxz = PDstandard2nd1(&gxz[index]); - CCTK_REAL const PDstandard2nd2gxz = PDstandard2nd2(&gxz[index]); - CCTK_REAL const PDstandard2nd3gxz = PDstandard2nd3(&gxz[index]); - CCTK_REAL const PDstandard2nd22gxz = PDstandard2nd22(&gxz[index]); - CCTK_REAL const PDstandard2nd12gxz = PDstandard2nd12(&gxz[index]); - CCTK_REAL const PDstandard2nd13gxz = PDstandard2nd13(&gxz[index]); - CCTK_REAL const PDstandard2nd23gxz = PDstandard2nd23(&gxz[index]); - CCTK_REAL const PDstandard2nd1gyy = PDstandard2nd1(&gyy[index]); - CCTK_REAL const PDstandard2nd2gyy = PDstandard2nd2(&gyy[index]); - CCTK_REAL const PDstandard2nd3gyy = PDstandard2nd3(&gyy[index]); - CCTK_REAL const PDstandard2nd11gyy = PDstandard2nd11(&gyy[index]); - CCTK_REAL const PDstandard2nd33gyy = PDstandard2nd33(&gyy[index]); - CCTK_REAL const PDstandard2nd13gyy = PDstandard2nd13(&gyy[index]); - CCTK_REAL const PDstandard2nd1gyz = PDstandard2nd1(&gyz[index]); - CCTK_REAL const PDstandard2nd2gyz = PDstandard2nd2(&gyz[index]); - CCTK_REAL const PDstandard2nd3gyz = PDstandard2nd3(&gyz[index]); - CCTK_REAL const PDstandard2nd11gyz = PDstandard2nd11(&gyz[index]); - CCTK_REAL const PDstandard2nd12gyz = PDstandard2nd12(&gyz[index]); - CCTK_REAL const PDstandard2nd13gyz = PDstandard2nd13(&gyz[index]); - CCTK_REAL const PDstandard2nd23gyz = PDstandard2nd23(&gyz[index]); - CCTK_REAL const PDstandard2nd1gzz = PDstandard2nd1(&gzz[index]); - CCTK_REAL const PDstandard2nd2gzz = PDstandard2nd2(&gzz[index]); - CCTK_REAL const PDstandard2nd3gzz = PDstandard2nd3(&gzz[index]); - CCTK_REAL const PDstandard2nd11gzz = PDstandard2nd11(&gzz[index]); - CCTK_REAL const PDstandard2nd22gzz = PDstandard2nd22(&gzz[index]); - CCTK_REAL const PDstandard2nd12gzz = PDstandard2nd12(&gzz[index]); - CCTK_REAL const PDstandard2nd2kxx = PDstandard2nd2(&kxx[index]); - CCTK_REAL const PDstandard2nd3kxx = PDstandard2nd3(&kxx[index]); - CCTK_REAL const PDstandard2nd1kxy = PDstandard2nd1(&kxy[index]); - CCTK_REAL const PDstandard2nd2kxy = PDstandard2nd2(&kxy[index]); - CCTK_REAL const PDstandard2nd3kxy = PDstandard2nd3(&kxy[index]); - CCTK_REAL const PDstandard2nd1kxz = PDstandard2nd1(&kxz[index]); - CCTK_REAL const PDstandard2nd2kxz = PDstandard2nd2(&kxz[index]); - CCTK_REAL const PDstandard2nd3kxz = PDstandard2nd3(&kxz[index]); - CCTK_REAL const PDstandard2nd1kyy = PDstandard2nd1(&kyy[index]); - CCTK_REAL const PDstandard2nd3kyy = PDstandard2nd3(&kyy[index]); - CCTK_REAL const PDstandard2nd1kyz = PDstandard2nd1(&kyz[index]); - CCTK_REAL const PDstandard2nd2kyz = PDstandard2nd2(&kyz[index]); - CCTK_REAL const PDstandard2nd3kyz = PDstandard2nd3(&kyz[index]); - CCTK_REAL const PDstandard2nd1kzz = PDstandard2nd1(&kzz[index]); - CCTK_REAL const PDstandard2nd2kzz = PDstandard2nd2(&kzz[index]); + CCTK_REAL PDstandard2nd1gxx; + CCTK_REAL PDstandard2nd2gxx; + CCTK_REAL PDstandard2nd3gxx; + CCTK_REAL PDstandard2nd22gxx; + CCTK_REAL PDstandard2nd33gxx; + CCTK_REAL PDstandard2nd23gxx; + CCTK_REAL PDstandard2nd1gxy; + CCTK_REAL PDstandard2nd2gxy; + CCTK_REAL PDstandard2nd3gxy; + CCTK_REAL PDstandard2nd33gxy; + CCTK_REAL PDstandard2nd12gxy; + CCTK_REAL PDstandard2nd13gxy; + CCTK_REAL PDstandard2nd23gxy; + CCTK_REAL PDstandard2nd1gxz; + CCTK_REAL PDstandard2nd2gxz; + CCTK_REAL PDstandard2nd3gxz; + CCTK_REAL PDstandard2nd22gxz; + CCTK_REAL PDstandard2nd12gxz; + CCTK_REAL PDstandard2nd13gxz; + CCTK_REAL PDstandard2nd23gxz; + CCTK_REAL PDstandard2nd1gyy; + CCTK_REAL PDstandard2nd2gyy; + CCTK_REAL PDstandard2nd3gyy; + CCTK_REAL PDstandard2nd11gyy; + CCTK_REAL PDstandard2nd33gyy; + CCTK_REAL PDstandard2nd13gyy; + CCTK_REAL PDstandard2nd1gyz; + CCTK_REAL PDstandard2nd2gyz; + CCTK_REAL PDstandard2nd3gyz; + CCTK_REAL PDstandard2nd11gyz; + CCTK_REAL PDstandard2nd12gyz; + CCTK_REAL PDstandard2nd13gyz; + CCTK_REAL PDstandard2nd23gyz; + CCTK_REAL PDstandard2nd1gzz; + CCTK_REAL PDstandard2nd2gzz; + CCTK_REAL PDstandard2nd3gzz; + CCTK_REAL PDstandard2nd11gzz; + CCTK_REAL PDstandard2nd22gzz; + CCTK_REAL PDstandard2nd12gzz; + CCTK_REAL PDstandard2nd2kxx; + CCTK_REAL PDstandard2nd3kxx; + CCTK_REAL PDstandard2nd1kxy; + CCTK_REAL PDstandard2nd2kxy; + CCTK_REAL PDstandard2nd3kxy; + CCTK_REAL PDstandard2nd1kxz; + CCTK_REAL PDstandard2nd2kxz; + CCTK_REAL PDstandard2nd3kxz; + CCTK_REAL PDstandard2nd1kyy; + CCTK_REAL PDstandard2nd3kyy; + CCTK_REAL PDstandard2nd1kyz; + CCTK_REAL PDstandard2nd2kyz; + CCTK_REAL PDstandard2nd3kyz; + CCTK_REAL PDstandard2nd1kzz; + CCTK_REAL PDstandard2nd2kzz; + + switch(fdOrder) + { + case 2: + PDstandard2nd1gxx = PDstandard2nd1(&gxx[index]); + PDstandard2nd2gxx = PDstandard2nd2(&gxx[index]); + PDstandard2nd3gxx = PDstandard2nd3(&gxx[index]); + PDstandard2nd22gxx = PDstandard2nd22(&gxx[index]); + PDstandard2nd33gxx = PDstandard2nd33(&gxx[index]); + PDstandard2nd23gxx = PDstandard2nd23(&gxx[index]); + PDstandard2nd1gxy = PDstandard2nd1(&gxy[index]); + PDstandard2nd2gxy = PDstandard2nd2(&gxy[index]); + PDstandard2nd3gxy = PDstandard2nd3(&gxy[index]); + PDstandard2nd33gxy = PDstandard2nd33(&gxy[index]); + PDstandard2nd12gxy = PDstandard2nd12(&gxy[index]); + PDstandard2nd13gxy = PDstandard2nd13(&gxy[index]); + PDstandard2nd23gxy = PDstandard2nd23(&gxy[index]); + PDstandard2nd1gxz = PDstandard2nd1(&gxz[index]); + PDstandard2nd2gxz = PDstandard2nd2(&gxz[index]); + PDstandard2nd3gxz = PDstandard2nd3(&gxz[index]); + PDstandard2nd22gxz = PDstandard2nd22(&gxz[index]); + PDstandard2nd12gxz = PDstandard2nd12(&gxz[index]); + PDstandard2nd13gxz = PDstandard2nd13(&gxz[index]); + PDstandard2nd23gxz = PDstandard2nd23(&gxz[index]); + PDstandard2nd1gyy = PDstandard2nd1(&gyy[index]); + PDstandard2nd2gyy = PDstandard2nd2(&gyy[index]); + PDstandard2nd3gyy = PDstandard2nd3(&gyy[index]); + PDstandard2nd11gyy = PDstandard2nd11(&gyy[index]); + PDstandard2nd33gyy = PDstandard2nd33(&gyy[index]); + PDstandard2nd13gyy = PDstandard2nd13(&gyy[index]); + PDstandard2nd1gyz = PDstandard2nd1(&gyz[index]); + PDstandard2nd2gyz = PDstandard2nd2(&gyz[index]); + PDstandard2nd3gyz = PDstandard2nd3(&gyz[index]); + PDstandard2nd11gyz = PDstandard2nd11(&gyz[index]); + PDstandard2nd12gyz = PDstandard2nd12(&gyz[index]); + PDstandard2nd13gyz = PDstandard2nd13(&gyz[index]); + PDstandard2nd23gyz = PDstandard2nd23(&gyz[index]); + PDstandard2nd1gzz = PDstandard2nd1(&gzz[index]); + PDstandard2nd2gzz = PDstandard2nd2(&gzz[index]); + PDstandard2nd3gzz = PDstandard2nd3(&gzz[index]); + PDstandard2nd11gzz = PDstandard2nd11(&gzz[index]); + PDstandard2nd22gzz = PDstandard2nd22(&gzz[index]); + PDstandard2nd12gzz = PDstandard2nd12(&gzz[index]); + PDstandard2nd2kxx = PDstandard2nd2(&kxx[index]); + PDstandard2nd3kxx = PDstandard2nd3(&kxx[index]); + PDstandard2nd1kxy = PDstandard2nd1(&kxy[index]); + PDstandard2nd2kxy = PDstandard2nd2(&kxy[index]); + PDstandard2nd3kxy = PDstandard2nd3(&kxy[index]); + PDstandard2nd1kxz = PDstandard2nd1(&kxz[index]); + PDstandard2nd2kxz = PDstandard2nd2(&kxz[index]); + PDstandard2nd3kxz = PDstandard2nd3(&kxz[index]); + PDstandard2nd1kyy = PDstandard2nd1(&kyy[index]); + PDstandard2nd3kyy = PDstandard2nd3(&kyy[index]); + PDstandard2nd1kyz = PDstandard2nd1(&kyz[index]); + PDstandard2nd2kyz = PDstandard2nd2(&kyz[index]); + PDstandard2nd3kyz = PDstandard2nd3(&kyz[index]); + PDstandard2nd1kzz = PDstandard2nd1(&kzz[index]); + PDstandard2nd2kzz = PDstandard2nd2(&kzz[index]); + break; + + case 4: + PDstandard2nd1gxx = PDstandard2nd1(&gxx[index]); + PDstandard2nd2gxx = PDstandard2nd2(&gxx[index]); + PDstandard2nd3gxx = PDstandard2nd3(&gxx[index]); + PDstandard2nd22gxx = PDstandard2nd22(&gxx[index]); + PDstandard2nd33gxx = PDstandard2nd33(&gxx[index]); + PDstandard2nd23gxx = PDstandard2nd23(&gxx[index]); + PDstandard2nd1gxy = PDstandard2nd1(&gxy[index]); + PDstandard2nd2gxy = PDstandard2nd2(&gxy[index]); + PDstandard2nd3gxy = PDstandard2nd3(&gxy[index]); + PDstandard2nd33gxy = PDstandard2nd33(&gxy[index]); + PDstandard2nd12gxy = PDstandard2nd12(&gxy[index]); + PDstandard2nd13gxy = PDstandard2nd13(&gxy[index]); + PDstandard2nd23gxy = PDstandard2nd23(&gxy[index]); + PDstandard2nd1gxz = PDstandard2nd1(&gxz[index]); + PDstandard2nd2gxz = PDstandard2nd2(&gxz[index]); + PDstandard2nd3gxz = PDstandard2nd3(&gxz[index]); + PDstandard2nd22gxz = PDstandard2nd22(&gxz[index]); + PDstandard2nd12gxz = PDstandard2nd12(&gxz[index]); + PDstandard2nd13gxz = PDstandard2nd13(&gxz[index]); + PDstandard2nd23gxz = PDstandard2nd23(&gxz[index]); + PDstandard2nd1gyy = PDstandard2nd1(&gyy[index]); + PDstandard2nd2gyy = PDstandard2nd2(&gyy[index]); + PDstandard2nd3gyy = PDstandard2nd3(&gyy[index]); + PDstandard2nd11gyy = PDstandard2nd11(&gyy[index]); + PDstandard2nd33gyy = PDstandard2nd33(&gyy[index]); + PDstandard2nd13gyy = PDstandard2nd13(&gyy[index]); + PDstandard2nd1gyz = PDstandard2nd1(&gyz[index]); + PDstandard2nd2gyz = PDstandard2nd2(&gyz[index]); + PDstandard2nd3gyz = PDstandard2nd3(&gyz[index]); + PDstandard2nd11gyz = PDstandard2nd11(&gyz[index]); + PDstandard2nd12gyz = PDstandard2nd12(&gyz[index]); + PDstandard2nd13gyz = PDstandard2nd13(&gyz[index]); + PDstandard2nd23gyz = PDstandard2nd23(&gyz[index]); + PDstandard2nd1gzz = PDstandard2nd1(&gzz[index]); + PDstandard2nd2gzz = PDstandard2nd2(&gzz[index]); + PDstandard2nd3gzz = PDstandard2nd3(&gzz[index]); + PDstandard2nd11gzz = PDstandard2nd11(&gzz[index]); + PDstandard2nd22gzz = PDstandard2nd22(&gzz[index]); + PDstandard2nd12gzz = PDstandard2nd12(&gzz[index]); + PDstandard2nd2kxx = PDstandard2nd2(&kxx[index]); + PDstandard2nd3kxx = PDstandard2nd3(&kxx[index]); + PDstandard2nd1kxy = PDstandard2nd1(&kxy[index]); + PDstandard2nd2kxy = PDstandard2nd2(&kxy[index]); + PDstandard2nd3kxy = PDstandard2nd3(&kxy[index]); + PDstandard2nd1kxz = PDstandard2nd1(&kxz[index]); + PDstandard2nd2kxz = PDstandard2nd2(&kxz[index]); + PDstandard2nd3kxz = PDstandard2nd3(&kxz[index]); + PDstandard2nd1kyy = PDstandard2nd1(&kyy[index]); + PDstandard2nd3kyy = PDstandard2nd3(&kyy[index]); + PDstandard2nd1kyz = PDstandard2nd1(&kyz[index]); + PDstandard2nd2kyz = PDstandard2nd2(&kyz[index]); + PDstandard2nd3kyz = PDstandard2nd3(&kyz[index]); + PDstandard2nd1kzz = PDstandard2nd1(&kzz[index]); + PDstandard2nd2kzz = PDstandard2nd2(&kzz[index]); + break; + + case 6: + PDstandard2nd1gxx = PDstandard2nd1(&gxx[index]); + PDstandard2nd2gxx = PDstandard2nd2(&gxx[index]); + PDstandard2nd3gxx = PDstandard2nd3(&gxx[index]); + PDstandard2nd22gxx = PDstandard2nd22(&gxx[index]); + PDstandard2nd33gxx = PDstandard2nd33(&gxx[index]); + PDstandard2nd23gxx = PDstandard2nd23(&gxx[index]); + PDstandard2nd1gxy = PDstandard2nd1(&gxy[index]); + PDstandard2nd2gxy = PDstandard2nd2(&gxy[index]); + PDstandard2nd3gxy = PDstandard2nd3(&gxy[index]); + PDstandard2nd33gxy = PDstandard2nd33(&gxy[index]); + PDstandard2nd12gxy = PDstandard2nd12(&gxy[index]); + PDstandard2nd13gxy = PDstandard2nd13(&gxy[index]); + PDstandard2nd23gxy = PDstandard2nd23(&gxy[index]); + PDstandard2nd1gxz = PDstandard2nd1(&gxz[index]); + PDstandard2nd2gxz = PDstandard2nd2(&gxz[index]); + PDstandard2nd3gxz = PDstandard2nd3(&gxz[index]); + PDstandard2nd22gxz = PDstandard2nd22(&gxz[index]); + PDstandard2nd12gxz = PDstandard2nd12(&gxz[index]); + PDstandard2nd13gxz = PDstandard2nd13(&gxz[index]); + PDstandard2nd23gxz = PDstandard2nd23(&gxz[index]); + PDstandard2nd1gyy = PDstandard2nd1(&gyy[index]); + PDstandard2nd2gyy = PDstandard2nd2(&gyy[index]); + PDstandard2nd3gyy = PDstandard2nd3(&gyy[index]); + PDstandard2nd11gyy = PDstandard2nd11(&gyy[index]); + PDstandard2nd33gyy = PDstandard2nd33(&gyy[index]); + PDstandard2nd13gyy = PDstandard2nd13(&gyy[index]); + PDstandard2nd1gyz = PDstandard2nd1(&gyz[index]); + PDstandard2nd2gyz = PDstandard2nd2(&gyz[index]); + PDstandard2nd3gyz = PDstandard2nd3(&gyz[index]); + PDstandard2nd11gyz = PDstandard2nd11(&gyz[index]); + PDstandard2nd12gyz = PDstandard2nd12(&gyz[index]); + PDstandard2nd13gyz = PDstandard2nd13(&gyz[index]); + PDstandard2nd23gyz = PDstandard2nd23(&gyz[index]); + PDstandard2nd1gzz = PDstandard2nd1(&gzz[index]); + PDstandard2nd2gzz = PDstandard2nd2(&gzz[index]); + PDstandard2nd3gzz = PDstandard2nd3(&gzz[index]); + PDstandard2nd11gzz = PDstandard2nd11(&gzz[index]); + PDstandard2nd22gzz = PDstandard2nd22(&gzz[index]); + PDstandard2nd12gzz = PDstandard2nd12(&gzz[index]); + PDstandard2nd2kxx = PDstandard2nd2(&kxx[index]); + PDstandard2nd3kxx = PDstandard2nd3(&kxx[index]); + PDstandard2nd1kxy = PDstandard2nd1(&kxy[index]); + PDstandard2nd2kxy = PDstandard2nd2(&kxy[index]); + PDstandard2nd3kxy = PDstandard2nd3(&kxy[index]); + PDstandard2nd1kxz = PDstandard2nd1(&kxz[index]); + PDstandard2nd2kxz = PDstandard2nd2(&kxz[index]); + PDstandard2nd3kxz = PDstandard2nd3(&kxz[index]); + PDstandard2nd1kyy = PDstandard2nd1(&kyy[index]); + PDstandard2nd3kyy = PDstandard2nd3(&kyy[index]); + PDstandard2nd1kyz = PDstandard2nd1(&kyz[index]); + PDstandard2nd2kyz = PDstandard2nd2(&kyz[index]); + PDstandard2nd3kyz = PDstandard2nd3(&kyz[index]); + PDstandard2nd1kzz = PDstandard2nd1(&kzz[index]); + PDstandard2nd2kzz = PDstandard2nd2(&kzz[index]); + break; + + case 8: + PDstandard2nd1gxx = PDstandard2nd1(&gxx[index]); + PDstandard2nd2gxx = PDstandard2nd2(&gxx[index]); + PDstandard2nd3gxx = PDstandard2nd3(&gxx[index]); + PDstandard2nd22gxx = PDstandard2nd22(&gxx[index]); + PDstandard2nd33gxx = PDstandard2nd33(&gxx[index]); + PDstandard2nd23gxx = PDstandard2nd23(&gxx[index]); + PDstandard2nd1gxy = PDstandard2nd1(&gxy[index]); + PDstandard2nd2gxy = PDstandard2nd2(&gxy[index]); + PDstandard2nd3gxy = PDstandard2nd3(&gxy[index]); + PDstandard2nd33gxy = PDstandard2nd33(&gxy[index]); + PDstandard2nd12gxy = PDstandard2nd12(&gxy[index]); + PDstandard2nd13gxy = PDstandard2nd13(&gxy[index]); + PDstandard2nd23gxy = PDstandard2nd23(&gxy[index]); + PDstandard2nd1gxz = PDstandard2nd1(&gxz[index]); + PDstandard2nd2gxz = PDstandard2nd2(&gxz[index]); + PDstandard2nd3gxz = PDstandard2nd3(&gxz[index]); + PDstandard2nd22gxz = PDstandard2nd22(&gxz[index]); + PDstandard2nd12gxz = PDstandard2nd12(&gxz[index]); + PDstandard2nd13gxz = PDstandard2nd13(&gxz[index]); + PDstandard2nd23gxz = PDstandard2nd23(&gxz[index]); + PDstandard2nd1gyy = PDstandard2nd1(&gyy[index]); + PDstandard2nd2gyy = PDstandard2nd2(&gyy[index]); + PDstandard2nd3gyy = PDstandard2nd3(&gyy[index]); + PDstandard2nd11gyy = PDstandard2nd11(&gyy[index]); + PDstandard2nd33gyy = PDstandard2nd33(&gyy[index]); + PDstandard2nd13gyy = PDstandard2nd13(&gyy[index]); + PDstandard2nd1gyz = PDstandard2nd1(&gyz[index]); + PDstandard2nd2gyz = PDstandard2nd2(&gyz[index]); + PDstandard2nd3gyz = PDstandard2nd3(&gyz[index]); + PDstandard2nd11gyz = PDstandard2nd11(&gyz[index]); + PDstandard2nd12gyz = PDstandard2nd12(&gyz[index]); + PDstandard2nd13gyz = PDstandard2nd13(&gyz[index]); + PDstandard2nd23gyz = PDstandard2nd23(&gyz[index]); + PDstandard2nd1gzz = PDstandard2nd1(&gzz[index]); + PDstandard2nd2gzz = PDstandard2nd2(&gzz[index]); + PDstandard2nd3gzz = PDstandard2nd3(&gzz[index]); + PDstandard2nd11gzz = PDstandard2nd11(&gzz[index]); + PDstandard2nd22gzz = PDstandard2nd22(&gzz[index]); + PDstandard2nd12gzz = PDstandard2nd12(&gzz[index]); + PDstandard2nd2kxx = PDstandard2nd2(&kxx[index]); + PDstandard2nd3kxx = PDstandard2nd3(&kxx[index]); + PDstandard2nd1kxy = PDstandard2nd1(&kxy[index]); + PDstandard2nd2kxy = PDstandard2nd2(&kxy[index]); + PDstandard2nd3kxy = PDstandard2nd3(&kxy[index]); + PDstandard2nd1kxz = PDstandard2nd1(&kxz[index]); + PDstandard2nd2kxz = PDstandard2nd2(&kxz[index]); + PDstandard2nd3kxz = PDstandard2nd3(&kxz[index]); + PDstandard2nd1kyy = PDstandard2nd1(&kyy[index]); + PDstandard2nd3kyy = PDstandard2nd3(&kyy[index]); + PDstandard2nd1kyz = PDstandard2nd1(&kyz[index]); + PDstandard2nd2kyz = PDstandard2nd2(&kyz[index]); + PDstandard2nd3kyz = PDstandard2nd3(&kyz[index]); + PDstandard2nd1kzz = PDstandard2nd1(&kzz[index]); + PDstandard2nd2kzz = PDstandard2nd2(&kzz[index]); + break; + } /* Calculate temporaries and grid functions */ CCTK_REAL detg = 2*gxyL*gxzL*gyzL + gzzL*(gxxL*gyyL - SQR(gxyL)) - diff --git a/src/psis_calc_4th.cc b/src/psis_calc_4th.cc index 9aa697e..d6fc90d 100644 --- a/src/psis_calc_4th.cc +++ b/src/psis_calc_4th.cc @@ -57,7 +57,24 @@ static void psis_calc_4th_Body(cGH const * restrict const cctkGH, int const dir, const char *groups[] = {"admbase::curv","admbase::metric","grid::coordinates","WeylScal4::Psi4i_group","WeylScal4::Psi4r_group"}; GenericFD_AssertGroupStorage(cctkGH, "psis_calc_4th", 5, groups); - GenericFD_EnsureStencilFits(cctkGH, "psis_calc_4th", 2, 2, 2); + switch(fdOrder) + { + case 2: + GenericFD_EnsureStencilFits(cctkGH, "psis_calc_4th", 2, 2, 2); + break; + + case 4: + GenericFD_EnsureStencilFits(cctkGH, "psis_calc_4th", 2, 2, 2); + break; + + case 6: + GenericFD_EnsureStencilFits(cctkGH, "psis_calc_4th", 2, 2, 2); + break; + + case 8: + GenericFD_EnsureStencilFits(cctkGH, "psis_calc_4th", 2, 2, 2); + break; + } /* Include user-supplied include files */ @@ -91,12 +108,30 @@ static void psis_calc_4th_Body(cGH const * restrict const cctkGH, int const dir, CCTK_REAL const p1o144dxdy = 0.00694444444444444444444444444444*INV(dx)*INV(dy); CCTK_REAL const p1o144dxdz = 0.00694444444444444444444444444444*INV(dx)*INV(dz); CCTK_REAL const p1o144dydz = 0.00694444444444444444444444444444*INV(dy)*INV(dz); + CCTK_REAL const p1o180dx2 = 0.00555555555555555555555555555556*INV(SQR(dx)); + CCTK_REAL const p1o180dy2 = 0.00555555555555555555555555555556*INV(SQR(dy)); + CCTK_REAL const p1o180dz2 = 0.00555555555555555555555555555556*INV(SQR(dz)); CCTK_REAL const p1o2dx = 0.5*INV(dx); CCTK_REAL const p1o2dy = 0.5*INV(dy); CCTK_REAL const p1o2dz = 0.5*INV(dz); + CCTK_REAL const p1o3600dxdy = 0.000277777777777777777777777777778*INV(dx)*INV(dy); + CCTK_REAL const p1o3600dxdz = 0.000277777777777777777777777777778*INV(dx)*INV(dz); + CCTK_REAL const p1o3600dydz = 0.000277777777777777777777777777778*INV(dy)*INV(dz); CCTK_REAL const p1o4dxdy = 0.25*INV(dx)*INV(dy); CCTK_REAL const p1o4dxdz = 0.25*INV(dx)*INV(dz); CCTK_REAL const p1o4dydz = 0.25*INV(dy)*INV(dz); + CCTK_REAL const p1o5040dx2 = 0.000198412698412698412698412698413*INV(SQR(dx)); + CCTK_REAL const p1o5040dy2 = 0.000198412698412698412698412698413*INV(SQR(dy)); + CCTK_REAL const p1o5040dz2 = 0.000198412698412698412698412698413*INV(SQR(dz)); + CCTK_REAL const p1o60dx = 0.0166666666666666666666666666667*INV(dx); + CCTK_REAL const p1o60dy = 0.0166666666666666666666666666667*INV(dy); + CCTK_REAL const p1o60dz = 0.0166666666666666666666666666667*INV(dz); + CCTK_REAL const p1o705600dxdy = 1.41723356009070294784580498866e-6*INV(dx)*INV(dy); + CCTK_REAL const p1o705600dxdz = 1.41723356009070294784580498866e-6*INV(dx)*INV(dz); + CCTK_REAL const p1o705600dydz = 1.41723356009070294784580498866e-6*INV(dy)*INV(dz); + CCTK_REAL const p1o840dx = 0.00119047619047619047619047619048*INV(dx); + CCTK_REAL const p1o840dy = 0.00119047619047619047619047619048*INV(dy); + CCTK_REAL const p1o840dz = 0.00119047619047619047619047619048*INV(dz); CCTK_REAL const p1odx = INV(dx); CCTK_REAL const p1odx2 = INV(SQR(dx)); CCTK_REAL const p1odxdy = INV(dx)*INV(dy); @@ -143,60 +178,291 @@ static void psis_calc_4th_Body(cGH const * restrict const cctkGH, int const dir, /* Include user supplied include files */ /* Precompute derivatives */ - CCTK_REAL const PDstandard4th1gxx = PDstandard4th1(&gxx[index]); - CCTK_REAL const PDstandard4th2gxx = PDstandard4th2(&gxx[index]); - CCTK_REAL const PDstandard4th3gxx = PDstandard4th3(&gxx[index]); - CCTK_REAL const PDstandard4th22gxx = PDstandard4th22(&gxx[index]); - CCTK_REAL const PDstandard4th33gxx = PDstandard4th33(&gxx[index]); - CCTK_REAL const PDstandard4th23gxx = PDstandard4th23(&gxx[index]); - CCTK_REAL const PDstandard4th1gxy = PDstandard4th1(&gxy[index]); - CCTK_REAL const PDstandard4th2gxy = PDstandard4th2(&gxy[index]); - CCTK_REAL const PDstandard4th3gxy = PDstandard4th3(&gxy[index]); - CCTK_REAL const PDstandard4th33gxy = PDstandard4th33(&gxy[index]); - CCTK_REAL const PDstandard4th12gxy = PDstandard4th12(&gxy[index]); - CCTK_REAL const PDstandard4th13gxy = PDstandard4th13(&gxy[index]); - CCTK_REAL const PDstandard4th23gxy = PDstandard4th23(&gxy[index]); - CCTK_REAL const PDstandard4th1gxz = PDstandard4th1(&gxz[index]); - CCTK_REAL const PDstandard4th2gxz = PDstandard4th2(&gxz[index]); - CCTK_REAL const PDstandard4th3gxz = PDstandard4th3(&gxz[index]); - CCTK_REAL const PDstandard4th22gxz = PDstandard4th22(&gxz[index]); - CCTK_REAL const PDstandard4th12gxz = PDstandard4th12(&gxz[index]); - CCTK_REAL const PDstandard4th13gxz = PDstandard4th13(&gxz[index]); - CCTK_REAL const PDstandard4th23gxz = PDstandard4th23(&gxz[index]); - CCTK_REAL const PDstandard4th1gyy = PDstandard4th1(&gyy[index]); - CCTK_REAL const PDstandard4th2gyy = PDstandard4th2(&gyy[index]); - CCTK_REAL const PDstandard4th3gyy = PDstandard4th3(&gyy[index]); - CCTK_REAL const PDstandard4th11gyy = PDstandard4th11(&gyy[index]); - CCTK_REAL const PDstandard4th33gyy = PDstandard4th33(&gyy[index]); - CCTK_REAL const PDstandard4th13gyy = PDstandard4th13(&gyy[index]); - CCTK_REAL const PDstandard4th1gyz = PDstandard4th1(&gyz[index]); - CCTK_REAL const PDstandard4th2gyz = PDstandard4th2(&gyz[index]); - CCTK_REAL const PDstandard4th3gyz = PDstandard4th3(&gyz[index]); - CCTK_REAL const PDstandard4th11gyz = PDstandard4th11(&gyz[index]); - CCTK_REAL const PDstandard4th12gyz = PDstandard4th12(&gyz[index]); - CCTK_REAL const PDstandard4th13gyz = PDstandard4th13(&gyz[index]); - CCTK_REAL const PDstandard4th23gyz = PDstandard4th23(&gyz[index]); - CCTK_REAL const PDstandard4th1gzz = PDstandard4th1(&gzz[index]); - CCTK_REAL const PDstandard4th2gzz = PDstandard4th2(&gzz[index]); - CCTK_REAL const PDstandard4th3gzz = PDstandard4th3(&gzz[index]); - CCTK_REAL const PDstandard4th11gzz = PDstandard4th11(&gzz[index]); - CCTK_REAL const PDstandard4th22gzz = PDstandard4th22(&gzz[index]); - CCTK_REAL const PDstandard4th12gzz = PDstandard4th12(&gzz[index]); - CCTK_REAL const PDstandard4th2kxx = PDstandard4th2(&kxx[index]); - CCTK_REAL const PDstandard4th3kxx = PDstandard4th3(&kxx[index]); - CCTK_REAL const PDstandard4th1kxy = PDstandard4th1(&kxy[index]); - CCTK_REAL const PDstandard4th2kxy = PDstandard4th2(&kxy[index]); - CCTK_REAL const PDstandard4th3kxy = PDstandard4th3(&kxy[index]); - CCTK_REAL const PDstandard4th1kxz = PDstandard4th1(&kxz[index]); - CCTK_REAL const PDstandard4th2kxz = PDstandard4th2(&kxz[index]); - CCTK_REAL const PDstandard4th3kxz = PDstandard4th3(&kxz[index]); - CCTK_REAL const PDstandard4th1kyy = PDstandard4th1(&kyy[index]); - CCTK_REAL const PDstandard4th3kyy = PDstandard4th3(&kyy[index]); - CCTK_REAL const PDstandard4th1kyz = PDstandard4th1(&kyz[index]); - CCTK_REAL const PDstandard4th2kyz = PDstandard4th2(&kyz[index]); - CCTK_REAL const PDstandard4th3kyz = PDstandard4th3(&kyz[index]); - CCTK_REAL const PDstandard4th1kzz = PDstandard4th1(&kzz[index]); - CCTK_REAL const PDstandard4th2kzz = PDstandard4th2(&kzz[index]); + CCTK_REAL PDstandard4th1gxx; + CCTK_REAL PDstandard4th2gxx; + CCTK_REAL PDstandard4th3gxx; + CCTK_REAL PDstandard4th22gxx; + CCTK_REAL PDstandard4th33gxx; + CCTK_REAL PDstandard4th23gxx; + CCTK_REAL PDstandard4th1gxy; + CCTK_REAL PDstandard4th2gxy; + CCTK_REAL PDstandard4th3gxy; + CCTK_REAL PDstandard4th33gxy; + CCTK_REAL PDstandard4th12gxy; + CCTK_REAL PDstandard4th13gxy; + CCTK_REAL PDstandard4th23gxy; + CCTK_REAL PDstandard4th1gxz; + CCTK_REAL PDstandard4th2gxz; + CCTK_REAL PDstandard4th3gxz; + CCTK_REAL PDstandard4th22gxz; + CCTK_REAL PDstandard4th12gxz; + CCTK_REAL PDstandard4th13gxz; + CCTK_REAL PDstandard4th23gxz; + CCTK_REAL PDstandard4th1gyy; + CCTK_REAL PDstandard4th2gyy; + CCTK_REAL PDstandard4th3gyy; + CCTK_REAL PDstandard4th11gyy; + CCTK_REAL PDstandard4th33gyy; + CCTK_REAL PDstandard4th13gyy; + CCTK_REAL PDstandard4th1gyz; + CCTK_REAL PDstandard4th2gyz; + CCTK_REAL PDstandard4th3gyz; + CCTK_REAL PDstandard4th11gyz; + CCTK_REAL PDstandard4th12gyz; + CCTK_REAL PDstandard4th13gyz; + CCTK_REAL PDstandard4th23gyz; + CCTK_REAL PDstandard4th1gzz; + CCTK_REAL PDstandard4th2gzz; + CCTK_REAL PDstandard4th3gzz; + CCTK_REAL PDstandard4th11gzz; + CCTK_REAL PDstandard4th22gzz; + CCTK_REAL PDstandard4th12gzz; + CCTK_REAL PDstandard4th2kxx; + CCTK_REAL PDstandard4th3kxx; + CCTK_REAL PDstandard4th1kxy; + CCTK_REAL PDstandard4th2kxy; + CCTK_REAL PDstandard4th3kxy; + CCTK_REAL PDstandard4th1kxz; + CCTK_REAL PDstandard4th2kxz; + CCTK_REAL PDstandard4th3kxz; + CCTK_REAL PDstandard4th1kyy; + CCTK_REAL PDstandard4th3kyy; + CCTK_REAL PDstandard4th1kyz; + CCTK_REAL PDstandard4th2kyz; + CCTK_REAL PDstandard4th3kyz; + CCTK_REAL PDstandard4th1kzz; + CCTK_REAL PDstandard4th2kzz; + + switch(fdOrder) + { + case 2: + PDstandard4th1gxx = PDstandard4th1(&gxx[index]); + PDstandard4th2gxx = PDstandard4th2(&gxx[index]); + PDstandard4th3gxx = PDstandard4th3(&gxx[index]); + PDstandard4th22gxx = PDstandard4th22(&gxx[index]); + PDstandard4th33gxx = PDstandard4th33(&gxx[index]); + PDstandard4th23gxx = PDstandard4th23(&gxx[index]); + PDstandard4th1gxy = PDstandard4th1(&gxy[index]); + PDstandard4th2gxy = PDstandard4th2(&gxy[index]); + PDstandard4th3gxy = PDstandard4th3(&gxy[index]); + PDstandard4th33gxy = PDstandard4th33(&gxy[index]); + PDstandard4th12gxy = PDstandard4th12(&gxy[index]); + PDstandard4th13gxy = PDstandard4th13(&gxy[index]); + PDstandard4th23gxy = PDstandard4th23(&gxy[index]); + PDstandard4th1gxz = PDstandard4th1(&gxz[index]); + PDstandard4th2gxz = PDstandard4th2(&gxz[index]); + PDstandard4th3gxz = PDstandard4th3(&gxz[index]); + PDstandard4th22gxz = PDstandard4th22(&gxz[index]); + PDstandard4th12gxz = PDstandard4th12(&gxz[index]); + PDstandard4th13gxz = PDstandard4th13(&gxz[index]); + PDstandard4th23gxz = PDstandard4th23(&gxz[index]); + PDstandard4th1gyy = PDstandard4th1(&gyy[index]); + PDstandard4th2gyy = PDstandard4th2(&gyy[index]); + PDstandard4th3gyy = PDstandard4th3(&gyy[index]); + PDstandard4th11gyy = PDstandard4th11(&gyy[index]); + PDstandard4th33gyy = PDstandard4th33(&gyy[index]); + PDstandard4th13gyy = PDstandard4th13(&gyy[index]); + PDstandard4th1gyz = PDstandard4th1(&gyz[index]); + PDstandard4th2gyz = PDstandard4th2(&gyz[index]); + PDstandard4th3gyz = PDstandard4th3(&gyz[index]); + PDstandard4th11gyz = PDstandard4th11(&gyz[index]); + PDstandard4th12gyz = PDstandard4th12(&gyz[index]); + PDstandard4th13gyz = PDstandard4th13(&gyz[index]); + PDstandard4th23gyz = PDstandard4th23(&gyz[index]); + PDstandard4th1gzz = PDstandard4th1(&gzz[index]); + PDstandard4th2gzz = PDstandard4th2(&gzz[index]); + PDstandard4th3gzz = PDstandard4th3(&gzz[index]); + PDstandard4th11gzz = PDstandard4th11(&gzz[index]); + PDstandard4th22gzz = PDstandard4th22(&gzz[index]); + PDstandard4th12gzz = PDstandard4th12(&gzz[index]); + PDstandard4th2kxx = PDstandard4th2(&kxx[index]); + PDstandard4th3kxx = PDstandard4th3(&kxx[index]); + PDstandard4th1kxy = PDstandard4th1(&kxy[index]); + PDstandard4th2kxy = PDstandard4th2(&kxy[index]); + PDstandard4th3kxy = PDstandard4th3(&kxy[index]); + PDstandard4th1kxz = PDstandard4th1(&kxz[index]); + PDstandard4th2kxz = PDstandard4th2(&kxz[index]); + PDstandard4th3kxz = PDstandard4th3(&kxz[index]); + PDstandard4th1kyy = PDstandard4th1(&kyy[index]); + PDstandard4th3kyy = PDstandard4th3(&kyy[index]); + PDstandard4th1kyz = PDstandard4th1(&kyz[index]); + PDstandard4th2kyz = PDstandard4th2(&kyz[index]); + PDstandard4th3kyz = PDstandard4th3(&kyz[index]); + PDstandard4th1kzz = PDstandard4th1(&kzz[index]); + PDstandard4th2kzz = PDstandard4th2(&kzz[index]); + break; + + case 4: + PDstandard4th1gxx = PDstandard4th1(&gxx[index]); + PDstandard4th2gxx = PDstandard4th2(&gxx[index]); + PDstandard4th3gxx = PDstandard4th3(&gxx[index]); + PDstandard4th22gxx = PDstandard4th22(&gxx[index]); + PDstandard4th33gxx = PDstandard4th33(&gxx[index]); + PDstandard4th23gxx = PDstandard4th23(&gxx[index]); + PDstandard4th1gxy = PDstandard4th1(&gxy[index]); + PDstandard4th2gxy = PDstandard4th2(&gxy[index]); + PDstandard4th3gxy = PDstandard4th3(&gxy[index]); + PDstandard4th33gxy = PDstandard4th33(&gxy[index]); + PDstandard4th12gxy = PDstandard4th12(&gxy[index]); + PDstandard4th13gxy = PDstandard4th13(&gxy[index]); + PDstandard4th23gxy = PDstandard4th23(&gxy[index]); + PDstandard4th1gxz = PDstandard4th1(&gxz[index]); + PDstandard4th2gxz = PDstandard4th2(&gxz[index]); + PDstandard4th3gxz = PDstandard4th3(&gxz[index]); + PDstandard4th22gxz = PDstandard4th22(&gxz[index]); + PDstandard4th12gxz = PDstandard4th12(&gxz[index]); + PDstandard4th13gxz = PDstandard4th13(&gxz[index]); + PDstandard4th23gxz = PDstandard4th23(&gxz[index]); + PDstandard4th1gyy = PDstandard4th1(&gyy[index]); + PDstandard4th2gyy = PDstandard4th2(&gyy[index]); + PDstandard4th3gyy = PDstandard4th3(&gyy[index]); + PDstandard4th11gyy = PDstandard4th11(&gyy[index]); + PDstandard4th33gyy = PDstandard4th33(&gyy[index]); + PDstandard4th13gyy = PDstandard4th13(&gyy[index]); + PDstandard4th1gyz = PDstandard4th1(&gyz[index]); + PDstandard4th2gyz = PDstandard4th2(&gyz[index]); + PDstandard4th3gyz = PDstandard4th3(&gyz[index]); + PDstandard4th11gyz = PDstandard4th11(&gyz[index]); + PDstandard4th12gyz = PDstandard4th12(&gyz[index]); + PDstandard4th13gyz = PDstandard4th13(&gyz[index]); + PDstandard4th23gyz = PDstandard4th23(&gyz[index]); + PDstandard4th1gzz = PDstandard4th1(&gzz[index]); + PDstandard4th2gzz = PDstandard4th2(&gzz[index]); + PDstandard4th3gzz = PDstandard4th3(&gzz[index]); + PDstandard4th11gzz = PDstandard4th11(&gzz[index]); + PDstandard4th22gzz = PDstandard4th22(&gzz[index]); + PDstandard4th12gzz = PDstandard4th12(&gzz[index]); + PDstandard4th2kxx = PDstandard4th2(&kxx[index]); + PDstandard4th3kxx = PDstandard4th3(&kxx[index]); + PDstandard4th1kxy = PDstandard4th1(&kxy[index]); + PDstandard4th2kxy = PDstandard4th2(&kxy[index]); + PDstandard4th3kxy = PDstandard4th3(&kxy[index]); + PDstandard4th1kxz = PDstandard4th1(&kxz[index]); + PDstandard4th2kxz = PDstandard4th2(&kxz[index]); + PDstandard4th3kxz = PDstandard4th3(&kxz[index]); + PDstandard4th1kyy = PDstandard4th1(&kyy[index]); + PDstandard4th3kyy = PDstandard4th3(&kyy[index]); + PDstandard4th1kyz = PDstandard4th1(&kyz[index]); + PDstandard4th2kyz = PDstandard4th2(&kyz[index]); + PDstandard4th3kyz = PDstandard4th3(&kyz[index]); + PDstandard4th1kzz = PDstandard4th1(&kzz[index]); + PDstandard4th2kzz = PDstandard4th2(&kzz[index]); + break; + + case 6: + PDstandard4th1gxx = PDstandard4th1(&gxx[index]); + PDstandard4th2gxx = PDstandard4th2(&gxx[index]); + PDstandard4th3gxx = PDstandard4th3(&gxx[index]); + PDstandard4th22gxx = PDstandard4th22(&gxx[index]); + PDstandard4th33gxx = PDstandard4th33(&gxx[index]); + PDstandard4th23gxx = PDstandard4th23(&gxx[index]); + PDstandard4th1gxy = PDstandard4th1(&gxy[index]); + PDstandard4th2gxy = PDstandard4th2(&gxy[index]); + PDstandard4th3gxy = PDstandard4th3(&gxy[index]); + PDstandard4th33gxy = PDstandard4th33(&gxy[index]); + PDstandard4th12gxy = PDstandard4th12(&gxy[index]); + PDstandard4th13gxy = PDstandard4th13(&gxy[index]); + PDstandard4th23gxy = PDstandard4th23(&gxy[index]); + PDstandard4th1gxz = PDstandard4th1(&gxz[index]); + PDstandard4th2gxz = PDstandard4th2(&gxz[index]); + PDstandard4th3gxz = PDstandard4th3(&gxz[index]); + PDstandard4th22gxz = PDstandard4th22(&gxz[index]); + PDstandard4th12gxz = PDstandard4th12(&gxz[index]); + PDstandard4th13gxz = PDstandard4th13(&gxz[index]); + PDstandard4th23gxz = PDstandard4th23(&gxz[index]); + PDstandard4th1gyy = PDstandard4th1(&gyy[index]); + PDstandard4th2gyy = PDstandard4th2(&gyy[index]); + PDstandard4th3gyy = PDstandard4th3(&gyy[index]); + PDstandard4th11gyy = PDstandard4th11(&gyy[index]); + PDstandard4th33gyy = PDstandard4th33(&gyy[index]); + PDstandard4th13gyy = PDstandard4th13(&gyy[index]); + PDstandard4th1gyz = PDstandard4th1(&gyz[index]); + PDstandard4th2gyz = PDstandard4th2(&gyz[index]); + PDstandard4th3gyz = PDstandard4th3(&gyz[index]); + PDstandard4th11gyz = PDstandard4th11(&gyz[index]); + PDstandard4th12gyz = PDstandard4th12(&gyz[index]); + PDstandard4th13gyz = PDstandard4th13(&gyz[index]); + PDstandard4th23gyz = PDstandard4th23(&gyz[index]); + PDstandard4th1gzz = PDstandard4th1(&gzz[index]); + PDstandard4th2gzz = PDstandard4th2(&gzz[index]); + PDstandard4th3gzz = PDstandard4th3(&gzz[index]); + PDstandard4th11gzz = PDstandard4th11(&gzz[index]); + PDstandard4th22gzz = PDstandard4th22(&gzz[index]); + PDstandard4th12gzz = PDstandard4th12(&gzz[index]); + PDstandard4th2kxx = PDstandard4th2(&kxx[index]); + PDstandard4th3kxx = PDstandard4th3(&kxx[index]); + PDstandard4th1kxy = PDstandard4th1(&kxy[index]); + PDstandard4th2kxy = PDstandard4th2(&kxy[index]); + PDstandard4th3kxy = PDstandard4th3(&kxy[index]); + PDstandard4th1kxz = PDstandard4th1(&kxz[index]); + PDstandard4th2kxz = PDstandard4th2(&kxz[index]); + PDstandard4th3kxz = PDstandard4th3(&kxz[index]); + PDstandard4th1kyy = PDstandard4th1(&kyy[index]); + PDstandard4th3kyy = PDstandard4th3(&kyy[index]); + PDstandard4th1kyz = PDstandard4th1(&kyz[index]); + PDstandard4th2kyz = PDstandard4th2(&kyz[index]); + PDstandard4th3kyz = PDstandard4th3(&kyz[index]); + PDstandard4th1kzz = PDstandard4th1(&kzz[index]); + PDstandard4th2kzz = PDstandard4th2(&kzz[index]); + break; + + case 8: + PDstandard4th1gxx = PDstandard4th1(&gxx[index]); + PDstandard4th2gxx = PDstandard4th2(&gxx[index]); + PDstandard4th3gxx = PDstandard4th3(&gxx[index]); + PDstandard4th22gxx = PDstandard4th22(&gxx[index]); + PDstandard4th33gxx = PDstandard4th33(&gxx[index]); + PDstandard4th23gxx = PDstandard4th23(&gxx[index]); + PDstandard4th1gxy = PDstandard4th1(&gxy[index]); + PDstandard4th2gxy = PDstandard4th2(&gxy[index]); + PDstandard4th3gxy = PDstandard4th3(&gxy[index]); + PDstandard4th33gxy = PDstandard4th33(&gxy[index]); + PDstandard4th12gxy = PDstandard4th12(&gxy[index]); + PDstandard4th13gxy = PDstandard4th13(&gxy[index]); + PDstandard4th23gxy = PDstandard4th23(&gxy[index]); + PDstandard4th1gxz = PDstandard4th1(&gxz[index]); + PDstandard4th2gxz = PDstandard4th2(&gxz[index]); + PDstandard4th3gxz = PDstandard4th3(&gxz[index]); + PDstandard4th22gxz = PDstandard4th22(&gxz[index]); + PDstandard4th12gxz = PDstandard4th12(&gxz[index]); + PDstandard4th13gxz = PDstandard4th13(&gxz[index]); + PDstandard4th23gxz = PDstandard4th23(&gxz[index]); + PDstandard4th1gyy = PDstandard4th1(&gyy[index]); + PDstandard4th2gyy = PDstandard4th2(&gyy[index]); + PDstandard4th3gyy = PDstandard4th3(&gyy[index]); + PDstandard4th11gyy = PDstandard4th11(&gyy[index]); + PDstandard4th33gyy = PDstandard4th33(&gyy[index]); + PDstandard4th13gyy = PDstandard4th13(&gyy[index]); + PDstandard4th1gyz = PDstandard4th1(&gyz[index]); + PDstandard4th2gyz = PDstandard4th2(&gyz[index]); + PDstandard4th3gyz = PDstandard4th3(&gyz[index]); + PDstandard4th11gyz = PDstandard4th11(&gyz[index]); + PDstandard4th12gyz = PDstandard4th12(&gyz[index]); + PDstandard4th13gyz = PDstandard4th13(&gyz[index]); + PDstandard4th23gyz = PDstandard4th23(&gyz[index]); + PDstandard4th1gzz = PDstandard4th1(&gzz[index]); + PDstandard4th2gzz = PDstandard4th2(&gzz[index]); + PDstandard4th3gzz = PDstandard4th3(&gzz[index]); + PDstandard4th11gzz = PDstandard4th11(&gzz[index]); + PDstandard4th22gzz = PDstandard4th22(&gzz[index]); + PDstandard4th12gzz = PDstandard4th12(&gzz[index]); + PDstandard4th2kxx = PDstandard4th2(&kxx[index]); + PDstandard4th3kxx = PDstandard4th3(&kxx[index]); + PDstandard4th1kxy = PDstandard4th1(&kxy[index]); + PDstandard4th2kxy = PDstandard4th2(&kxy[index]); + PDstandard4th3kxy = PDstandard4th3(&kxy[index]); + PDstandard4th1kxz = PDstandard4th1(&kxz[index]); + PDstandard4th2kxz = PDstandard4th2(&kxz[index]); + PDstandard4th3kxz = PDstandard4th3(&kxz[index]); + PDstandard4th1kyy = PDstandard4th1(&kyy[index]); + PDstandard4th3kyy = PDstandard4th3(&kyy[index]); + PDstandard4th1kyz = PDstandard4th1(&kyz[index]); + PDstandard4th2kyz = PDstandard4th2(&kyz[index]); + PDstandard4th3kyz = PDstandard4th3(&kyz[index]); + PDstandard4th1kzz = PDstandard4th1(&kzz[index]); + PDstandard4th2kzz = PDstandard4th2(&kzz[index]); + break; + } /* Calculate temporaries and grid functions */ CCTK_REAL detg = 2*gxyL*gxzL*gyzL + gzzL*(gxxL*gyyL - SQR(gxyL)) - diff --git a/src/psis_calc_Nth.cc b/src/psis_calc_Nth.cc new file mode 100644 index 0000000..8cb57bd --- /dev/null +++ b/src/psis_calc_Nth.cc @@ -0,0 +1,1540 @@ +/* File produced by Kranc */ + +#define KRANC_C + +#include +#include +#include +#include +#include +#include "cctk.h" +#include "cctk_Arguments.h" +#include "cctk_Parameters.h" +#include "GenericFD.h" +#include "Differencing.h" +#include "loopcontrol.h" + +/* Define macros used in calculations */ +#define INITVALUE (42) +#define QAD(x) (SQR(SQR(x))) +#define INV(x) ((1.0) / (x)) +#define SQR(x) ((x) * (x)) +#define CUB(x) ((x) * (x) * (x)) + +extern "C" void psis_calc_Nth_SelectBCs(CCTK_ARGUMENTS) +{ + DECLARE_CCTK_ARGUMENTS; + DECLARE_CCTK_PARAMETERS; + + CCTK_INT ierr = 0; + ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "WeylScal4::Psi4i_group","flat"); + if (ierr < 0) + CCTK_WARN(1, "Failed to register flat BC for WeylScal4::Psi4i_group."); + ierr = Boundary_SelectGroupForBC(cctkGH, CCTK_ALL_FACES, GenericFD_GetBoundaryWidth(cctkGH), -1 /* no table */, "WeylScal4::Psi4r_group","flat"); + if (ierr < 0) + CCTK_WARN(1, "Failed to register flat BC for WeylScal4::Psi4r_group."); + return; +} + +static void psis_calc_Nth_Body(cGH const * restrict const cctkGH, int const dir, int const face, CCTK_REAL const normal[3], CCTK_REAL const tangentA[3], CCTK_REAL const tangentB[3], int const min[3], int const max[3], int const n_subblock_gfs, CCTK_REAL * restrict const subblock_gfs[]) +{ + DECLARE_CCTK_ARGUMENTS; + DECLARE_CCTK_PARAMETERS; + + + /* Declare finite differencing variables */ + + if (verbose > 1) + { + CCTK_VInfo(CCTK_THORNSTRING,"Entering psis_calc_Nth_Body"); + } + + if (cctk_iteration % psis_calc_Nth_calc_every != psis_calc_Nth_calc_offset) + { + return; + } + + const char *groups[] = {"admbase::curv","admbase::metric","grid::coordinates","WeylScal4::Psi4i_group","WeylScal4::Psi4r_group"}; + GenericFD_AssertGroupStorage(cctkGH, "psis_calc_Nth", 5, groups); + + switch(fdOrder) + { + case 2: + GenericFD_EnsureStencilFits(cctkGH, "psis_calc_Nth", 1, 1, 1); + break; + + case 4: + GenericFD_EnsureStencilFits(cctkGH, "psis_calc_Nth", 2, 2, 2); + break; + + case 6: + GenericFD_EnsureStencilFits(cctkGH, "psis_calc_Nth", 3, 3, 3); + break; + + case 8: + GenericFD_EnsureStencilFits(cctkGH, "psis_calc_Nth", 4, 4, 4); + break; + } + + /* Include user-supplied include files */ + + /* Initialise finite differencing variables */ + ptrdiff_t const di = 1; + ptrdiff_t const dj = CCTK_GFINDEX3D(cctkGH,0,1,0) - CCTK_GFINDEX3D(cctkGH,0,0,0); + ptrdiff_t const dk = CCTK_GFINDEX3D(cctkGH,0,0,1) - CCTK_GFINDEX3D(cctkGH,0,0,0); + ptrdiff_t const cdi = sizeof(CCTK_REAL) * di; + ptrdiff_t const cdj = sizeof(CCTK_REAL) * dj; + ptrdiff_t const cdk = sizeof(CCTK_REAL) * dk; + CCTK_REAL const dx = ToReal(CCTK_DELTA_SPACE(0)); + CCTK_REAL const dy = ToReal(CCTK_DELTA_SPACE(1)); + CCTK_REAL const dz = ToReal(CCTK_DELTA_SPACE(2)); + CCTK_REAL const dt = ToReal(CCTK_DELTA_TIME); + CCTK_REAL const dxi = INV(dx); + CCTK_REAL const dyi = INV(dy); + CCTK_REAL const dzi = INV(dz); + CCTK_REAL const khalf = 0.5; + CCTK_REAL const kthird = 1/3.0; + CCTK_REAL const ktwothird = 2.0/3.0; + CCTK_REAL const kfourthird = 4.0/3.0; + CCTK_REAL const keightthird = 8.0/3.0; + CCTK_REAL const hdxi = 0.5 * dxi; + CCTK_REAL const hdyi = 0.5 * dyi; + CCTK_REAL const hdzi = 0.5 * dzi; + + /* Initialize predefined quantities */ + CCTK_REAL const p1o12dx = 0.0833333333333333333333333333333*INV(dx); + CCTK_REAL const p1o12dy = 0.0833333333333333333333333333333*INV(dy); + CCTK_REAL const p1o12dz = 0.0833333333333333333333333333333*INV(dz); + CCTK_REAL const p1o144dxdy = 0.00694444444444444444444444444444*INV(dx)*INV(dy); + CCTK_REAL const p1o144dxdz = 0.00694444444444444444444444444444*INV(dx)*INV(dz); + CCTK_REAL const p1o144dydz = 0.00694444444444444444444444444444*INV(dy)*INV(dz); + CCTK_REAL const p1o180dx2 = 0.00555555555555555555555555555556*INV(SQR(dx)); + CCTK_REAL const p1o180dy2 = 0.00555555555555555555555555555556*INV(SQR(dy)); + CCTK_REAL const p1o180dz2 = 0.00555555555555555555555555555556*INV(SQR(dz)); + CCTK_REAL const p1o2dx = 0.5*INV(dx); + CCTK_REAL const p1o2dy = 0.5*INV(dy); + CCTK_REAL const p1o2dz = 0.5*INV(dz); + CCTK_REAL const p1o3600dxdy = 0.000277777777777777777777777777778*INV(dx)*INV(dy); + CCTK_REAL const p1o3600dxdz = 0.000277777777777777777777777777778*INV(dx)*INV(dz); + CCTK_REAL const p1o3600dydz = 0.000277777777777777777777777777778*INV(dy)*INV(dz); + CCTK_REAL const p1o4dxdy = 0.25*INV(dx)*INV(dy); + CCTK_REAL const p1o4dxdz = 0.25*INV(dx)*INV(dz); + CCTK_REAL const p1o4dydz = 0.25*INV(dy)*INV(dz); + CCTK_REAL const p1o5040dx2 = 0.000198412698412698412698412698413*INV(SQR(dx)); + CCTK_REAL const p1o5040dy2 = 0.000198412698412698412698412698413*INV(SQR(dy)); + CCTK_REAL const p1o5040dz2 = 0.000198412698412698412698412698413*INV(SQR(dz)); + CCTK_REAL const p1o60dx = 0.0166666666666666666666666666667*INV(dx); + CCTK_REAL const p1o60dy = 0.0166666666666666666666666666667*INV(dy); + CCTK_REAL const p1o60dz = 0.0166666666666666666666666666667*INV(dz); + CCTK_REAL const p1o705600dxdy = 1.41723356009070294784580498866e-6*INV(dx)*INV(dy); + CCTK_REAL const p1o705600dxdz = 1.41723356009070294784580498866e-6*INV(dx)*INV(dz); + CCTK_REAL const p1o705600dydz = 1.41723356009070294784580498866e-6*INV(dy)*INV(dz); + CCTK_REAL const p1o840dx = 0.00119047619047619047619047619048*INV(dx); + CCTK_REAL const p1o840dy = 0.00119047619047619047619047619048*INV(dy); + CCTK_REAL const p1o840dz = 0.00119047619047619047619047619048*INV(dz); + CCTK_REAL const p1odx = INV(dx); + CCTK_REAL const p1odx2 = INV(SQR(dx)); + CCTK_REAL const p1odxdy = INV(dx)*INV(dy); + CCTK_REAL const p1odxdz = INV(dx)*INV(dz); + CCTK_REAL const p1ody = INV(dy); + CCTK_REAL const p1ody2 = INV(SQR(dy)); + CCTK_REAL const p1odydz = INV(dy)*INV(dz); + CCTK_REAL const p1odz = INV(dz); + CCTK_REAL const p1odz2 = INV(SQR(dz)); + CCTK_REAL const pm1o12dx2 = -0.0833333333333333333333333333333*INV(SQR(dx)); + CCTK_REAL const pm1o12dy2 = -0.0833333333333333333333333333333*INV(SQR(dy)); + CCTK_REAL const pm1o12dz2 = -0.0833333333333333333333333333333*INV(SQR(dz)); + CCTK_REAL const pm1o2dx = -0.5*INV(dx); + CCTK_REAL const pm1o2dy = -0.5*INV(dy); + CCTK_REAL const pm1o2dz = -0.5*INV(dz); + + /* Loop over the grid points */ + #pragma omp parallel + LC_LOOP3 (psis_calc_Nth, + i,j,k, min[0],min[1],min[2], max[0],max[1],max[2], + cctk_lsh[0],cctk_lsh[1],cctk_lsh[2]) + { + ptrdiff_t const index = di*i + dj*j + dk*k; + + /* Assign local copies of grid functions */ + + CCTK_REAL gxxL = gxx[index]; + CCTK_REAL gxyL = gxy[index]; + CCTK_REAL gxzL = gxz[index]; + CCTK_REAL gyyL = gyy[index]; + CCTK_REAL gyzL = gyz[index]; + CCTK_REAL gzzL = gzz[index]; + CCTK_REAL kxxL = kxx[index]; + CCTK_REAL kxyL = kxy[index]; + CCTK_REAL kxzL = kxz[index]; + CCTK_REAL kyyL = kyy[index]; + CCTK_REAL kyzL = kyz[index]; + CCTK_REAL kzzL = kzz[index]; + CCTK_REAL xL = x[index]; + CCTK_REAL yL = y[index]; + CCTK_REAL zL = z[index]; + + + /* Include user supplied include files */ + + /* Precompute derivatives */ + CCTK_REAL PDstandard1gxx; + CCTK_REAL PDstandard2gxx; + CCTK_REAL PDstandard3gxx; + CCTK_REAL PDstandard22gxx; + CCTK_REAL PDstandard33gxx; + CCTK_REAL PDstandard23gxx; + CCTK_REAL PDstandard1gxy; + CCTK_REAL PDstandard2gxy; + CCTK_REAL PDstandard3gxy; + CCTK_REAL PDstandard33gxy; + CCTK_REAL PDstandard12gxy; + CCTK_REAL PDstandard13gxy; + CCTK_REAL PDstandard23gxy; + CCTK_REAL PDstandard1gxz; + CCTK_REAL PDstandard2gxz; + CCTK_REAL PDstandard3gxz; + CCTK_REAL PDstandard22gxz; + CCTK_REAL PDstandard12gxz; + CCTK_REAL PDstandard13gxz; + CCTK_REAL PDstandard23gxz; + CCTK_REAL PDstandard1gyy; + CCTK_REAL PDstandard2gyy; + CCTK_REAL PDstandard3gyy; + CCTK_REAL PDstandard11gyy; + CCTK_REAL PDstandard33gyy; + CCTK_REAL PDstandard13gyy; + CCTK_REAL PDstandard1gyz; + CCTK_REAL PDstandard2gyz; + CCTK_REAL PDstandard3gyz; + CCTK_REAL PDstandard11gyz; + CCTK_REAL PDstandard12gyz; + CCTK_REAL PDstandard13gyz; + CCTK_REAL PDstandard23gyz; + CCTK_REAL PDstandard1gzz; + CCTK_REAL PDstandard2gzz; + CCTK_REAL PDstandard3gzz; + CCTK_REAL PDstandard11gzz; + CCTK_REAL PDstandard22gzz; + CCTK_REAL PDstandard12gzz; + CCTK_REAL PDstandard2kxx; + CCTK_REAL PDstandard3kxx; + CCTK_REAL PDstandard1kxy; + CCTK_REAL PDstandard2kxy; + CCTK_REAL PDstandard3kxy; + CCTK_REAL PDstandard1kxz; + CCTK_REAL PDstandard2kxz; + CCTK_REAL PDstandard3kxz; + CCTK_REAL PDstandard1kyy; + CCTK_REAL PDstandard3kyy; + CCTK_REAL PDstandard1kyz; + CCTK_REAL PDstandard2kyz; + CCTK_REAL PDstandard3kyz; + CCTK_REAL PDstandard1kzz; + CCTK_REAL PDstandard2kzz; + + switch(fdOrder) + { + case 2: + PDstandard1gxx = PDstandardfdOrder21(&gxx[index]); + PDstandard2gxx = PDstandardfdOrder22(&gxx[index]); + PDstandard3gxx = PDstandardfdOrder23(&gxx[index]); + PDstandard22gxx = PDstandardfdOrder222(&gxx[index]); + PDstandard33gxx = PDstandardfdOrder233(&gxx[index]); + PDstandard23gxx = PDstandardfdOrder223(&gxx[index]); + PDstandard1gxy = PDstandardfdOrder21(&gxy[index]); + PDstandard2gxy = PDstandardfdOrder22(&gxy[index]); + PDstandard3gxy = PDstandardfdOrder23(&gxy[index]); + PDstandard33gxy = PDstandardfdOrder233(&gxy[index]); + PDstandard12gxy = PDstandardfdOrder212(&gxy[index]); + PDstandard13gxy = PDstandardfdOrder213(&gxy[index]); + PDstandard23gxy = PDstandardfdOrder223(&gxy[index]); + PDstandard1gxz = PDstandardfdOrder21(&gxz[index]); + PDstandard2gxz = PDstandardfdOrder22(&gxz[index]); + PDstandard3gxz = PDstandardfdOrder23(&gxz[index]); + PDstandard22gxz = PDstandardfdOrder222(&gxz[index]); + PDstandard12gxz = PDstandardfdOrder212(&gxz[index]); + PDstandard13gxz = PDstandardfdOrder213(&gxz[index]); + PDstandard23gxz = PDstandardfdOrder223(&gxz[index]); + PDstandard1gyy = PDstandardfdOrder21(&gyy[index]); + PDstandard2gyy = PDstandardfdOrder22(&gyy[index]); + PDstandard3gyy = PDstandardfdOrder23(&gyy[index]); + PDstandard11gyy = PDstandardfdOrder211(&gyy[index]); + PDstandard33gyy = PDstandardfdOrder233(&gyy[index]); + PDstandard13gyy = PDstandardfdOrder213(&gyy[index]); + PDstandard1gyz = PDstandardfdOrder21(&gyz[index]); + PDstandard2gyz = PDstandardfdOrder22(&gyz[index]); + PDstandard3gyz = PDstandardfdOrder23(&gyz[index]); + PDstandard11gyz = PDstandardfdOrder211(&gyz[index]); + PDstandard12gyz = PDstandardfdOrder212(&gyz[index]); + PDstandard13gyz = PDstandardfdOrder213(&gyz[index]); + PDstandard23gyz = PDstandardfdOrder223(&gyz[index]); + PDstandard1gzz = PDstandardfdOrder21(&gzz[index]); + PDstandard2gzz = PDstandardfdOrder22(&gzz[index]); + PDstandard3gzz = PDstandardfdOrder23(&gzz[index]); + PDstandard11gzz = PDstandardfdOrder211(&gzz[index]); + PDstandard22gzz = PDstandardfdOrder222(&gzz[index]); + PDstandard12gzz = PDstandardfdOrder212(&gzz[index]); + PDstandard2kxx = PDstandardfdOrder22(&kxx[index]); + PDstandard3kxx = PDstandardfdOrder23(&kxx[index]); + PDstandard1kxy = PDstandardfdOrder21(&kxy[index]); + PDstandard2kxy = PDstandardfdOrder22(&kxy[index]); + PDstandard3kxy = PDstandardfdOrder23(&kxy[index]); + PDstandard1kxz = PDstandardfdOrder21(&kxz[index]); + PDstandard2kxz = PDstandardfdOrder22(&kxz[index]); + PDstandard3kxz = PDstandardfdOrder23(&kxz[index]); + PDstandard1kyy = PDstandardfdOrder21(&kyy[index]); + PDstandard3kyy = PDstandardfdOrder23(&kyy[index]); + PDstandard1kyz = PDstandardfdOrder21(&kyz[index]); + PDstandard2kyz = PDstandardfdOrder22(&kyz[index]); + PDstandard3kyz = PDstandardfdOrder23(&kyz[index]); + PDstandard1kzz = PDstandardfdOrder21(&kzz[index]); + PDstandard2kzz = PDstandardfdOrder22(&kzz[index]); + break; + + case 4: + PDstandard1gxx = PDstandardfdOrder41(&gxx[index]); + PDstandard2gxx = PDstandardfdOrder42(&gxx[index]); + PDstandard3gxx = PDstandardfdOrder43(&gxx[index]); + PDstandard22gxx = PDstandardfdOrder422(&gxx[index]); + PDstandard33gxx = PDstandardfdOrder433(&gxx[index]); + PDstandard23gxx = PDstandardfdOrder423(&gxx[index]); + PDstandard1gxy = PDstandardfdOrder41(&gxy[index]); + PDstandard2gxy = PDstandardfdOrder42(&gxy[index]); + PDstandard3gxy = PDstandardfdOrder43(&gxy[index]); + PDstandard33gxy = PDstandardfdOrder433(&gxy[index]); + PDstandard12gxy = PDstandardfdOrder412(&gxy[index]); + PDstandard13gxy = PDstandardfdOrder413(&gxy[index]); + PDstandard23gxy = PDstandardfdOrder423(&gxy[index]); + PDstandard1gxz = PDstandardfdOrder41(&gxz[index]); + PDstandard2gxz = PDstandardfdOrder42(&gxz[index]); + PDstandard3gxz = PDstandardfdOrder43(&gxz[index]); + PDstandard22gxz = PDstandardfdOrder422(&gxz[index]); + PDstandard12gxz = PDstandardfdOrder412(&gxz[index]); + PDstandard13gxz = PDstandardfdOrder413(&gxz[index]); + PDstandard23gxz = PDstandardfdOrder423(&gxz[index]); + PDstandard1gyy = PDstandardfdOrder41(&gyy[index]); + PDstandard2gyy = PDstandardfdOrder42(&gyy[index]); + PDstandard3gyy = PDstandardfdOrder43(&gyy[index]); + PDstandard11gyy = PDstandardfdOrder411(&gyy[index]); + PDstandard33gyy = PDstandardfdOrder433(&gyy[index]); + PDstandard13gyy = PDstandardfdOrder413(&gyy[index]); + PDstandard1gyz = PDstandardfdOrder41(&gyz[index]); + PDstandard2gyz = PDstandardfdOrder42(&gyz[index]); + PDstandard3gyz = PDstandardfdOrder43(&gyz[index]); + PDstandard11gyz = PDstandardfdOrder411(&gyz[index]); + PDstandard12gyz = PDstandardfdOrder412(&gyz[index]); + PDstandard13gyz = PDstandardfdOrder413(&gyz[index]); + PDstandard23gyz = PDstandardfdOrder423(&gyz[index]); + PDstandard1gzz = PDstandardfdOrder41(&gzz[index]); + PDstandard2gzz = PDstandardfdOrder42(&gzz[index]); + PDstandard3gzz = PDstandardfdOrder43(&gzz[index]); + PDstandard11gzz = PDstandardfdOrder411(&gzz[index]); + PDstandard22gzz = PDstandardfdOrder422(&gzz[index]); + PDstandard12gzz = PDstandardfdOrder412(&gzz[index]); + PDstandard2kxx = PDstandardfdOrder42(&kxx[index]); + PDstandard3kxx = PDstandardfdOrder43(&kxx[index]); + PDstandard1kxy = PDstandardfdOrder41(&kxy[index]); + PDstandard2kxy = PDstandardfdOrder42(&kxy[index]); + PDstandard3kxy = PDstandardfdOrder43(&kxy[index]); + PDstandard1kxz = PDstandardfdOrder41(&kxz[index]); + PDstandard2kxz = PDstandardfdOrder42(&kxz[index]); + PDstandard3kxz = PDstandardfdOrder43(&kxz[index]); + PDstandard1kyy = PDstandardfdOrder41(&kyy[index]); + PDstandard3kyy = PDstandardfdOrder43(&kyy[index]); + PDstandard1kyz = PDstandardfdOrder41(&kyz[index]); + PDstandard2kyz = PDstandardfdOrder42(&kyz[index]); + PDstandard3kyz = PDstandardfdOrder43(&kyz[index]); + PDstandard1kzz = PDstandardfdOrder41(&kzz[index]); + PDstandard2kzz = PDstandardfdOrder42(&kzz[index]); + break; + + case 6: + PDstandard1gxx = PDstandardfdOrder61(&gxx[index]); + PDstandard2gxx = PDstandardfdOrder62(&gxx[index]); + PDstandard3gxx = PDstandardfdOrder63(&gxx[index]); + PDstandard22gxx = PDstandardfdOrder622(&gxx[index]); + PDstandard33gxx = PDstandardfdOrder633(&gxx[index]); + PDstandard23gxx = PDstandardfdOrder623(&gxx[index]); + PDstandard1gxy = PDstandardfdOrder61(&gxy[index]); + PDstandard2gxy = PDstandardfdOrder62(&gxy[index]); + PDstandard3gxy = PDstandardfdOrder63(&gxy[index]); + PDstandard33gxy = PDstandardfdOrder633(&gxy[index]); + PDstandard12gxy = PDstandardfdOrder612(&gxy[index]); + PDstandard13gxy = PDstandardfdOrder613(&gxy[index]); + PDstandard23gxy = PDstandardfdOrder623(&gxy[index]); + PDstandard1gxz = PDstandardfdOrder61(&gxz[index]); + PDstandard2gxz = PDstandardfdOrder62(&gxz[index]); + PDstandard3gxz = PDstandardfdOrder63(&gxz[index]); + PDstandard22gxz = PDstandardfdOrder622(&gxz[index]); + PDstandard12gxz = PDstandardfdOrder612(&gxz[index]); + PDstandard13gxz = PDstandardfdOrder613(&gxz[index]); + PDstandard23gxz = PDstandardfdOrder623(&gxz[index]); + PDstandard1gyy = PDstandardfdOrder61(&gyy[index]); + PDstandard2gyy = PDstandardfdOrder62(&gyy[index]); + PDstandard3gyy = PDstandardfdOrder63(&gyy[index]); + PDstandard11gyy = PDstandardfdOrder611(&gyy[index]); + PDstandard33gyy = PDstandardfdOrder633(&gyy[index]); + PDstandard13gyy = PDstandardfdOrder613(&gyy[index]); + PDstandard1gyz = PDstandardfdOrder61(&gyz[index]); + PDstandard2gyz = PDstandardfdOrder62(&gyz[index]); + PDstandard3gyz = PDstandardfdOrder63(&gyz[index]); + PDstandard11gyz = PDstandardfdOrder611(&gyz[index]); + PDstandard12gyz = PDstandardfdOrder612(&gyz[index]); + PDstandard13gyz = PDstandardfdOrder613(&gyz[index]); + PDstandard23gyz = PDstandardfdOrder623(&gyz[index]); + PDstandard1gzz = PDstandardfdOrder61(&gzz[index]); + PDstandard2gzz = PDstandardfdOrder62(&gzz[index]); + PDstandard3gzz = PDstandardfdOrder63(&gzz[index]); + PDstandard11gzz = PDstandardfdOrder611(&gzz[index]); + PDstandard22gzz = PDstandardfdOrder622(&gzz[index]); + PDstandard12gzz = PDstandardfdOrder612(&gzz[index]); + PDstandard2kxx = PDstandardfdOrder62(&kxx[index]); + PDstandard3kxx = PDstandardfdOrder63(&kxx[index]); + PDstandard1kxy = PDstandardfdOrder61(&kxy[index]); + PDstandard2kxy = PDstandardfdOrder62(&kxy[index]); + PDstandard3kxy = PDstandardfdOrder63(&kxy[index]); + PDstandard1kxz = PDstandardfdOrder61(&kxz[index]); + PDstandard2kxz = PDstandardfdOrder62(&kxz[index]); + PDstandard3kxz = PDstandardfdOrder63(&kxz[index]); + PDstandard1kyy = PDstandardfdOrder61(&kyy[index]); + PDstandard3kyy = PDstandardfdOrder63(&kyy[index]); + PDstandard1kyz = PDstandardfdOrder61(&kyz[index]); + PDstandard2kyz = PDstandardfdOrder62(&kyz[index]); + PDstandard3kyz = PDstandardfdOrder63(&kyz[index]); + PDstandard1kzz = PDstandardfdOrder61(&kzz[index]); + PDstandard2kzz = PDstandardfdOrder62(&kzz[index]); + break; + + case 8: + PDstandard1gxx = PDstandardfdOrder81(&gxx[index]); + PDstandard2gxx = PDstandardfdOrder82(&gxx[index]); + PDstandard3gxx = PDstandardfdOrder83(&gxx[index]); + PDstandard22gxx = PDstandardfdOrder822(&gxx[index]); + PDstandard33gxx = PDstandardfdOrder833(&gxx[index]); + PDstandard23gxx = PDstandardfdOrder823(&gxx[index]); + PDstandard1gxy = PDstandardfdOrder81(&gxy[index]); + PDstandard2gxy = PDstandardfdOrder82(&gxy[index]); + PDstandard3gxy = PDstandardfdOrder83(&gxy[index]); + PDstandard33gxy = PDstandardfdOrder833(&gxy[index]); + PDstandard12gxy = PDstandardfdOrder812(&gxy[index]); + PDstandard13gxy = PDstandardfdOrder813(&gxy[index]); + PDstandard23gxy = PDstandardfdOrder823(&gxy[index]); + PDstandard1gxz = PDstandardfdOrder81(&gxz[index]); + PDstandard2gxz = PDstandardfdOrder82(&gxz[index]); + PDstandard3gxz = PDstandardfdOrder83(&gxz[index]); + PDstandard22gxz = PDstandardfdOrder822(&gxz[index]); + PDstandard12gxz = PDstandardfdOrder812(&gxz[index]); + PDstandard13gxz = PDstandardfdOrder813(&gxz[index]); + PDstandard23gxz = PDstandardfdOrder823(&gxz[index]); + PDstandard1gyy = PDstandardfdOrder81(&gyy[index]); + PDstandard2gyy = PDstandardfdOrder82(&gyy[index]); + PDstandard3gyy = PDstandardfdOrder83(&gyy[index]); + PDstandard11gyy = PDstandardfdOrder811(&gyy[index]); + PDstandard33gyy = PDstandardfdOrder833(&gyy[index]); + PDstandard13gyy = PDstandardfdOrder813(&gyy[index]); + PDstandard1gyz = PDstandardfdOrder81(&gyz[index]); + PDstandard2gyz = PDstandardfdOrder82(&gyz[index]); + PDstandard3gyz = PDstandardfdOrder83(&gyz[index]); + PDstandard11gyz = PDstandardfdOrder811(&gyz[index]); + PDstandard12gyz = PDstandardfdOrder812(&gyz[index]); + PDstandard13gyz = PDstandardfdOrder813(&gyz[index]); + PDstandard23gyz = PDstandardfdOrder823(&gyz[index]); + PDstandard1gzz = PDstandardfdOrder81(&gzz[index]); + PDstandard2gzz = PDstandardfdOrder82(&gzz[index]); + PDstandard3gzz = PDstandardfdOrder83(&gzz[index]); + PDstandard11gzz = PDstandardfdOrder811(&gzz[index]); + PDstandard22gzz = PDstandardfdOrder822(&gzz[index]); + PDstandard12gzz = PDstandardfdOrder812(&gzz[index]); + PDstandard2kxx = PDstandardfdOrder82(&kxx[index]); + PDstandard3kxx = PDstandardfdOrder83(&kxx[index]); + PDstandard1kxy = PDstandardfdOrder81(&kxy[index]); + PDstandard2kxy = PDstandardfdOrder82(&kxy[index]); + PDstandard3kxy = PDstandardfdOrder83(&kxy[index]); + PDstandard1kxz = PDstandardfdOrder81(&kxz[index]); + PDstandard2kxz = PDstandardfdOrder82(&kxz[index]); + PDstandard3kxz = PDstandardfdOrder83(&kxz[index]); + PDstandard1kyy = PDstandardfdOrder81(&kyy[index]); + PDstandard3kyy = PDstandardfdOrder83(&kyy[index]); + PDstandard1kyz = PDstandardfdOrder81(&kyz[index]); + PDstandard2kyz = PDstandardfdOrder82(&kyz[index]); + PDstandard3kyz = PDstandardfdOrder83(&kyz[index]); + PDstandard1kzz = PDstandardfdOrder81(&kzz[index]); + PDstandard2kzz = PDstandardfdOrder82(&kzz[index]); + break; + } + + /* Calculate temporaries and grid functions */ + CCTK_REAL detg = 2*gxyL*gxzL*gyzL + gzzL*(gxxL*gyyL - SQR(gxyL)) - + gyyL*SQR(gxzL) - gxxL*SQR(gyzL); + + CCTK_REAL invdetg = INV(detg); + + CCTK_REAL gInv11 = invdetg*(gyyL*gzzL - SQR(gyzL)); + + CCTK_REAL gInv12 = (gxzL*gyzL - gxyL*gzzL)*invdetg; + + CCTK_REAL gInv13 = (-(gxzL*gyyL) + gxyL*gyzL)*invdetg; + + CCTK_REAL gInv21 = (gxzL*gyzL - gxyL*gzzL)*invdetg; + + CCTK_REAL gInv22 = invdetg*(gxxL*gzzL - SQR(gxzL)); + + CCTK_REAL gInv23 = (gxyL*gxzL - gxxL*gyzL)*invdetg; + + CCTK_REAL gInv31 = (-(gxzL*gyyL) + gxyL*gyzL)*invdetg; + + CCTK_REAL gInv32 = (gxyL*gxzL - gxxL*gyzL)*invdetg; + + CCTK_REAL gInv33 = invdetg*(gxxL*gyyL - SQR(gxyL)); + + CCTK_REAL gamma111 = 0.5*(gInv11*PDstandard1gxx + + 2*(gInv12*PDstandard1gxy + gInv13*PDstandard1gxz) - + gInv12*PDstandard2gxx - gInv13*PDstandard3gxx); + + CCTK_REAL gamma211 = 0.5*(gInv21*PDstandard1gxx + + 2*(gInv22*PDstandard1gxy + gInv23*PDstandard1gxz) - + gInv22*PDstandard2gxx - gInv23*PDstandard3gxx); + + CCTK_REAL gamma311 = 0.5*(gInv31*PDstandard1gxx + + 2*(gInv32*PDstandard1gxy + gInv33*PDstandard1gxz) - + gInv32*PDstandard2gxx - gInv33*PDstandard3gxx); + + CCTK_REAL gamma121 = 0.5*(gInv12*PDstandard1gyy + + gInv11*PDstandard2gxx + gInv13*(PDstandard1gyz + PDstandard2gxz - + PDstandard3gxy)); + + CCTK_REAL gamma221 = 0.5*(gInv22*PDstandard1gyy + + gInv21*PDstandard2gxx + gInv23*(PDstandard1gyz + PDstandard2gxz - + PDstandard3gxy)); + + CCTK_REAL gamma321 = 0.5*(gInv32*PDstandard1gyy + + gInv31*PDstandard2gxx + gInv33*(PDstandard1gyz + PDstandard2gxz - + PDstandard3gxy)); + + CCTK_REAL gamma131 = 0.5*(gInv13*PDstandard1gzz + + gInv11*PDstandard3gxx + gInv12*(PDstandard1gyz - PDstandard2gxz + + PDstandard3gxy)); + + CCTK_REAL gamma231 = 0.5*(gInv23*PDstandard1gzz + + gInv21*PDstandard3gxx + gInv22*(PDstandard1gyz - PDstandard2gxz + + PDstandard3gxy)); + + CCTK_REAL gamma331 = 0.5*(gInv33*PDstandard1gzz + + gInv31*PDstandard3gxx + gInv32*(PDstandard1gyz - PDstandard2gxz + + PDstandard3gxy)); + + CCTK_REAL gamma122 = 0.5*(gInv11*(-PDstandard1gyy + 2*PDstandard2gxy) + + gInv12*PDstandard2gyy + gInv13*(2*PDstandard2gyz - PDstandard3gyy)); + + CCTK_REAL gamma222 = 0.5*(gInv21*(-PDstandard1gyy + 2*PDstandard2gxy) + + gInv22*PDstandard2gyy + gInv23*(2*PDstandard2gyz - PDstandard3gyy)); + + CCTK_REAL gamma322 = 0.5*(gInv31*(-PDstandard1gyy + 2*PDstandard2gxy) + + gInv32*PDstandard2gyy + gInv33*(2*PDstandard2gyz - PDstandard3gyy)); + + CCTK_REAL gamma132 = 0.5*(gInv13*PDstandard2gzz + + gInv11*(-PDstandard1gyz + PDstandard2gxz + PDstandard3gxy) + + gInv12*PDstandard3gyy); + + CCTK_REAL gamma232 = 0.5*(gInv23*PDstandard2gzz + + gInv21*(-PDstandard1gyz + PDstandard2gxz + PDstandard3gxy) + + gInv22*PDstandard3gyy); + + CCTK_REAL gamma332 = 0.5*(gInv33*PDstandard2gzz + + gInv31*(-PDstandard1gyz + PDstandard2gxz + PDstandard3gxy) + + gInv32*PDstandard3gyy); + + CCTK_REAL gamma133 = 0.5*(gInv11*(-PDstandard1gzz + 2*PDstandard3gxz) + + gInv12*(-PDstandard2gzz + 2*PDstandard3gyz) + gInv13*PDstandard3gzz); + + CCTK_REAL gamma233 = 0.5*(gInv21*(-PDstandard1gzz + 2*PDstandard3gxz) + + gInv22*(-PDstandard2gzz + 2*PDstandard3gyz) + gInv23*PDstandard3gzz); + + CCTK_REAL gamma333 = 0.5*(gInv31*(-PDstandard1gzz + 2*PDstandard3gxz) + + gInv32*(-PDstandard2gzz + 2*PDstandard3gyz) + gInv33*PDstandard3gzz); + + CCTK_REAL xmoved = xL - ToReal(xorig); + + CCTK_REAL ymoved = yL - ToReal(yorig); + + CCTK_REAL zmoved = zL - ToReal(zorig); + + CCTK_REAL va1 = -ymoved; + + CCTK_REAL va2 = xmoved + ToReal(offset); + + CCTK_REAL va3 = 0; + + CCTK_REAL vb1 = xmoved + ToReal(offset); + + CCTK_REAL vb2 = ymoved; + + CCTK_REAL vb3 = zmoved; + + CCTK_REAL vc1 = ((-(gInv13*va2) + gInv12*va3)*vb1 + (gInv13*va1 - + gInv11*va3)*vb2 + (-(gInv12*va1) + gInv11*va2)*vb3)*sqrt(detg); + + CCTK_REAL vc2 = ((-(gInv23*va2) + gInv22*va3)*vb1 + (gInv23*va1 - + gInv21*va3)*vb2 + (-(gInv22*va1) + gInv21*va2)*vb3)*sqrt(detg); + + CCTK_REAL vc3 = ((-(gInv33*va2) + gInv32*va3)*vb1 + (gInv33*va1 - + gInv31*va3)*vb2 + (-(gInv32*va1) + gInv31*va2)*vb3)*sqrt(detg); + + CCTK_REAL wa1 = va1; + + CCTK_REAL wa2 = va2; + + CCTK_REAL wa3 = va3; + + CCTK_REAL omega11 = 2*(gyzL*wa2*wa3 + wa1*(gxyL*wa2 + gxzL*wa3)) + + gxxL*SQR(wa1) + gyyL*SQR(wa2) + gzzL*SQR(wa3); + + CCTK_REAL ea1 = wa1*INV(sqrt(omega11)); + + CCTK_REAL ea2 = wa2*INV(sqrt(omega11)); + + CCTK_REAL ea3 = wa3*INV(sqrt(omega11)); + + CCTK_REAL omega12 = ea1*(gxxL*vb1 + gxyL*vb2 + gxzL*vb3) + + ea2*(gxyL*vb1 + gyyL*vb2 + gyzL*vb3) + ea3*(gxzL*vb1 + gyzL*vb2 + + gzzL*vb3); + + CCTK_REAL wb1 = -(ea1*omega12) + vb1; + + CCTK_REAL wb2 = -(ea2*omega12) + vb2; + + CCTK_REAL wb3 = -(ea3*omega12) + vb3; + + CCTK_REAL omega22 = 2*(gyzL*wb2*wb3 + wb1*(gxyL*wb2 + gxzL*wb3)) + + gxxL*SQR(wb1) + gyyL*SQR(wb2) + gzzL*SQR(wb3); + + CCTK_REAL eb1 = wb1*INV(sqrt(omega22)); + + CCTK_REAL eb2 = wb2*INV(sqrt(omega22)); + + CCTK_REAL eb3 = wb3*INV(sqrt(omega22)); + + CCTK_REAL omega13 = ea1*(gxxL*vc1 + gxyL*vc2 + gxzL*vc3) + + ea2*(gxyL*vc1 + gyyL*vc2 + gyzL*vc3) + ea3*(gxzL*vc1 + gyzL*vc2 + + gzzL*vc3); + + CCTK_REAL omega23 = eb1*(gxxL*vc1 + gxyL*vc2 + gxzL*vc3) + + eb2*(gxyL*vc1 + gyyL*vc2 + gyzL*vc3) + eb3*(gxzL*vc1 + gyzL*vc2 + + gzzL*vc3); + + CCTK_REAL wc1 = -(ea1*omega13) - eb1*omega23 + vc1; + + CCTK_REAL wc2 = -(ea2*omega13) - eb2*omega23 + vc2; + + CCTK_REAL wc3 = -(ea3*omega13) - eb3*omega23 + vc3; + + CCTK_REAL omega33 = 2*(gyzL*wc2*wc3 + wc1*(gxyL*wc2 + gxzL*wc3)) + + gxxL*SQR(wc1) + gyyL*SQR(wc2) + gzzL*SQR(wc3); + + CCTK_REAL ec1 = wc1*INV(sqrt(omega33)); + + CCTK_REAL ec2 = wc2*INV(sqrt(omega33)); + + CCTK_REAL ec3 = wc3*INV(sqrt(omega33)); + + CCTK_REAL isqrt2 = 0.707106781186547524; + + CCTK_REAL n1 = -(eb1*isqrt2); + + CCTK_REAL n2 = -(eb2*isqrt2); + + CCTK_REAL n3 = -(eb3*isqrt2); + + CCTK_REAL rm1 = ec1*isqrt2; + + CCTK_REAL rm2 = ec2*isqrt2; + + CCTK_REAL rm3 = ec3*isqrt2; + + CCTK_REAL im1 = ea1*isqrt2; + + CCTK_REAL im2 = ea2*isqrt2; + + CCTK_REAL im3 = ea3*isqrt2; + + CCTK_REAL rmbar1 = ec1*isqrt2; + + CCTK_REAL rmbar2 = ec2*isqrt2; + + CCTK_REAL rmbar3 = ec3*isqrt2; + + CCTK_REAL imbar1 = -(ea1*isqrt2); + + CCTK_REAL imbar2 = -(ea2*isqrt2); + + CCTK_REAL imbar3 = -(ea3*isqrt2); + + CCTK_REAL nn = isqrt2; + + CCTK_REAL R1111 = 0; + + CCTK_REAL R1112 = 0; + + CCTK_REAL R1113 = 0; + + CCTK_REAL R1121 = 0; + + CCTK_REAL R1122 = 0; + + CCTK_REAL R1123 = 0; + + CCTK_REAL R1131 = 0; + + CCTK_REAL R1132 = 0; + + CCTK_REAL R1133 = 0; + + CCTK_REAL R1211 = 0; + + CCTK_REAL R1212 = 0.5*((4*gamma121*gamma221 - + 2*gamma111*gamma222)*gxyL + (4*gamma121*gamma321 - + 2*gamma111*gamma322)*gxzL + (4*gamma221*gamma321 - + 2*gamma211*gamma322)*gyzL - 2*(gamma111*gamma122*gxxL + + gamma122*gamma211*gxyL + gamma122*gamma311*gxzL + + gamma211*gamma222*gyyL + gamma222*gamma311*gyzL + + gamma311*gamma322*gzzL) - PDstandard11gyy + 2*PDstandard12gxy - + PDstandard22gxx + 2*gxxL*SQR(gamma121) + 2*gyyL*SQR(gamma221) + + 2*gzzL*SQR(gamma321)); + + CCTK_REAL R1213 = (gamma121*gamma131 - gamma111*gamma132)*gxxL + + (-(gamma132*gamma211) + gamma131*gamma221 + gamma121*gamma231 - + gamma111*gamma232)*gxyL + (-(gamma132*gamma311) + gamma131*gamma321 + + gamma121*gamma331 - gamma111*gamma332)*gxzL + (gamma221*gamma231 - + gamma211*gamma232)*gyyL + (-(gamma232*gamma311) + gamma231*gamma321 + + gamma221*gamma331 - gamma211*gamma332)*gyzL + (gamma321*gamma331 - + gamma311*gamma332)*gzzL + 0.5*(-PDstandard11gyz + PDstandard12gxz + + PDstandard13gxy - PDstandard23gxx); + + CCTK_REAL R1221 = (-2*gamma121*gamma221 + gamma111*gamma222)*gxyL + + (-2*gamma121*gamma321 + gamma111*gamma322)*gxzL + + gamma122*(gamma111*gxxL + gamma211*gxyL + gamma311*gxzL) + + (-2*gamma221*gamma321 + gamma211*gamma322)*gyzL + + gamma222*(gamma211*gyyL + gamma311*gyzL) - PDstandard12gxy + + 0.5*(PDstandard11gyy + PDstandard22gxx) - gxxL*SQR(gamma121) - + gyyL*SQR(gamma221) + gzzL*(gamma311*gamma322 - SQR(gamma321)); + + CCTK_REAL R1222 = 0; + + CCTK_REAL R1223 = (gamma122*gamma131 - gamma121*gamma132)*gxxL + + (-(gamma132*gamma221) + gamma131*gamma222 + gamma122*gamma231 - + gamma121*gamma232)*gxyL + (-(gamma132*gamma321) + gamma131*gamma322 + + gamma122*gamma331 - gamma121*gamma332)*gxzL + (gamma222*gamma231 - + gamma221*gamma232)*gyyL + (-(gamma232*gamma321) + gamma231*gamma322 + + gamma222*gamma331 - gamma221*gamma332)*gyzL + (gamma322*gamma331 - + gamma321*gamma332)*gzzL + 0.5*(-PDstandard12gyz + PDstandard13gyy + + PDstandard22gxz - PDstandard23gxy); + + CCTK_REAL R1231 = (-(gamma121*gamma131) + gamma111*gamma132)*gxxL + + (gamma132*gamma211 - gamma131*gamma221 - gamma121*gamma231 + + gamma111*gamma232)*gxyL + (gamma132*gamma311 - gamma131*gamma321 - + gamma121*gamma331 + gamma111*gamma332)*gxzL + (-(gamma221*gamma231) + + gamma211*gamma232)*gyyL + (gamma232*gamma311 - gamma231*gamma321 - + gamma221*gamma331 + gamma211*gamma332)*gyzL + (-(gamma321*gamma331) + + gamma311*gamma332)*gzzL + 0.5*(PDstandard11gyz - PDstandard12gxz - + PDstandard13gxy + PDstandard23gxx); + + CCTK_REAL R1232 = (-(gamma122*gamma131) + gamma121*gamma132)*gxxL + + (gamma132*gamma221 - gamma131*gamma222 - gamma122*gamma231 + + gamma121*gamma232)*gxyL + (gamma132*gamma321 - gamma131*gamma322 - + gamma122*gamma331 + gamma121*gamma332)*gxzL + (-(gamma222*gamma231) + + gamma221*gamma232)*gyyL + (gamma232*gamma321 - gamma231*gamma322 - + gamma222*gamma331 + gamma221*gamma332)*gyzL + (-(gamma322*gamma331) + + gamma321*gamma332)*gzzL + 0.5*(PDstandard12gyz - PDstandard13gyy - + PDstandard22gxz + PDstandard23gxy); + + CCTK_REAL R1233 = 0; + + CCTK_REAL R1311 = 0; + + CCTK_REAL R1312 = (gamma121*gamma131 - gamma111*gamma132)*gxxL + + (-(gamma132*gamma211) + gamma131*gamma221 + gamma121*gamma231 - + gamma111*gamma232)*gxyL + (-(gamma132*gamma311) + gamma131*gamma321 + + gamma121*gamma331 - gamma111*gamma332)*gxzL + (gamma221*gamma231 - + gamma211*gamma232)*gyyL + (-(gamma232*gamma311) + gamma231*gamma321 + + gamma221*gamma331 - gamma211*gamma332)*gyzL + (gamma321*gamma331 - + gamma311*gamma332)*gzzL + 0.5*(-PDstandard11gyz + PDstandard12gxz + + PDstandard13gxy - PDstandard23gxx); + + CCTK_REAL R1313 = 0.5*((4*gamma131*gamma231 - + 2*gamma111*gamma233)*gxyL + (4*gamma131*gamma331 - + 2*gamma111*gamma333)*gxzL + (4*gamma231*gamma331 - + 2*gamma211*gamma333)*gyzL - 2*(gamma111*gamma133*gxxL + + gamma133*gamma211*gxyL + gamma133*gamma311*gxzL + + gamma211*gamma233*gyyL + gamma233*gamma311*gyzL + + gamma311*gamma333*gzzL) - PDstandard11gzz + 2*PDstandard13gxz - + PDstandard33gxx + 2*gxxL*SQR(gamma131) + 2*gyyL*SQR(gamma231) + + 2*gzzL*SQR(gamma331)); + + CCTK_REAL R1321 = (-(gamma121*gamma131) + gamma111*gamma132)*gxxL + + (gamma132*gamma211 - gamma131*gamma221 - gamma121*gamma231 + + gamma111*gamma232)*gxyL + (gamma132*gamma311 - gamma131*gamma321 - + gamma121*gamma331 + gamma111*gamma332)*gxzL + (-(gamma221*gamma231) + + gamma211*gamma232)*gyyL + (gamma232*gamma311 - gamma231*gamma321 - + gamma221*gamma331 + gamma211*gamma332)*gyzL + (-(gamma321*gamma331) + + gamma311*gamma332)*gzzL + 0.5*(PDstandard11gyz - PDstandard12gxz - + PDstandard13gxy + PDstandard23gxx); + + CCTK_REAL R1322 = 0; + + CCTK_REAL R1323 = (gamma131*gamma132 - gamma121*gamma133)*gxxL + + (-(gamma133*gamma221) + gamma132*gamma231 + gamma131*gamma232 - + gamma121*gamma233)*gxyL + (-(gamma133*gamma321) + gamma132*gamma331 + + gamma131*gamma332 - gamma121*gamma333)*gxzL + (gamma231*gamma232 - + gamma221*gamma233)*gyyL + (-(gamma233*gamma321) + gamma232*gamma331 + + gamma231*gamma332 - gamma221*gamma333)*gyzL + (gamma331*gamma332 - + gamma321*gamma333)*gzzL + 0.5*(-PDstandard12gzz + PDstandard13gyz + + PDstandard23gxz - PDstandard33gxy); + + CCTK_REAL R1331 = (-2*gamma131*gamma231 + gamma111*gamma233)*gxyL + + (-2*gamma131*gamma331 + gamma111*gamma333)*gxzL + + gamma133*(gamma111*gxxL + gamma211*gxyL + gamma311*gxzL) + + (-2*gamma231*gamma331 + gamma211*gamma333)*gyzL + + gamma233*(gamma211*gyyL + gamma311*gyzL) - PDstandard13gxz + + 0.5*(PDstandard11gzz + PDstandard33gxx) - gxxL*SQR(gamma131) - + gyyL*SQR(gamma231) + gzzL*(gamma311*gamma333 - SQR(gamma331)); + + CCTK_REAL R1332 = (-(gamma131*gamma132) + gamma121*gamma133)*gxxL + + (gamma133*gamma221 - gamma132*gamma231 - gamma131*gamma232 + + gamma121*gamma233)*gxyL + (gamma133*gamma321 - gamma132*gamma331 - + gamma131*gamma332 + gamma121*gamma333)*gxzL + (-(gamma231*gamma232) + + gamma221*gamma233)*gyyL + (gamma233*gamma321 - gamma232*gamma331 - + gamma231*gamma332 + gamma221*gamma333)*gyzL + (-(gamma331*gamma332) + + gamma321*gamma333)*gzzL + 0.5*(PDstandard12gzz - PDstandard13gyz - + PDstandard23gxz + PDstandard33gxy); + + CCTK_REAL R1333 = 0; + + CCTK_REAL R2111 = 0; + + CCTK_REAL R2112 = (-2*gamma121*gamma221 + gamma111*gamma222)*gxyL + + (-2*gamma121*gamma321 + gamma111*gamma322)*gxzL + + gamma122*(gamma111*gxxL + gamma211*gxyL + gamma311*gxzL) + + (-2*gamma221*gamma321 + gamma211*gamma322)*gyzL + + gamma222*(gamma211*gyyL + gamma311*gyzL) - PDstandard12gxy + + 0.5*(PDstandard11gyy + PDstandard22gxx) - gxxL*SQR(gamma121) - + gyyL*SQR(gamma221) + gzzL*(gamma311*gamma322 - SQR(gamma321)); + + CCTK_REAL R2113 = (-(gamma121*gamma131) + gamma111*gamma132)*gxxL + + (gamma132*gamma211 - gamma131*gamma221 - gamma121*gamma231 + + gamma111*gamma232)*gxyL + (gamma132*gamma311 - gamma131*gamma321 - + gamma121*gamma331 + gamma111*gamma332)*gxzL + (-(gamma221*gamma231) + + gamma211*gamma232)*gyyL + (gamma232*gamma311 - gamma231*gamma321 - + gamma221*gamma331 + gamma211*gamma332)*gyzL + (-(gamma321*gamma331) + + gamma311*gamma332)*gzzL + 0.5*(PDstandard11gyz - PDstandard12gxz - + PDstandard13gxy + PDstandard23gxx); + + CCTK_REAL R2121 = 0.5*((4*gamma121*gamma221 - + 2*gamma111*gamma222)*gxyL + (4*gamma121*gamma321 - + 2*gamma111*gamma322)*gxzL + (4*gamma221*gamma321 - + 2*gamma211*gamma322)*gyzL - 2*(gamma111*gamma122*gxxL + + gamma122*gamma211*gxyL + gamma122*gamma311*gxzL + + gamma211*gamma222*gyyL + gamma222*gamma311*gyzL + + gamma311*gamma322*gzzL) - PDstandard11gyy + 2*PDstandard12gxy - + PDstandard22gxx + 2*gxxL*SQR(gamma121) + 2*gyyL*SQR(gamma221) + + 2*gzzL*SQR(gamma321)); + + CCTK_REAL R2122 = 0; + + CCTK_REAL R2123 = (-(gamma122*gamma131) + gamma121*gamma132)*gxxL + + (gamma132*gamma221 - gamma131*gamma222 - gamma122*gamma231 + + gamma121*gamma232)*gxyL + (gamma132*gamma321 - gamma131*gamma322 - + gamma122*gamma331 + gamma121*gamma332)*gxzL + (-(gamma222*gamma231) + + gamma221*gamma232)*gyyL + (gamma232*gamma321 - gamma231*gamma322 - + gamma222*gamma331 + gamma221*gamma332)*gyzL + (-(gamma322*gamma331) + + gamma321*gamma332)*gzzL + 0.5*(PDstandard12gyz - PDstandard13gyy - + PDstandard22gxz + PDstandard23gxy); + + CCTK_REAL R2131 = (gamma121*gamma131 - gamma111*gamma132)*gxxL + + (-(gamma132*gamma211) + gamma131*gamma221 + gamma121*gamma231 - + gamma111*gamma232)*gxyL + (-(gamma132*gamma311) + gamma131*gamma321 + + gamma121*gamma331 - gamma111*gamma332)*gxzL + (gamma221*gamma231 - + gamma211*gamma232)*gyyL + (-(gamma232*gamma311) + gamma231*gamma321 + + gamma221*gamma331 - gamma211*gamma332)*gyzL + (gamma321*gamma331 - + gamma311*gamma332)*gzzL + 0.5*(-PDstandard11gyz + PDstandard12gxz + + PDstandard13gxy - PDstandard23gxx); + + CCTK_REAL R2132 = (gamma122*gamma131 - gamma121*gamma132)*gxxL + + (-(gamma132*gamma221) + gamma131*gamma222 + gamma122*gamma231 - + gamma121*gamma232)*gxyL + (-(gamma132*gamma321) + gamma131*gamma322 + + gamma122*gamma331 - gamma121*gamma332)*gxzL + (gamma222*gamma231 - + gamma221*gamma232)*gyyL + (-(gamma232*gamma321) + gamma231*gamma322 + + gamma222*gamma331 - gamma221*gamma332)*gyzL + (gamma322*gamma331 - + gamma321*gamma332)*gzzL + 0.5*(-PDstandard12gyz + PDstandard13gyy + + PDstandard22gxz - PDstandard23gxy); + + CCTK_REAL R2133 = 0; + + CCTK_REAL R2211 = 0; + + CCTK_REAL R2212 = 0; + + CCTK_REAL R2213 = 0; + + CCTK_REAL R2221 = 0; + + CCTK_REAL R2222 = 0; + + CCTK_REAL R2223 = 0; + + CCTK_REAL R2231 = 0; + + CCTK_REAL R2232 = 0; + + CCTK_REAL R2233 = 0; + + CCTK_REAL R2311 = 0; + + CCTK_REAL R2312 = (gamma122*gamma131 - gamma121*gamma132)*gxxL + + (-(gamma132*gamma221) + gamma131*gamma222 + gamma122*gamma231 - + gamma121*gamma232)*gxyL + (-(gamma132*gamma321) + gamma131*gamma322 + + gamma122*gamma331 - gamma121*gamma332)*gxzL + (gamma222*gamma231 - + gamma221*gamma232)*gyyL + (-(gamma232*gamma321) + gamma231*gamma322 + + gamma222*gamma331 - gamma221*gamma332)*gyzL + (gamma322*gamma331 - + gamma321*gamma332)*gzzL + 0.5*(-PDstandard12gyz + PDstandard13gyy + + PDstandard22gxz - PDstandard23gxy); + + CCTK_REAL R2313 = (gamma131*gamma132 - gamma121*gamma133)*gxxL + + (-(gamma133*gamma221) + gamma132*gamma231 + gamma131*gamma232 - + gamma121*gamma233)*gxyL + (-(gamma133*gamma321) + gamma132*gamma331 + + gamma131*gamma332 - gamma121*gamma333)*gxzL + (gamma231*gamma232 - + gamma221*gamma233)*gyyL + (-(gamma233*gamma321) + gamma232*gamma331 + + gamma231*gamma332 - gamma221*gamma333)*gyzL + (gamma331*gamma332 - + gamma321*gamma333)*gzzL + 0.5*(-PDstandard12gzz + PDstandard13gyz + + PDstandard23gxz - PDstandard33gxy); + + CCTK_REAL R2321 = (-(gamma122*gamma131) + gamma121*gamma132)*gxxL + + (gamma132*gamma221 - gamma131*gamma222 - gamma122*gamma231 + + gamma121*gamma232)*gxyL + (gamma132*gamma321 - gamma131*gamma322 - + gamma122*gamma331 + gamma121*gamma332)*gxzL + (-(gamma222*gamma231) + + gamma221*gamma232)*gyyL + (gamma232*gamma321 - gamma231*gamma322 - + gamma222*gamma331 + gamma221*gamma332)*gyzL + (-(gamma322*gamma331) + + gamma321*gamma332)*gzzL + 0.5*(PDstandard12gyz - PDstandard13gyy - + PDstandard22gxz + PDstandard23gxy); + + CCTK_REAL R2322 = 0; + + CCTK_REAL R2323 = 0.5*((4*gamma132*gamma232 - + 2*gamma122*gamma233)*gxyL + (4*gamma132*gamma332 - + 2*gamma122*gamma333)*gxzL + (4*gamma232*gamma332 - + 2*gamma222*gamma333)*gyzL - 2*(gamma122*gamma133*gxxL + + gamma133*gamma222*gxyL + gamma133*gamma322*gxzL + + gamma222*gamma233*gyyL + gamma233*gamma322*gyzL + + gamma322*gamma333*gzzL) - PDstandard22gzz + 2*PDstandard23gyz - + PDstandard33gyy + 2*gxxL*SQR(gamma132) + 2*gyyL*SQR(gamma232) + + 2*gzzL*SQR(gamma332)); + + CCTK_REAL R2331 = (-(gamma131*gamma132) + gamma121*gamma133)*gxxL + + (gamma133*gamma221 - gamma132*gamma231 - gamma131*gamma232 + + gamma121*gamma233)*gxyL + (gamma133*gamma321 - gamma132*gamma331 - + gamma131*gamma332 + gamma121*gamma333)*gxzL + (-(gamma231*gamma232) + + gamma221*gamma233)*gyyL + (gamma233*gamma321 - gamma232*gamma331 - + gamma231*gamma332 + gamma221*gamma333)*gyzL + (-(gamma331*gamma332) + + gamma321*gamma333)*gzzL + 0.5*(PDstandard12gzz - PDstandard13gyz - + PDstandard23gxz + PDstandard33gxy); + + CCTK_REAL R2332 = (-2*gamma132*gamma232 + gamma122*gamma233)*gxyL + + (-2*gamma132*gamma332 + gamma122*gamma333)*gxzL + + gamma133*(gamma122*gxxL + gamma222*gxyL + gamma322*gxzL) + + (-2*gamma232*gamma332 + gamma222*gamma333)*gyzL + + gamma233*(gamma222*gyyL + gamma322*gyzL) - PDstandard23gyz + + 0.5*(PDstandard22gzz + PDstandard33gyy) - gxxL*SQR(gamma132) - + gyyL*SQR(gamma232) + gzzL*(gamma322*gamma333 - SQR(gamma332)); + + CCTK_REAL R2333 = 0; + + CCTK_REAL R3111 = 0; + + CCTK_REAL R3112 = (-(gamma121*gamma131) + gamma111*gamma132)*gxxL + + (gamma132*gamma211 - gamma131*gamma221 - gamma121*gamma231 + + gamma111*gamma232)*gxyL + (gamma132*gamma311 - gamma131*gamma321 - + gamma121*gamma331 + gamma111*gamma332)*gxzL + (-(gamma221*gamma231) + + gamma211*gamma232)*gyyL + (gamma232*gamma311 - gamma231*gamma321 - + gamma221*gamma331 + gamma211*gamma332)*gyzL + (-(gamma321*gamma331) + + gamma311*gamma332)*gzzL + 0.5*(PDstandard11gyz - PDstandard12gxz - + PDstandard13gxy + PDstandard23gxx); + + CCTK_REAL R3113 = (-2*gamma131*gamma231 + gamma111*gamma233)*gxyL + + (-2*gamma131*gamma331 + gamma111*gamma333)*gxzL + + gamma133*(gamma111*gxxL + gamma211*gxyL + gamma311*gxzL) + + (-2*gamma231*gamma331 + gamma211*gamma333)*gyzL + + gamma233*(gamma211*gyyL + gamma311*gyzL) - PDstandard13gxz + + 0.5*(PDstandard11gzz + PDstandard33gxx) - gxxL*SQR(gamma131) - + gyyL*SQR(gamma231) + gzzL*(gamma311*gamma333 - SQR(gamma331)); + + CCTK_REAL R3121 = (gamma121*gamma131 - gamma111*gamma132)*gxxL + + (-(gamma132*gamma211) + gamma131*gamma221 + gamma121*gamma231 - + gamma111*gamma232)*gxyL + (-(gamma132*gamma311) + gamma131*gamma321 + + gamma121*gamma331 - gamma111*gamma332)*gxzL + (gamma221*gamma231 - + gamma211*gamma232)*gyyL + (-(gamma232*gamma311) + gamma231*gamma321 + + gamma221*gamma331 - gamma211*gamma332)*gyzL + (gamma321*gamma331 - + gamma311*gamma332)*gzzL + 0.5*(-PDstandard11gyz + PDstandard12gxz + + PDstandard13gxy - PDstandard23gxx); + + CCTK_REAL R3122 = 0; + + CCTK_REAL R3123 = (-(gamma131*gamma132) + gamma121*gamma133)*gxxL + + (gamma133*gamma221 - gamma132*gamma231 - gamma131*gamma232 + + gamma121*gamma233)*gxyL + (gamma133*gamma321 - gamma132*gamma331 - + gamma131*gamma332 + gamma121*gamma333)*gxzL + (-(gamma231*gamma232) + + gamma221*gamma233)*gyyL + (gamma233*gamma321 - gamma232*gamma331 - + gamma231*gamma332 + gamma221*gamma333)*gyzL + (-(gamma331*gamma332) + + gamma321*gamma333)*gzzL + 0.5*(PDstandard12gzz - PDstandard13gyz - + PDstandard23gxz + PDstandard33gxy); + + CCTK_REAL R3131 = 0.5*((4*gamma131*gamma231 - + 2*gamma111*gamma233)*gxyL + (4*gamma131*gamma331 - + 2*gamma111*gamma333)*gxzL + (4*gamma231*gamma331 - + 2*gamma211*gamma333)*gyzL - 2*(gamma111*gamma133*gxxL + + gamma133*gamma211*gxyL + gamma133*gamma311*gxzL + + gamma211*gamma233*gyyL + gamma233*gamma311*gyzL + + gamma311*gamma333*gzzL) - PDstandard11gzz + 2*PDstandard13gxz - + PDstandard33gxx + 2*gxxL*SQR(gamma131) + 2*gyyL*SQR(gamma231) + + 2*gzzL*SQR(gamma331)); + + CCTK_REAL R3132 = (gamma131*gamma132 - gamma121*gamma133)*gxxL + + (-(gamma133*gamma221) + gamma132*gamma231 + gamma131*gamma232 - + gamma121*gamma233)*gxyL + (-(gamma133*gamma321) + gamma132*gamma331 + + gamma131*gamma332 - gamma121*gamma333)*gxzL + (gamma231*gamma232 - + gamma221*gamma233)*gyyL + (-(gamma233*gamma321) + gamma232*gamma331 + + gamma231*gamma332 - gamma221*gamma333)*gyzL + (gamma331*gamma332 - + gamma321*gamma333)*gzzL + 0.5*(-PDstandard12gzz + PDstandard13gyz + + PDstandard23gxz - PDstandard33gxy); + + CCTK_REAL R3133 = 0; + + CCTK_REAL R3211 = 0; + + CCTK_REAL R3212 = (-(gamma122*gamma131) + gamma121*gamma132)*gxxL + + (gamma132*gamma221 - gamma131*gamma222 - gamma122*gamma231 + + gamma121*gamma232)*gxyL + (gamma132*gamma321 - gamma131*gamma322 - + gamma122*gamma331 + gamma121*gamma332)*gxzL + (-(gamma222*gamma231) + + gamma221*gamma232)*gyyL + (gamma232*gamma321 - gamma231*gamma322 - + gamma222*gamma331 + gamma221*gamma332)*gyzL + (-(gamma322*gamma331) + + gamma321*gamma332)*gzzL + 0.5*(PDstandard12gyz - PDstandard13gyy - + PDstandard22gxz + PDstandard23gxy); + + CCTK_REAL R3213 = (-(gamma131*gamma132) + gamma121*gamma133)*gxxL + + (gamma133*gamma221 - gamma132*gamma231 - gamma131*gamma232 + + gamma121*gamma233)*gxyL + (gamma133*gamma321 - gamma132*gamma331 - + gamma131*gamma332 + gamma121*gamma333)*gxzL + (-(gamma231*gamma232) + + gamma221*gamma233)*gyyL + (gamma233*gamma321 - gamma232*gamma331 - + gamma231*gamma332 + gamma221*gamma333)*gyzL + (-(gamma331*gamma332) + + gamma321*gamma333)*gzzL + 0.5*(PDstandard12gzz - PDstandard13gyz - + PDstandard23gxz + PDstandard33gxy); + + CCTK_REAL R3221 = (gamma122*gamma131 - gamma121*gamma132)*gxxL + + (-(gamma132*gamma221) + gamma131*gamma222 + gamma122*gamma231 - + gamma121*gamma232)*gxyL + (-(gamma132*gamma321) + gamma131*gamma322 + + gamma122*gamma331 - gamma121*gamma332)*gxzL + (gamma222*gamma231 - + gamma221*gamma232)*gyyL + (-(gamma232*gamma321) + gamma231*gamma322 + + gamma222*gamma331 - gamma221*gamma332)*gyzL + (gamma322*gamma331 - + gamma321*gamma332)*gzzL + 0.5*(-PDstandard12gyz + PDstandard13gyy + + PDstandard22gxz - PDstandard23gxy); + + CCTK_REAL R3222 = 0; + + CCTK_REAL R3223 = (-2*gamma132*gamma232 + gamma122*gamma233)*gxyL + + (-2*gamma132*gamma332 + gamma122*gamma333)*gxzL + + gamma133*(gamma122*gxxL + gamma222*gxyL + gamma322*gxzL) + + (-2*gamma232*gamma332 + gamma222*gamma333)*gyzL + + gamma233*(gamma222*gyyL + gamma322*gyzL) - PDstandard23gyz + + 0.5*(PDstandard22gzz + PDstandard33gyy) - gxxL*SQR(gamma132) - + gyyL*SQR(gamma232) + gzzL*(gamma322*gamma333 - SQR(gamma332)); + + CCTK_REAL R3231 = (gamma131*gamma132 - gamma121*gamma133)*gxxL + + (-(gamma133*gamma221) + gamma132*gamma231 + gamma131*gamma232 - + gamma121*gamma233)*gxyL + (-(gamma133*gamma321) + gamma132*gamma331 + + gamma131*gamma332 - gamma121*gamma333)*gxzL + (gamma231*gamma232 - + gamma221*gamma233)*gyyL + (-(gamma233*gamma321) + gamma232*gamma331 + + gamma231*gamma332 - gamma221*gamma333)*gyzL + (gamma331*gamma332 - + gamma321*gamma333)*gzzL + 0.5*(-PDstandard12gzz + PDstandard13gyz + + PDstandard23gxz - PDstandard33gxy); + + CCTK_REAL R3232 = 0.5*((4*gamma132*gamma232 - + 2*gamma122*gamma233)*gxyL + (4*gamma132*gamma332 - + 2*gamma122*gamma333)*gxzL + (4*gamma232*gamma332 - + 2*gamma222*gamma333)*gyzL - 2*(gamma122*gamma133*gxxL + + gamma133*gamma222*gxyL + gamma133*gamma322*gxzL + + gamma222*gamma233*gyyL + gamma233*gamma322*gyzL + + gamma322*gamma333*gzzL) - PDstandard22gzz + 2*PDstandard23gyz - + PDstandard33gyy + 2*gxxL*SQR(gamma132) + 2*gyyL*SQR(gamma232) + + 2*gzzL*SQR(gamma332)); + + CCTK_REAL R3233 = 0; + + CCTK_REAL R3311 = 0; + + CCTK_REAL R3312 = 0; + + CCTK_REAL R3313 = 0; + + CCTK_REAL R3321 = 0; + + CCTK_REAL R3322 = 0; + + CCTK_REAL R3323 = 0; + + CCTK_REAL R3331 = 0; + + CCTK_REAL R3332 = 0; + + CCTK_REAL R3333 = 0; + + CCTK_REAL R4p1111 = R1111; + + CCTK_REAL R4p1112 = R1112; + + CCTK_REAL R4p1113 = R1113; + + CCTK_REAL R4p1121 = R1121; + + CCTK_REAL R4p1122 = R1122; + + CCTK_REAL R4p1123 = R1123; + + CCTK_REAL R4p1131 = R1131; + + CCTK_REAL R4p1132 = R1132; + + CCTK_REAL R4p1133 = R1133; + + CCTK_REAL R4p1211 = R1211; + + CCTK_REAL R4p1212 = kxxL*kyyL + R1212 - SQR(kxyL); + + CCTK_REAL R4p1213 = -(kxyL*kxzL) + kxxL*kyzL + R1213; + + CCTK_REAL R4p1221 = -(kxxL*kyyL) + R1221 + SQR(kxyL); + + CCTK_REAL R4p1222 = R1222; + + CCTK_REAL R4p1223 = -(kxzL*kyyL) + kxyL*kyzL + R1223; + + CCTK_REAL R4p1231 = kxyL*kxzL - kxxL*kyzL + R1231; + + CCTK_REAL R4p1232 = kxzL*kyyL - kxyL*kyzL + R1232; + + CCTK_REAL R4p1233 = R1233; + + CCTK_REAL R4p1311 = R1311; + + CCTK_REAL R4p1312 = -(kxyL*kxzL) + kxxL*kyzL + R1312; + + CCTK_REAL R4p1313 = kxxL*kzzL + R1313 - SQR(kxzL); + + CCTK_REAL R4p1321 = kxyL*kxzL - kxxL*kyzL + R1321; + + CCTK_REAL R4p1322 = R1322; + + CCTK_REAL R4p1323 = -(kxzL*kyzL) + kxyL*kzzL + R1323; + + CCTK_REAL R4p1331 = -(kxxL*kzzL) + R1331 + SQR(kxzL); + + CCTK_REAL R4p1332 = kxzL*kyzL - kxyL*kzzL + R1332; + + CCTK_REAL R4p1333 = R1333; + + CCTK_REAL R4p2111 = R2111; + + CCTK_REAL R4p2112 = -(kxxL*kyyL) + R2112 + SQR(kxyL); + + CCTK_REAL R4p2113 = kxyL*kxzL - kxxL*kyzL + R2113; + + CCTK_REAL R4p2121 = kxxL*kyyL + R2121 - SQR(kxyL); + + CCTK_REAL R4p2122 = R2122; + + CCTK_REAL R4p2123 = kxzL*kyyL - kxyL*kyzL + R2123; + + CCTK_REAL R4p2131 = -(kxyL*kxzL) + kxxL*kyzL + R2131; + + CCTK_REAL R4p2132 = -(kxzL*kyyL) + kxyL*kyzL + R2132; + + CCTK_REAL R4p2133 = R2133; + + CCTK_REAL R4p2211 = R2211; + + CCTK_REAL R4p2212 = R2212; + + CCTK_REAL R4p2213 = R2213; + + CCTK_REAL R4p2221 = R2221; + + CCTK_REAL R4p2222 = R2222; + + CCTK_REAL R4p2223 = R2223; + + CCTK_REAL R4p2231 = R2231; + + CCTK_REAL R4p2232 = R2232; + + CCTK_REAL R4p2233 = R2233; + + CCTK_REAL R4p2311 = R2311; + + CCTK_REAL R4p2312 = -(kxzL*kyyL) + kxyL*kyzL + R2312; + + CCTK_REAL R4p2313 = -(kxzL*kyzL) + kxyL*kzzL + R2313; + + CCTK_REAL R4p2321 = kxzL*kyyL - kxyL*kyzL + R2321; + + CCTK_REAL R4p2322 = R2322; + + CCTK_REAL R4p2323 = kyyL*kzzL + R2323 - SQR(kyzL); + + CCTK_REAL R4p2331 = kxzL*kyzL - kxyL*kzzL + R2331; + + CCTK_REAL R4p2332 = -(kyyL*kzzL) + R2332 + SQR(kyzL); + + CCTK_REAL R4p2333 = R2333; + + CCTK_REAL R4p3111 = R3111; + + CCTK_REAL R4p3112 = kxyL*kxzL - kxxL*kyzL + R3112; + + CCTK_REAL R4p3113 = -(kxxL*kzzL) + R3113 + SQR(kxzL); + + CCTK_REAL R4p3121 = -(kxyL*kxzL) + kxxL*kyzL + R3121; + + CCTK_REAL R4p3122 = R3122; + + CCTK_REAL R4p3123 = kxzL*kyzL - kxyL*kzzL + R3123; + + CCTK_REAL R4p3131 = kxxL*kzzL + R3131 - SQR(kxzL); + + CCTK_REAL R4p3132 = -(kxzL*kyzL) + kxyL*kzzL + R3132; + + CCTK_REAL R4p3133 = R3133; + + CCTK_REAL R4p3211 = R3211; + + CCTK_REAL R4p3212 = kxzL*kyyL - kxyL*kyzL + R3212; + + CCTK_REAL R4p3213 = kxzL*kyzL - kxyL*kzzL + R3213; + + CCTK_REAL R4p3221 = -(kxzL*kyyL) + kxyL*kyzL + R3221; + + CCTK_REAL R4p3222 = R3222; + + CCTK_REAL R4p3223 = -(kyyL*kzzL) + R3223 + SQR(kyzL); + + CCTK_REAL R4p3231 = -(kxzL*kyzL) + kxyL*kzzL + R3231; + + CCTK_REAL R4p3232 = kyyL*kzzL + R3232 - SQR(kyzL); + + CCTK_REAL R4p3233 = R3233; + + CCTK_REAL R4p3311 = R3311; + + CCTK_REAL R4p3312 = R3312; + + CCTK_REAL R4p3313 = R3313; + + CCTK_REAL R4p3321 = R3321; + + CCTK_REAL R4p3322 = R3322; + + CCTK_REAL R4p3323 = R3323; + + CCTK_REAL R4p3331 = R3331; + + CCTK_REAL R4p3332 = R3332; + + CCTK_REAL R4p3333 = R3333; + + CCTK_REAL Ro111 = 0; + + CCTK_REAL Ro112 = gamma121*kxxL + (-gamma111 + gamma221)*kxyL + + gamma321*kxzL - gamma211*kyyL - gamma311*kyzL + PDstandard1kxy - + PDstandard2kxx; + + CCTK_REAL Ro113 = gamma131*kxxL + gamma231*kxyL + (-gamma111 + + gamma331)*kxzL - gamma211*kyzL - gamma311*kzzL + PDstandard1kxz - + PDstandard3kxx; + + CCTK_REAL Ro121 = -(gamma121*kxxL) + (gamma111 - gamma221)*kxyL - + gamma321*kxzL + gamma211*kyyL + gamma311*kyzL - PDstandard1kxy + + PDstandard2kxx; + + CCTK_REAL Ro122 = 0; + + CCTK_REAL Ro123 = gamma131*kxyL - gamma121*kxzL + gamma231*kyyL + + (-gamma221 + gamma331)*kyzL - gamma321*kzzL + PDstandard2kxz - + PDstandard3kxy; + + CCTK_REAL Ro131 = -(gamma131*kxxL) - gamma231*kxyL + (gamma111 - + gamma331)*kxzL + gamma211*kyzL + gamma311*kzzL - PDstandard1kxz + + PDstandard3kxx; + + CCTK_REAL Ro132 = -(gamma131*kxyL) + gamma121*kxzL - gamma231*kyyL + + (gamma221 - gamma331)*kyzL + gamma321*kzzL - PDstandard2kxz + + PDstandard3kxy; + + CCTK_REAL Ro133 = 0; + + CCTK_REAL Ro211 = 0; + + CCTK_REAL Ro212 = gamma122*kxxL + (-gamma121 + gamma222)*kxyL + + gamma322*kxzL - gamma221*kyyL - gamma321*kyzL + PDstandard1kyy - + PDstandard2kxy; + + CCTK_REAL Ro213 = gamma132*kxxL + gamma232*kxyL + (-gamma121 + + gamma332)*kxzL - gamma221*kyzL - gamma321*kzzL + PDstandard1kyz - + PDstandard3kxy; + + CCTK_REAL Ro221 = -(gamma122*kxxL) + (gamma121 - gamma222)*kxyL - + gamma322*kxzL + gamma221*kyyL + gamma321*kyzL - PDstandard1kyy + + PDstandard2kxy; + + CCTK_REAL Ro222 = 0; + + CCTK_REAL Ro223 = gamma132*kxyL - gamma122*kxzL + gamma232*kyyL + + (-gamma222 + gamma332)*kyzL - gamma322*kzzL + PDstandard2kyz - + PDstandard3kyy; + + CCTK_REAL Ro231 = -(gamma132*kxxL) - gamma232*kxyL + (gamma121 - + gamma332)*kxzL + gamma221*kyzL + gamma321*kzzL - PDstandard1kyz + + PDstandard3kxy; + + CCTK_REAL Ro232 = -(gamma132*kxyL) + gamma122*kxzL - gamma232*kyyL + + (gamma222 - gamma332)*kyzL + gamma322*kzzL - PDstandard2kyz + + PDstandard3kyy; + + CCTK_REAL Ro233 = 0; + + CCTK_REAL Ro311 = 0; + + CCTK_REAL Ro312 = gamma132*kxxL + (-gamma131 + gamma232)*kxyL + + gamma332*kxzL - gamma231*kyyL - gamma331*kyzL + PDstandard1kyz - + PDstandard2kxz; + + CCTK_REAL Ro313 = gamma133*kxxL + gamma233*kxyL + (-gamma131 + + gamma333)*kxzL - gamma231*kyzL - gamma331*kzzL + PDstandard1kzz - + PDstandard3kxz; + + CCTK_REAL Ro321 = -(gamma132*kxxL) + (gamma131 - gamma232)*kxyL - + gamma332*kxzL + gamma231*kyyL + gamma331*kyzL - PDstandard1kyz + + PDstandard2kxz; + + CCTK_REAL Ro322 = 0; + + CCTK_REAL Ro323 = gamma133*kxyL - gamma132*kxzL + gamma233*kyyL + + (-gamma232 + gamma333)*kyzL - gamma332*kzzL + PDstandard2kzz - + PDstandard3kyz; + + CCTK_REAL Ro331 = -(gamma133*kxxL) - gamma233*kxyL + (gamma131 - + gamma333)*kxzL + gamma231*kyzL + gamma331*kzzL - PDstandard1kzz + + PDstandard3kxz; + + CCTK_REAL Ro332 = -(gamma133*kxyL) + gamma132*kxzL - gamma233*kyyL + + (gamma232 - gamma333)*kyzL + gamma332*kzzL - PDstandard2kzz + + PDstandard3kyz; + + CCTK_REAL Ro333 = 0; + + CCTK_REAL Rojo11 = gInv11*R1111 + gInv12*R1112 + gInv13*R1113 + + gInv21*R1211 + gInv23*(-(kxyL*kxzL) + kxxL*kyzL + R1213) + gInv31*R1311 + + gInv32*(-(kxyL*kxzL) + kxxL*kyzL + R1312) + gInv22*(kxxL*kyyL + R1212 + - SQR(kxyL)) + gInv33*(kxxL*kzzL + R1313 - SQR(kxzL)); + + CCTK_REAL Rojo12 = gInv11*R1121 + gInv13*(kxyL*kxzL - kxxL*kyzL + + R1123) + gInv21*R1221 + gInv22*R1222 + gInv23*R1223 + gInv31*R1321 + + gInv32*(-(kxzL*kyyL) + kxyL*kyzL + R1322) + gInv33*(-(kxzL*kyzL) + + kxyL*kzzL + R1323) + gInv12*(-(kxxL*kyyL) + R1122 + SQR(kxyL)); + + CCTK_REAL Rojo13 = gInv11*R1131 + gInv12*(kxyL*kxzL - kxxL*kyzL + + R1132) + gInv21*R1231 + gInv22*(kxzL*kyyL - kxyL*kyzL + R1232) + + gInv23*(kxzL*kyzL - kxyL*kzzL + R1233) + gInv31*R1331 + gInv32*R1332 + + gInv33*R1333 + gInv13*(-(kxxL*kzzL) + R1133 + SQR(kxzL)); + + CCTK_REAL Rojo21 = gInv11*R2111 + gInv12*R2112 + gInv13*R2113 + + gInv22*R2212 + gInv23*(-(kxzL*kyyL) + kxyL*kyzL + R2213) + + gInv31*(kxyL*kxzL - kxxL*kyzL + R2311) + gInv32*R2312 + + gInv33*(-(kxzL*kyzL) + kxyL*kzzL + R2313) + gInv21*(-(kxxL*kyyL) + + R2211 + SQR(kxyL)); + + CCTK_REAL Rojo22 = gInv12*R2122 + gInv13*(kxzL*kyyL - kxyL*kyzL + + R2123) + gInv21*R2221 + gInv22*R2222 + gInv23*R2223 + gInv31*(kxzL*kyyL + - kxyL*kyzL + R2321) + gInv32*R2322 + gInv11*(kxxL*kyyL + R2121 - + SQR(kxyL)) + gInv33*(kyyL*kzzL + R2323 - SQR(kyzL)); + + CCTK_REAL Rojo23 = gInv11*(-(kxyL*kxzL) + kxxL*kyzL + R2131) + + gInv12*R2132 + gInv13*(kxzL*kyzL - kxyL*kzzL + R2133) + + gInv21*(-(kxzL*kyyL) + kxyL*kyzL + R2231) + gInv22*R2232 + gInv31*R2331 + + gInv32*R2332 + gInv33*R2333 + gInv23*(-(kyyL*kzzL) + R2233 + + SQR(kyzL)); + + CCTK_REAL Rojo31 = gInv11*R3111 + gInv12*R3112 + gInv13*R3113 + + gInv21*(kxyL*kxzL - kxxL*kyzL + R3211) + gInv22*(kxzL*kyyL - kxyL*kyzL + + R3212) + gInv23*R3213 + gInv32*(kxzL*kyzL - kxyL*kzzL + R3312) + + gInv33*R3313 + gInv31*(-(kxxL*kzzL) + R3311 + SQR(kxzL)); + + CCTK_REAL Rojo32 = gInv11*(-(kxyL*kxzL) + kxxL*kyzL + R3121) + + gInv12*(-(kxzL*kyyL) + kxyL*kyzL + R3122) + gInv13*R3123 + gInv21*R3221 + + gInv22*R3222 + gInv23*R3223 + gInv31*(kxzL*kyzL - kxyL*kzzL + R3321) + + gInv33*R3323 + gInv32*(-(kyyL*kzzL) + R3322 + SQR(kyzL)); + + CCTK_REAL Rojo33 = gInv12*(-(kxzL*kyzL) + kxyL*kzzL + R3132) + + gInv13*R3133 + gInv21*(-(kxzL*kyzL) + kxyL*kzzL + R3231) + gInv23*R3233 + + gInv31*R3331 + gInv32*R3332 + gInv33*R3333 + gInv11*(kxxL*kzzL + + R3131 - SQR(kxzL)) + gInv22*(kyyL*kzzL + R3232 - SQR(kyzL)); + + CCTK_REAL Psi4rL = n3*(-(n2*R4p2333) - n1*R4p3313)*SQR(imbar3) + + n1*(n3*R4p1132*rmbar1*rmbar2 + n2*R4p1221*rmbar1*rmbar2 + + n3*R4p1231*rmbar1*rmbar2 + n2*R4p1123*rmbar1*rmbar3 + + n3*R4p1331*rmbar1*rmbar3 + n2*R4p2113*rmbar1*rmbar3 + + n3*R4p1233*rmbar2*rmbar3 + n2*R4p1322*rmbar2*rmbar3 + + n3*R4p1332*rmbar2*rmbar3 + n2*R4p2213*rmbar2*rmbar3 + + 2*nn*rmbar1*rmbar2*Ro112 + 2*nn*rmbar1*rmbar3*Ro113 + + 2*nn*rmbar1*rmbar2*Ro211 + 2*nn*rmbar2*rmbar3*Ro213 + + 2*nn*rmbar1*rmbar3*Ro311 + 2*nn*rmbar2*rmbar3*Ro312 + + n2*(R4p1122*rmbar1*rmbar2 - R4p1323*SQR(imbar3))) + + n3*(n2*R4p3122*rmbar1*rmbar2 + n1*R4p3211*rmbar1*rmbar2 + + n2*R4p3221*rmbar1*rmbar2 + n1*R4p1133*rmbar1*rmbar3 + + n2*R4p2331*rmbar1*rmbar3 + n1*R4p3113*rmbar1*rmbar3 + + n2*R4p3123*rmbar1*rmbar3 + n1*R4p3311*rmbar1*rmbar3 + + n2*R4p2332*rmbar2*rmbar3 + n1*R4p3213*rmbar2*rmbar3 + + n2*R4p3223*rmbar2*rmbar3 + n1*R4p3312*rmbar2*rmbar3 + + n2*R4p3322*rmbar2*rmbar3 + 2*nn*rmbar1*rmbar2*Ro132 + + 2*nn*rmbar1*rmbar3*Ro133 + 2*nn*rmbar1*rmbar2*Ro231 + + 2*nn*rmbar2*rmbar3*Ro233 + 2*nn*rmbar1*rmbar3*Ro331 + + 2*nn*rmbar2*rmbar3*Ro332 + n1*(R4p3112*rmbar1*rmbar2 - + R4p1333*SQR(imbar3))) + n2*(n3*R4p2132*rmbar1*rmbar2 + + n1*R4p2211*rmbar1*rmbar2 + n3*R4p2231*rmbar1*rmbar2 + + n1*R4p1321*rmbar1*rmbar3 + n3*R4p2133*rmbar1*rmbar3 + + n1*R4p2311*rmbar1*rmbar3 + n3*R4p3321*rmbar1*rmbar3 + + n1*R4p1223*rmbar2*rmbar3 + n3*R4p2233*rmbar2*rmbar3 + + n1*R4p2312*rmbar2*rmbar3 + 2*nn*rmbar1*rmbar2*Ro122 + + 2*nn*rmbar1*rmbar3*Ro123 + 2*nn*rmbar1*rmbar2*Ro221 + + 2*nn*rmbar2*rmbar3*Ro223 + 2*nn*rmbar1*rmbar3*Ro321 + + 2*nn*rmbar2*rmbar3*Ro322 + n1*(R4p2112*rmbar1*rmbar2 - + R4p2313*SQR(imbar3))) + R4p1112*rmbar1*rmbar2*SQR(n1) + + R4p1211*rmbar1*rmbar2*SQR(n1) + R4p1113*rmbar1*rmbar3*SQR(n1) + + R4p1311*rmbar1*rmbar3*SQR(n1) + R4p1213*rmbar2*rmbar3*SQR(n1) + + R4p1312*rmbar2*rmbar3*SQR(n1) + R4p2122*rmbar1*rmbar2*SQR(n2) + + R4p2221*rmbar1*rmbar2*SQR(n2) + R4p2123*rmbar1*rmbar3*SQR(n2) + + R4p2321*rmbar1*rmbar3*SQR(n2) + R4p2223*rmbar2*rmbar3*SQR(n2) + + R4p2322*rmbar2*rmbar3*SQR(n2) + SQR(imbar3)*(-2*n2*nn*Ro323 - + R4p2323*SQR(n2)) + R4p3132*rmbar1*rmbar2*SQR(n3) + + R4p3231*rmbar1*rmbar2*SQR(n3) + R4p3133*rmbar1*rmbar3*SQR(n3) + + R4p3331*rmbar1*rmbar3*SQR(n3) + R4p3233*rmbar2*rmbar3*SQR(n3) + + R4p3332*rmbar2*rmbar3*SQR(n3) + SQR(imbar3)*(-2*n3*nn*Ro333 - + R4p3333*SQR(n3)) + rmbar1*rmbar2*Rojo12*SQR(nn) + + rmbar1*rmbar3*Rojo13*SQR(nn) + rmbar1*rmbar2*Rojo21*SQR(nn) + + rmbar2*rmbar3*Rojo23*SQR(nn) + rmbar1*rmbar3*Rojo31*SQR(nn) + + rmbar2*rmbar3*Rojo32*SQR(nn) - SQR(imbar1)*(n2*n3*R4p2131 + + n2*n3*R4p3121 + n1*(n2*(R4p1121 + R4p2111) + n3*(R4p1131 + R4p3111) + + 2*nn*Ro111) + 2*n2*nn*Ro121 + 2*n3*nn*Ro131 + R4p1111*SQR(n1) + + R4p2121*SQR(n2) + R4p3131*SQR(n3) + Rojo11*SQR(nn)) - + SQR(imbar2)*(n2*n3*R4p2232 + n2*n3*R4p3222 + n1*(n2*(R4p1222 + R4p2212) + + n3*(R4p1232 + R4p3212) + 2*nn*Ro212) + 2*n2*nn*Ro222 + 2*n3*nn*Ro232 + + R4p1212*SQR(n1) + R4p2222*SQR(n2) + R4p3232*SQR(n3) + Rojo22*SQR(nn)) + - imbar2*imbar3*(2*n3*nn*Ro233 + n1*(n2*(R4p1223 + R4p1322 + R4p2213 + + R4p2312) + n3*(R4p1233 + R4p1332 + R4p3213 + R4p3312) + 2*nn*(Ro213 + + Ro312)) + n2*(n3*(R4p2233 + R4p2332 + R4p3223 + R4p3322) + 2*nn*(Ro223 + + Ro322)) + 2*n3*nn*Ro332 + (R4p1213 + R4p1312)*SQR(n1) + (R4p2223 + + R4p2322)*SQR(n2) + R4p3233*SQR(n3) + R4p3332*SQR(n3) + Rojo23*SQR(nn) + + Rojo32*SQR(nn)) + SQR(imbar3)*(-(n2*n3*R4p3323) - 2*n1*nn*Ro313 - + R4p1313*SQR(n1) - Rojo33*SQR(nn)) - imbar1*(imbar2*(2*n3*nn*Ro132 + + n1*(n2*(R4p1122 + R4p1221 + R4p2112 + R4p2211) + n3*(R4p1132 + R4p1231 + + R4p3112 + R4p3211) + 2*nn*(Ro112 + Ro211)) + n2*(n3*(R4p2132 + + R4p2231 + R4p3122 + R4p3221) + 2*nn*(Ro122 + Ro221)) + 2*n3*nn*Ro231 + + (R4p1112 + R4p1211)*SQR(n1) + (R4p2122 + R4p2221)*SQR(n2) + + R4p3132*SQR(n3) + R4p3231*SQR(n3) + Rojo12*SQR(nn) + Rojo21*SQR(nn)) + + imbar3*(2*n3*nn*Ro133 + n1*(n2*(R4p1123 + R4p1321 + R4p2113 + R4p2311) + + n3*(R4p1133 + R4p1331 + R4p3113 + R4p3311) + 2*nn*(Ro113 + Ro311)) + + n2*(n3*(R4p2133 + R4p2331 + R4p3123 + R4p3321) + 2*nn*(Ro123 + Ro321)) + + 2*n3*nn*Ro331 + (R4p1113 + R4p1311)*SQR(n1) + (R4p2123 + + R4p2321)*SQR(n2) + R4p3133*SQR(n3) + R4p3331*SQR(n3) + Rojo13*SQR(nn) + + Rojo31*SQR(nn))) + n1*n2*R4p1121*SQR(rmbar1) + + n1*n3*R4p1131*SQR(rmbar1) + n1*n2*R4p2111*SQR(rmbar1) + + n2*n3*R4p2131*SQR(rmbar1) + n1*n3*R4p3111*SQR(rmbar1) + + n2*n3*R4p3121*SQR(rmbar1) + 2*n1*nn*Ro111*SQR(rmbar1) + + 2*n2*nn*Ro121*SQR(rmbar1) + 2*n3*nn*Ro131*SQR(rmbar1) + + R4p1111*SQR(n1)*SQR(rmbar1) + R4p2121*SQR(n2)*SQR(rmbar1) + + R4p3131*SQR(n3)*SQR(rmbar1) + Rojo11*SQR(nn)*SQR(rmbar1) + + n1*n2*R4p1222*SQR(rmbar2) + n1*n3*R4p1232*SQR(rmbar2) + + n1*n2*R4p2212*SQR(rmbar2) + n2*n3*R4p2232*SQR(rmbar2) + + n1*n3*R4p3212*SQR(rmbar2) + n2*n3*R4p3222*SQR(rmbar2) + + 2*n1*nn*Ro212*SQR(rmbar2) + 2*n2*nn*Ro222*SQR(rmbar2) + + 2*n3*nn*Ro232*SQR(rmbar2) + R4p1212*SQR(n1)*SQR(rmbar2) + + R4p2222*SQR(n2)*SQR(rmbar2) + R4p3232*SQR(n3)*SQR(rmbar2) + + Rojo22*SQR(nn)*SQR(rmbar2) + n1*n2*R4p1323*SQR(rmbar3) + + n1*n3*R4p1333*SQR(rmbar3) + n1*n2*R4p2313*SQR(rmbar3) + + n2*n3*R4p2333*SQR(rmbar3) + n1*n3*R4p3313*SQR(rmbar3) + + n2*n3*R4p3323*SQR(rmbar3) + 2*n1*nn*Ro313*SQR(rmbar3) + + 2*n2*nn*Ro323*SQR(rmbar3) + 2*n3*nn*Ro333*SQR(rmbar3) + + R4p1313*SQR(n1)*SQR(rmbar3) + R4p2323*SQR(n2)*SQR(rmbar3) + + R4p3333*SQR(n3)*SQR(rmbar3) + Rojo33*SQR(nn)*SQR(rmbar3); + + CCTK_REAL Psi4iL = -(im1*(4*n3*nn*rm1*Ro131 + 2*n3*nn*rm2*Ro132 + + 2*n3*nn*rm3*Ro133 + 2*n3*nn*rm2*Ro231 + n1*(n2*(2*R4p1121*rm1 + + 2*R4p2111*rm1 + R4p1122*rm2 + R4p1221*rm2 + R4p2112*rm2 + R4p2211*rm2 + + R4p1123*rm3 + R4p1321*rm3 + R4p2113*rm3 + R4p2311*rm3) + + n3*(2*R4p1131*rm1 + 2*R4p3111*rm1 + R4p1132*rm2 + R4p1231*rm2 + + R4p3112*rm2 + R4p3211*rm2 + R4p1133*rm3 + R4p1331*rm3 + R4p3113*rm3 + + R4p3311*rm3) + 2*nn*(2*rm1*Ro111 + rm2*(Ro112 + Ro211) + rm3*(Ro113 + + Ro311))) + n2*(n3*(2*R4p2131*rm1 + 2*R4p3121*rm1 + R4p2132*rm2 + + R4p2231*rm2 + R4p3122*rm2 + R4p3221*rm2 + R4p2133*rm3 + R4p2331*rm3 + + R4p3123*rm3 + R4p3321*rm3) + 2*nn*(2*rm1*Ro121 + rm2*(Ro122 + Ro221) + + rm3*(Ro123 + Ro321))) + 2*n3*nn*rm3*Ro331 + (2*R4p1111*rm1 + + R4p1112*rm2 + R4p1211*rm2 + R4p1113*rm3 + R4p1311*rm3)*SQR(n1) + + (2*R4p2121*rm1 + R4p2122*rm2 + R4p2221*rm2 + R4p2123*rm3 + + R4p2321*rm3)*SQR(n2) + 2*R4p3131*rm1*SQR(n3) + R4p3132*rm2*SQR(n3) + + R4p3231*rm2*SQR(n3) + R4p3133*rm3*SQR(n3) + R4p3331*rm3*SQR(n3) + + 2*rm1*Rojo11*SQR(nn) + rm2*Rojo12*SQR(nn) + rm3*Rojo13*SQR(nn) + + rm2*Rojo21*SQR(nn) + rm3*Rojo31*SQR(nn))) - im2*(2*n3*nn*rm1*Ro132 + + 2*n3*nn*rm1*Ro231 + 4*n3*nn*rm2*Ro232 + 2*n3*nn*rm3*Ro233 + + n1*(n2*(R4p1122*rm1 + R4p1221*rm1 + R4p2112*rm1 + R4p2211*rm1 + + 2*R4p1222*rm2 + 2*R4p2212*rm2 + R4p1223*rm3 + R4p1322*rm3 + R4p2213*rm3 + + R4p2312*rm3) + n3*(R4p1132*rm1 + R4p1231*rm1 + R4p3112*rm1 + + R4p3211*rm1 + 2*R4p1232*rm2 + 2*R4p3212*rm2 + R4p1233*rm3 + R4p1332*rm3 + + R4p3213*rm3 + R4p3312*rm3) + 2*nn*(rm1*(Ro112 + Ro211) + 2*rm2*Ro212 + + rm3*(Ro213 + Ro312))) + n2*(n3*(R4p2132*rm1 + R4p2231*rm1 + + R4p3122*rm1 + R4p3221*rm1 + 2*R4p2232*rm2 + 2*R4p3222*rm2 + R4p2233*rm3 + + R4p2332*rm3 + R4p3223*rm3 + R4p3322*rm3) + 2*nn*(rm1*(Ro122 + Ro221) + + 2*rm2*Ro222 + rm3*(Ro223 + Ro322))) + 2*n3*nn*rm3*Ro332 + + (R4p1112*rm1 + R4p1211*rm1 + 2*R4p1212*rm2 + R4p1213*rm3 + + R4p1312*rm3)*SQR(n1) + (R4p2122*rm1 + R4p2221*rm1 + 2*R4p2222*rm2 + + R4p2223*rm3 + R4p2322*rm3)*SQR(n2) + R4p3132*rm1*SQR(n3) + + R4p3231*rm1*SQR(n3) + 2*R4p3232*rm2*SQR(n3) + R4p3233*rm3*SQR(n3) + + R4p3332*rm3*SQR(n3) + rm1*Rojo12*SQR(nn) + rm1*Rojo21*SQR(nn) + + 2*rm2*Rojo22*SQR(nn) + rm3*Rojo23*SQR(nn) + rm3*Rojo32*SQR(nn)) - + im3*(2*n3*nn*rm1*Ro133 + 2*n3*nn*rm2*Ro233 + n1*(n2*(R4p1123*rm1 + + R4p1321*rm1 + R4p2113*rm1 + R4p2311*rm1 + R4p1223*rm2 + R4p1322*rm2 + + R4p2213*rm2 + R4p2312*rm2 + 2*R4p1323*rm3 + 2*R4p2313*rm3) + + n3*(R4p1133*rm1 + R4p1331*rm1 + R4p3113*rm1 + R4p3311*rm1 + R4p1233*rm2 + + R4p1332*rm2 + R4p3213*rm2 + R4p3312*rm2 + 2*R4p1333*rm3 + + 2*R4p3313*rm3) + 2*nn*(rm1*(Ro113 + Ro311) + rm2*(Ro213 + Ro312) + + 2*rm3*Ro313)) + n2*(n3*(R4p2133*rm1 + R4p2331*rm1 + R4p3123*rm1 + + R4p3321*rm1 + R4p2233*rm2 + R4p2332*rm2 + R4p3223*rm2 + R4p3322*rm2 + + 2*R4p2333*rm3 + 2*R4p3323*rm3) + 2*nn*(rm1*(Ro123 + Ro321) + rm2*(Ro223 + + Ro322) + 2*rm3*Ro323)) + 2*n3*nn*rm1*Ro331 + 2*n3*nn*rm2*Ro332 + + 4*n3*nn*rm3*Ro333 + (R4p1113*rm1 + R4p1311*rm1 + R4p1213*rm2 + + R4p1312*rm2 + 2*R4p1313*rm3)*SQR(n1) + (R4p2123*rm1 + R4p2321*rm1 + + R4p2223*rm2 + R4p2322*rm2 + 2*R4p2323*rm3)*SQR(n2) + + R4p3133*rm1*SQR(n3) + R4p3331*rm1*SQR(n3) + R4p3233*rm2*SQR(n3) + + R4p3332*rm2*SQR(n3) + 2*R4p3333*rm3*SQR(n3) + rm1*Rojo13*SQR(nn) + + rm2*Rojo23*SQR(nn) + rm1*Rojo31*SQR(nn) + rm2*Rojo32*SQR(nn) + + 2*rm3*Rojo33*SQR(nn)); + + /* Copy local copies back to grid functions */ + Psi4i[index] = Psi4iL; + Psi4r[index] = Psi4rL; + } + LC_ENDLOOP3 (psis_calc_Nth); +} + +extern "C" void psis_calc_Nth(CCTK_ARGUMENTS) +{ + DECLARE_CCTK_ARGUMENTS; + DECLARE_CCTK_PARAMETERS; + + GenericFD_LoopOverInterior(cctkGH, &psis_calc_Nth_Body); +} -- cgit v1.2.3