diff options
Diffstat (limited to 'src/psi4_calc_4th.cc')
-rw-r--r-- | src/psi4_calc_4th.cc | 1895 |
1 files changed, 1895 insertions, 0 deletions
diff --git a/src/psi4_calc_4th.cc b/src/psi4_calc_4th.cc new file mode 100644 index 0000000..1a82586 --- /dev/null +++ b/src/psi4_calc_4th.cc @@ -0,0 +1,1895 @@ +/* File produced by Kranc */ + +#define KRANC_C + +#include <assert.h> +#include <math.h> +#include <stdio.h> +#include <stdlib.h> +#include <string.h> +#include "cctk.h" +#include "cctk_Arguments.h" +#include "cctk_Parameters.h" +#include "GenericFD.h" +#include "Differencing.h" +#include "loopcontrol.h" +#include "vectors.h" + +/* Define macros used in calculations */ +#define INITVALUE (42) +#define QAD(x) (SQR(SQR(x))) +#define INV(x) (kdiv(ToReal(1.0),x)) +#define SQR(x) (kmul(x,x)) +#define CUB(x) (kmul(x,SQR(x))) + +extern "C" void psi4_calc_4th_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 psi4_calc_4th_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 imin[3], int const imax[3], int const n_subblock_gfs, CCTK_REAL * restrict const subblock_gfs[]) +{ + DECLARE_CCTK_ARGUMENTS; + DECLARE_CCTK_PARAMETERS; + + + /* Declare finite differencing variables */ + + /* 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_VEC const dx = ToReal(CCTK_DELTA_SPACE(0)); + CCTK_REAL_VEC const dy = ToReal(CCTK_DELTA_SPACE(1)); + CCTK_REAL_VEC const dz = ToReal(CCTK_DELTA_SPACE(2)); + CCTK_REAL_VEC const dt = ToReal(CCTK_DELTA_TIME); + CCTK_REAL_VEC const t = ToReal(cctk_time); + CCTK_REAL_VEC const dxi = INV(dx); + CCTK_REAL_VEC const dyi = INV(dy); + CCTK_REAL_VEC const dzi = INV(dz); + CCTK_REAL_VEC const khalf = ToReal(0.5); + CCTK_REAL_VEC const kthird = ToReal(1.0/3.0); + CCTK_REAL_VEC const ktwothird = ToReal(2.0/3.0); + CCTK_REAL_VEC const kfourthird = ToReal(4.0/3.0); + CCTK_REAL_VEC const keightthird = ToReal(8.0/3.0); + CCTK_REAL_VEC const hdxi = kmul(ToReal(0.5), dxi); + CCTK_REAL_VEC const hdyi = kmul(ToReal(0.5), dyi); + CCTK_REAL_VEC const hdzi = kmul(ToReal(0.5), dzi); + + /* Initialize predefined quantities */ + CCTK_REAL_VEC const p1o12dx = kmul(INV(dx),ToReal(0.0833333333333333333333333333333)); + CCTK_REAL_VEC const p1o12dy = kmul(INV(dy),ToReal(0.0833333333333333333333333333333)); + CCTK_REAL_VEC const p1o12dz = kmul(INV(dz),ToReal(0.0833333333333333333333333333333)); + CCTK_REAL_VEC const p1o144dxdy = kmul(INV(dx),kmul(INV(dy),ToReal(0.00694444444444444444444444444444))); + CCTK_REAL_VEC const p1o144dxdz = kmul(INV(dx),kmul(INV(dz),ToReal(0.00694444444444444444444444444444))); + CCTK_REAL_VEC const p1o144dydz = kmul(INV(dy),kmul(INV(dz),ToReal(0.00694444444444444444444444444444))); + CCTK_REAL_VEC const p1o180dx2 = kmul(INV(SQR(dx)),ToReal(0.00555555555555555555555555555556)); + CCTK_REAL_VEC const p1o180dy2 = kmul(INV(SQR(dy)),ToReal(0.00555555555555555555555555555556)); + CCTK_REAL_VEC const p1o180dz2 = kmul(INV(SQR(dz)),ToReal(0.00555555555555555555555555555556)); + CCTK_REAL_VEC const p1o2dx = kmul(INV(dx),ToReal(0.5)); + CCTK_REAL_VEC const p1o2dy = kmul(INV(dy),ToReal(0.5)); + CCTK_REAL_VEC const p1o2dz = kmul(INV(dz),ToReal(0.5)); + CCTK_REAL_VEC const p1o3600dxdy = kmul(INV(dx),kmul(INV(dy),ToReal(0.000277777777777777777777777777778))); + CCTK_REAL_VEC const p1o3600dxdz = kmul(INV(dx),kmul(INV(dz),ToReal(0.000277777777777777777777777777778))); + CCTK_REAL_VEC const p1o3600dydz = kmul(INV(dy),kmul(INV(dz),ToReal(0.000277777777777777777777777777778))); + CCTK_REAL_VEC const p1o4dxdy = kmul(INV(dx),kmul(INV(dy),ToReal(0.25))); + CCTK_REAL_VEC const p1o4dxdz = kmul(INV(dx),kmul(INV(dz),ToReal(0.25))); + CCTK_REAL_VEC const p1o4dydz = kmul(INV(dy),kmul(INV(dz),ToReal(0.25))); + CCTK_REAL_VEC const p1o5040dx2 = kmul(INV(SQR(dx)),ToReal(0.000198412698412698412698412698413)); + CCTK_REAL_VEC const p1o5040dy2 = kmul(INV(SQR(dy)),ToReal(0.000198412698412698412698412698413)); + CCTK_REAL_VEC const p1o5040dz2 = kmul(INV(SQR(dz)),ToReal(0.000198412698412698412698412698413)); + CCTK_REAL_VEC const p1o60dx = kmul(INV(dx),ToReal(0.0166666666666666666666666666667)); + CCTK_REAL_VEC const p1o60dy = kmul(INV(dy),ToReal(0.0166666666666666666666666666667)); + CCTK_REAL_VEC const p1o60dz = kmul(INV(dz),ToReal(0.0166666666666666666666666666667)); + CCTK_REAL_VEC const p1o705600dxdy = kmul(INV(dx),kmul(INV(dy),ToReal(1.41723356009070294784580498866e-6))); + CCTK_REAL_VEC const p1o705600dxdz = kmul(INV(dx),kmul(INV(dz),ToReal(1.41723356009070294784580498866e-6))); + CCTK_REAL_VEC const p1o705600dydz = kmul(INV(dy),kmul(INV(dz),ToReal(1.41723356009070294784580498866e-6))); + CCTK_REAL_VEC const p1o840dx = kmul(INV(dx),ToReal(0.00119047619047619047619047619048)); + CCTK_REAL_VEC const p1o840dy = kmul(INV(dy),ToReal(0.00119047619047619047619047619048)); + CCTK_REAL_VEC const p1o840dz = kmul(INV(dz),ToReal(0.00119047619047619047619047619048)); + CCTK_REAL_VEC const p1odx2 = INV(SQR(dx)); + CCTK_REAL_VEC const p1ody2 = INV(SQR(dy)); + CCTK_REAL_VEC const p1odz2 = INV(SQR(dz)); + CCTK_REAL_VEC const pm1o12dx2 = kmul(INV(SQR(dx)),ToReal(-0.0833333333333333333333333333333)); + CCTK_REAL_VEC const pm1o12dy2 = kmul(INV(SQR(dy)),ToReal(-0.0833333333333333333333333333333)); + CCTK_REAL_VEC const pm1o12dz2 = kmul(INV(SQR(dz)),ToReal(-0.0833333333333333333333333333333)); + + /* Jacobian variable pointers */ + bool const use_jacobian = (!CCTK_IsFunctionAliased("MultiPatch_GetMap") || MultiPatch_GetMap(cctkGH) != jacobian_identity_map) + && strlen(jacobian_group) > 0; + if (use_jacobian && strlen(jacobian_derivative_group) == 0) + { + CCTK_WARN (1, "GenericFD::jacobian_group and GenericFD::jacobian_derivative_group must both be set to valid group names"); + } + + CCTK_REAL const *restrict jacobian_ptrs[9]; + if (use_jacobian) GenericFD_GroupDataPointers(cctkGH, jacobian_group, + 9, jacobian_ptrs); + + CCTK_REAL const *restrict const J11 = use_jacobian ? jacobian_ptrs[0] : 0; + CCTK_REAL const *restrict const J12 = use_jacobian ? jacobian_ptrs[1] : 0; + CCTK_REAL const *restrict const J13 = use_jacobian ? jacobian_ptrs[2] : 0; + CCTK_REAL const *restrict const J21 = use_jacobian ? jacobian_ptrs[3] : 0; + CCTK_REAL const *restrict const J22 = use_jacobian ? jacobian_ptrs[4] : 0; + CCTK_REAL const *restrict const J23 = use_jacobian ? jacobian_ptrs[5] : 0; + CCTK_REAL const *restrict const J31 = use_jacobian ? jacobian_ptrs[6] : 0; + CCTK_REAL const *restrict const J32 = use_jacobian ? jacobian_ptrs[7] : 0; + CCTK_REAL const *restrict const J33 = use_jacobian ? jacobian_ptrs[8] : 0; + + CCTK_REAL const *restrict jacobian_derivative_ptrs[18]; + if (use_jacobian) GenericFD_GroupDataPointers(cctkGH, jacobian_derivative_group, + 18, jacobian_derivative_ptrs); + + CCTK_REAL const *restrict const dJ111 = use_jacobian ? jacobian_derivative_ptrs[0] : 0; + CCTK_REAL const *restrict const dJ112 = use_jacobian ? jacobian_derivative_ptrs[1] : 0; + CCTK_REAL const *restrict const dJ113 = use_jacobian ? jacobian_derivative_ptrs[2] : 0; + CCTK_REAL const *restrict const dJ122 = use_jacobian ? jacobian_derivative_ptrs[3] : 0; + CCTK_REAL const *restrict const dJ123 = use_jacobian ? jacobian_derivative_ptrs[4] : 0; + CCTK_REAL const *restrict const dJ133 = use_jacobian ? jacobian_derivative_ptrs[5] : 0; + CCTK_REAL const *restrict const dJ211 = use_jacobian ? jacobian_derivative_ptrs[6] : 0; + CCTK_REAL const *restrict const dJ212 = use_jacobian ? jacobian_derivative_ptrs[7] : 0; + CCTK_REAL const *restrict const dJ213 = use_jacobian ? jacobian_derivative_ptrs[8] : 0; + CCTK_REAL const *restrict const dJ222 = use_jacobian ? jacobian_derivative_ptrs[9] : 0; + CCTK_REAL const *restrict const dJ223 = use_jacobian ? jacobian_derivative_ptrs[10] : 0; + CCTK_REAL const *restrict const dJ233 = use_jacobian ? jacobian_derivative_ptrs[11] : 0; + CCTK_REAL const *restrict const dJ311 = use_jacobian ? jacobian_derivative_ptrs[12] : 0; + CCTK_REAL const *restrict const dJ312 = use_jacobian ? jacobian_derivative_ptrs[13] : 0; + CCTK_REAL const *restrict const dJ313 = use_jacobian ? jacobian_derivative_ptrs[14] : 0; + CCTK_REAL const *restrict const dJ322 = use_jacobian ? jacobian_derivative_ptrs[15] : 0; + CCTK_REAL const *restrict const dJ323 = use_jacobian ? jacobian_derivative_ptrs[16] : 0; + CCTK_REAL const *restrict const dJ333 = use_jacobian ? jacobian_derivative_ptrs[17] : 0; + + /* Assign local copies of arrays functions */ + + + + /* Calculate temporaries and arrays functions */ + + /* Copy local copies back to grid functions */ + + /* Loop over the grid points */ + #pragma omp parallel + LC_LOOP3VEC (psi4_calc_4th, + i,j,k, imin[0],imin[1],imin[2], imax[0],imax[1],imax[2], + cctk_lsh[0],cctk_lsh[1],cctk_lsh[2], + CCTK_REAL_VEC_SIZE) + { + ptrdiff_t const index = di*i + dj*j + dk*k; + + /* Assign local copies of grid functions */ + + CCTK_REAL_VEC gxxL = vec_load(gxx[index]); + CCTK_REAL_VEC gxyL = vec_load(gxy[index]); + CCTK_REAL_VEC gxzL = vec_load(gxz[index]); + CCTK_REAL_VEC gyyL = vec_load(gyy[index]); + CCTK_REAL_VEC gyzL = vec_load(gyz[index]); + CCTK_REAL_VEC gzzL = vec_load(gzz[index]); + CCTK_REAL_VEC kxxL = vec_load(kxx[index]); + CCTK_REAL_VEC kxyL = vec_load(kxy[index]); + CCTK_REAL_VEC kxzL = vec_load(kxz[index]); + CCTK_REAL_VEC kyyL = vec_load(kyy[index]); + CCTK_REAL_VEC kyzL = vec_load(kyz[index]); + CCTK_REAL_VEC kzzL = vec_load(kzz[index]); + CCTK_REAL_VEC xL = vec_load(x[index]); + CCTK_REAL_VEC yL = vec_load(y[index]); + CCTK_REAL_VEC zL = vec_load(z[index]); + + + CCTK_REAL_VEC dJ111L, dJ112L, dJ113L, dJ122L, dJ123L, dJ133L, dJ211L, dJ212L, dJ213L, dJ222L, dJ223L, dJ233L, dJ311L, dJ312L, dJ313L, dJ322L, dJ323L, dJ333L, J11L, J12L, J13L, J21L, J22L, J23L, J31L, J32L, J33L; + + if (use_jacobian) + { + dJ111L = vec_load(dJ111[index]); + dJ112L = vec_load(dJ112[index]); + dJ113L = vec_load(dJ113[index]); + dJ122L = vec_load(dJ122[index]); + dJ123L = vec_load(dJ123[index]); + dJ133L = vec_load(dJ133[index]); + dJ211L = vec_load(dJ211[index]); + dJ212L = vec_load(dJ212[index]); + dJ213L = vec_load(dJ213[index]); + dJ222L = vec_load(dJ222[index]); + dJ223L = vec_load(dJ223[index]); + dJ233L = vec_load(dJ233[index]); + dJ311L = vec_load(dJ311[index]); + dJ312L = vec_load(dJ312[index]); + dJ313L = vec_load(dJ313[index]); + dJ322L = vec_load(dJ322[index]); + dJ323L = vec_load(dJ323[index]); + dJ333L = vec_load(dJ333[index]); + J11L = vec_load(J11[index]); + J12L = vec_load(J12[index]); + J13L = vec_load(J13[index]); + J21L = vec_load(J21[index]); + J22L = vec_load(J22[index]); + J23L = vec_load(J23[index]); + J31L = vec_load(J31[index]); + J32L = vec_load(J32[index]); + J33L = vec_load(J33[index]); + } + + /* Include user supplied include files */ + + /* Precompute derivatives */ + CCTK_REAL_VEC PDstandard4th1gxx; + CCTK_REAL_VEC PDstandard4th2gxx; + CCTK_REAL_VEC PDstandard4th3gxx; + CCTK_REAL_VEC PDstandard4th11gxx; + CCTK_REAL_VEC PDstandard4th22gxx; + CCTK_REAL_VEC PDstandard4th33gxx; + CCTK_REAL_VEC PDstandard4th12gxx; + CCTK_REAL_VEC PDstandard4th13gxx; + CCTK_REAL_VEC PDstandard4th23gxx; + CCTK_REAL_VEC PDstandard4th1gxy; + CCTK_REAL_VEC PDstandard4th2gxy; + CCTK_REAL_VEC PDstandard4th3gxy; + CCTK_REAL_VEC PDstandard4th11gxy; + CCTK_REAL_VEC PDstandard4th22gxy; + CCTK_REAL_VEC PDstandard4th33gxy; + CCTK_REAL_VEC PDstandard4th12gxy; + CCTK_REAL_VEC PDstandard4th13gxy; + CCTK_REAL_VEC PDstandard4th23gxy; + CCTK_REAL_VEC PDstandard4th1gxz; + CCTK_REAL_VEC PDstandard4th2gxz; + CCTK_REAL_VEC PDstandard4th3gxz; + CCTK_REAL_VEC PDstandard4th11gxz; + CCTK_REAL_VEC PDstandard4th22gxz; + CCTK_REAL_VEC PDstandard4th33gxz; + CCTK_REAL_VEC PDstandard4th12gxz; + CCTK_REAL_VEC PDstandard4th13gxz; + CCTK_REAL_VEC PDstandard4th23gxz; + CCTK_REAL_VEC PDstandard4th1gyy; + CCTK_REAL_VEC PDstandard4th2gyy; + CCTK_REAL_VEC PDstandard4th3gyy; + CCTK_REAL_VEC PDstandard4th11gyy; + CCTK_REAL_VEC PDstandard4th22gyy; + CCTK_REAL_VEC PDstandard4th33gyy; + CCTK_REAL_VEC PDstandard4th12gyy; + CCTK_REAL_VEC PDstandard4th13gyy; + CCTK_REAL_VEC PDstandard4th23gyy; + CCTK_REAL_VEC PDstandard4th1gyz; + CCTK_REAL_VEC PDstandard4th2gyz; + CCTK_REAL_VEC PDstandard4th3gyz; + CCTK_REAL_VEC PDstandard4th11gyz; + CCTK_REAL_VEC PDstandard4th22gyz; + CCTK_REAL_VEC PDstandard4th33gyz; + CCTK_REAL_VEC PDstandard4th12gyz; + CCTK_REAL_VEC PDstandard4th13gyz; + CCTK_REAL_VEC PDstandard4th23gyz; + CCTK_REAL_VEC PDstandard4th1gzz; + CCTK_REAL_VEC PDstandard4th2gzz; + CCTK_REAL_VEC PDstandard4th3gzz; + CCTK_REAL_VEC PDstandard4th11gzz; + CCTK_REAL_VEC PDstandard4th22gzz; + CCTK_REAL_VEC PDstandard4th33gzz; + CCTK_REAL_VEC PDstandard4th12gzz; + CCTK_REAL_VEC PDstandard4th13gzz; + CCTK_REAL_VEC PDstandard4th23gzz; + CCTK_REAL_VEC PDstandard4th1kxx; + CCTK_REAL_VEC PDstandard4th2kxx; + CCTK_REAL_VEC PDstandard4th3kxx; + CCTK_REAL_VEC PDstandard4th1kxy; + CCTK_REAL_VEC PDstandard4th2kxy; + CCTK_REAL_VEC PDstandard4th3kxy; + CCTK_REAL_VEC PDstandard4th1kxz; + CCTK_REAL_VEC PDstandard4th2kxz; + CCTK_REAL_VEC PDstandard4th3kxz; + CCTK_REAL_VEC PDstandard4th1kyy; + CCTK_REAL_VEC PDstandard4th2kyy; + CCTK_REAL_VEC PDstandard4th3kyy; + CCTK_REAL_VEC PDstandard4th1kyz; + CCTK_REAL_VEC PDstandard4th2kyz; + CCTK_REAL_VEC PDstandard4th3kyz; + CCTK_REAL_VEC PDstandard4th1kzz; + CCTK_REAL_VEC PDstandard4th2kzz; + CCTK_REAL_VEC PDstandard4th3kzz; + + switch(fdOrder) + { + case 2: + PDstandard4th1gxx = PDstandard4th1(&gxx[index]); + PDstandard4th2gxx = PDstandard4th2(&gxx[index]); + PDstandard4th3gxx = PDstandard4th3(&gxx[index]); + PDstandard4th11gxx = PDstandard4th11(&gxx[index]); + PDstandard4th22gxx = PDstandard4th22(&gxx[index]); + PDstandard4th33gxx = PDstandard4th33(&gxx[index]); + PDstandard4th12gxx = PDstandard4th12(&gxx[index]); + PDstandard4th13gxx = PDstandard4th13(&gxx[index]); + PDstandard4th23gxx = PDstandard4th23(&gxx[index]); + PDstandard4th1gxy = PDstandard4th1(&gxy[index]); + PDstandard4th2gxy = PDstandard4th2(&gxy[index]); + PDstandard4th3gxy = PDstandard4th3(&gxy[index]); + PDstandard4th11gxy = PDstandard4th11(&gxy[index]); + PDstandard4th22gxy = PDstandard4th22(&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]); + PDstandard4th11gxz = PDstandard4th11(&gxz[index]); + PDstandard4th22gxz = PDstandard4th22(&gxz[index]); + PDstandard4th33gxz = PDstandard4th33(&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]); + PDstandard4th22gyy = PDstandard4th22(&gyy[index]); + PDstandard4th33gyy = PDstandard4th33(&gyy[index]); + PDstandard4th12gyy = PDstandard4th12(&gyy[index]); + PDstandard4th13gyy = PDstandard4th13(&gyy[index]); + PDstandard4th23gyy = PDstandard4th23(&gyy[index]); + PDstandard4th1gyz = PDstandard4th1(&gyz[index]); + PDstandard4th2gyz = PDstandard4th2(&gyz[index]); + PDstandard4th3gyz = PDstandard4th3(&gyz[index]); + PDstandard4th11gyz = PDstandard4th11(&gyz[index]); + PDstandard4th22gyz = PDstandard4th22(&gyz[index]); + PDstandard4th33gyz = PDstandard4th33(&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]); + PDstandard4th33gzz = PDstandard4th33(&gzz[index]); + PDstandard4th12gzz = PDstandard4th12(&gzz[index]); + PDstandard4th13gzz = PDstandard4th13(&gzz[index]); + PDstandard4th23gzz = PDstandard4th23(&gzz[index]); + PDstandard4th1kxx = PDstandard4th1(&kxx[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]); + PDstandard4th2kyy = PDstandard4th2(&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]); + PDstandard4th3kzz = PDstandard4th3(&kzz[index]); + break; + + case 4: + PDstandard4th1gxx = PDstandard4th1(&gxx[index]); + PDstandard4th2gxx = PDstandard4th2(&gxx[index]); + PDstandard4th3gxx = PDstandard4th3(&gxx[index]); + PDstandard4th11gxx = PDstandard4th11(&gxx[index]); + PDstandard4th22gxx = PDstandard4th22(&gxx[index]); + PDstandard4th33gxx = PDstandard4th33(&gxx[index]); + PDstandard4th12gxx = PDstandard4th12(&gxx[index]); + PDstandard4th13gxx = PDstandard4th13(&gxx[index]); + PDstandard4th23gxx = PDstandard4th23(&gxx[index]); + PDstandard4th1gxy = PDstandard4th1(&gxy[index]); + PDstandard4th2gxy = PDstandard4th2(&gxy[index]); + PDstandard4th3gxy = PDstandard4th3(&gxy[index]); + PDstandard4th11gxy = PDstandard4th11(&gxy[index]); + PDstandard4th22gxy = PDstandard4th22(&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]); + PDstandard4th11gxz = PDstandard4th11(&gxz[index]); + PDstandard4th22gxz = PDstandard4th22(&gxz[index]); + PDstandard4th33gxz = PDstandard4th33(&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]); + PDstandard4th22gyy = PDstandard4th22(&gyy[index]); + PDstandard4th33gyy = PDstandard4th33(&gyy[index]); + PDstandard4th12gyy = PDstandard4th12(&gyy[index]); + PDstandard4th13gyy = PDstandard4th13(&gyy[index]); + PDstandard4th23gyy = PDstandard4th23(&gyy[index]); + PDstandard4th1gyz = PDstandard4th1(&gyz[index]); + PDstandard4th2gyz = PDstandard4th2(&gyz[index]); + PDstandard4th3gyz = PDstandard4th3(&gyz[index]); + PDstandard4th11gyz = PDstandard4th11(&gyz[index]); + PDstandard4th22gyz = PDstandard4th22(&gyz[index]); + PDstandard4th33gyz = PDstandard4th33(&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]); + PDstandard4th33gzz = PDstandard4th33(&gzz[index]); + PDstandard4th12gzz = PDstandard4th12(&gzz[index]); + PDstandard4th13gzz = PDstandard4th13(&gzz[index]); + PDstandard4th23gzz = PDstandard4th23(&gzz[index]); + PDstandard4th1kxx = PDstandard4th1(&kxx[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]); + PDstandard4th2kyy = PDstandard4th2(&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]); + PDstandard4th3kzz = PDstandard4th3(&kzz[index]); + break; + + case 6: + PDstandard4th1gxx = PDstandard4th1(&gxx[index]); + PDstandard4th2gxx = PDstandard4th2(&gxx[index]); + PDstandard4th3gxx = PDstandard4th3(&gxx[index]); + PDstandard4th11gxx = PDstandard4th11(&gxx[index]); + PDstandard4th22gxx = PDstandard4th22(&gxx[index]); + PDstandard4th33gxx = PDstandard4th33(&gxx[index]); + PDstandard4th12gxx = PDstandard4th12(&gxx[index]); + PDstandard4th13gxx = PDstandard4th13(&gxx[index]); + PDstandard4th23gxx = PDstandard4th23(&gxx[index]); + PDstandard4th1gxy = PDstandard4th1(&gxy[index]); + PDstandard4th2gxy = PDstandard4th2(&gxy[index]); + PDstandard4th3gxy = PDstandard4th3(&gxy[index]); + PDstandard4th11gxy = PDstandard4th11(&gxy[index]); + PDstandard4th22gxy = PDstandard4th22(&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]); + PDstandard4th11gxz = PDstandard4th11(&gxz[index]); + PDstandard4th22gxz = PDstandard4th22(&gxz[index]); + PDstandard4th33gxz = PDstandard4th33(&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]); + PDstandard4th22gyy = PDstandard4th22(&gyy[index]); + PDstandard4th33gyy = PDstandard4th33(&gyy[index]); + PDstandard4th12gyy = PDstandard4th12(&gyy[index]); + PDstandard4th13gyy = PDstandard4th13(&gyy[index]); + PDstandard4th23gyy = PDstandard4th23(&gyy[index]); + PDstandard4th1gyz = PDstandard4th1(&gyz[index]); + PDstandard4th2gyz = PDstandard4th2(&gyz[index]); + PDstandard4th3gyz = PDstandard4th3(&gyz[index]); + PDstandard4th11gyz = PDstandard4th11(&gyz[index]); + PDstandard4th22gyz = PDstandard4th22(&gyz[index]); + PDstandard4th33gyz = PDstandard4th33(&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]); + PDstandard4th33gzz = PDstandard4th33(&gzz[index]); + PDstandard4th12gzz = PDstandard4th12(&gzz[index]); + PDstandard4th13gzz = PDstandard4th13(&gzz[index]); + PDstandard4th23gzz = PDstandard4th23(&gzz[index]); + PDstandard4th1kxx = PDstandard4th1(&kxx[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]); + PDstandard4th2kyy = PDstandard4th2(&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]); + PDstandard4th3kzz = PDstandard4th3(&kzz[index]); + break; + + case 8: + PDstandard4th1gxx = PDstandard4th1(&gxx[index]); + PDstandard4th2gxx = PDstandard4th2(&gxx[index]); + PDstandard4th3gxx = PDstandard4th3(&gxx[index]); + PDstandard4th11gxx = PDstandard4th11(&gxx[index]); + PDstandard4th22gxx = PDstandard4th22(&gxx[index]); + PDstandard4th33gxx = PDstandard4th33(&gxx[index]); + PDstandard4th12gxx = PDstandard4th12(&gxx[index]); + PDstandard4th13gxx = PDstandard4th13(&gxx[index]); + PDstandard4th23gxx = PDstandard4th23(&gxx[index]); + PDstandard4th1gxy = PDstandard4th1(&gxy[index]); + PDstandard4th2gxy = PDstandard4th2(&gxy[index]); + PDstandard4th3gxy = PDstandard4th3(&gxy[index]); + PDstandard4th11gxy = PDstandard4th11(&gxy[index]); + PDstandard4th22gxy = PDstandard4th22(&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]); + PDstandard4th11gxz = PDstandard4th11(&gxz[index]); + PDstandard4th22gxz = PDstandard4th22(&gxz[index]); + PDstandard4th33gxz = PDstandard4th33(&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]); + PDstandard4th22gyy = PDstandard4th22(&gyy[index]); + PDstandard4th33gyy = PDstandard4th33(&gyy[index]); + PDstandard4th12gyy = PDstandard4th12(&gyy[index]); + PDstandard4th13gyy = PDstandard4th13(&gyy[index]); + PDstandard4th23gyy = PDstandard4th23(&gyy[index]); + PDstandard4th1gyz = PDstandard4th1(&gyz[index]); + PDstandard4th2gyz = PDstandard4th2(&gyz[index]); + PDstandard4th3gyz = PDstandard4th3(&gyz[index]); + PDstandard4th11gyz = PDstandard4th11(&gyz[index]); + PDstandard4th22gyz = PDstandard4th22(&gyz[index]); + PDstandard4th33gyz = PDstandard4th33(&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]); + PDstandard4th33gzz = PDstandard4th33(&gzz[index]); + PDstandard4th12gzz = PDstandard4th12(&gzz[index]); + PDstandard4th13gzz = PDstandard4th13(&gzz[index]); + PDstandard4th23gzz = PDstandard4th23(&gzz[index]); + PDstandard4th1kxx = PDstandard4th1(&kxx[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]); + PDstandard4th2kyy = PDstandard4th2(&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]); + PDstandard4th3kzz = PDstandard4th3(&kzz[index]); + break; + } + + /* Calculate temporaries and grid functions */ + CCTK_REAL_VEC JacPDstandard4th11gxy; + CCTK_REAL_VEC JacPDstandard4th11gxz; + CCTK_REAL_VEC JacPDstandard4th11gyy; + CCTK_REAL_VEC JacPDstandard4th11gyz; + CCTK_REAL_VEC JacPDstandard4th11gzz; + CCTK_REAL_VEC JacPDstandard4th12gxx; + CCTK_REAL_VEC JacPDstandard4th12gxy; + CCTK_REAL_VEC JacPDstandard4th12gxz; + CCTK_REAL_VEC JacPDstandard4th12gyy; + CCTK_REAL_VEC JacPDstandard4th12gyz; + CCTK_REAL_VEC JacPDstandard4th12gzz; + CCTK_REAL_VEC JacPDstandard4th13gxx; + CCTK_REAL_VEC JacPDstandard4th13gxy; + CCTK_REAL_VEC JacPDstandard4th13gxz; + CCTK_REAL_VEC JacPDstandard4th13gyy; + CCTK_REAL_VEC JacPDstandard4th13gyz; + CCTK_REAL_VEC JacPDstandard4th13gzz; + CCTK_REAL_VEC JacPDstandard4th1gxx; + CCTK_REAL_VEC JacPDstandard4th1gxy; + CCTK_REAL_VEC JacPDstandard4th1gxz; + CCTK_REAL_VEC JacPDstandard4th1gyy; + CCTK_REAL_VEC JacPDstandard4th1gyz; + CCTK_REAL_VEC JacPDstandard4th1gzz; + CCTK_REAL_VEC JacPDstandard4th1kxy; + CCTK_REAL_VEC JacPDstandard4th1kxz; + CCTK_REAL_VEC JacPDstandard4th1kyy; + CCTK_REAL_VEC JacPDstandard4th1kyz; + CCTK_REAL_VEC JacPDstandard4th1kzz; + CCTK_REAL_VEC JacPDstandard4th21gxx; + CCTK_REAL_VEC JacPDstandard4th21gxy; + CCTK_REAL_VEC JacPDstandard4th21gxz; + CCTK_REAL_VEC JacPDstandard4th21gyy; + CCTK_REAL_VEC JacPDstandard4th21gyz; + CCTK_REAL_VEC JacPDstandard4th21gzz; + CCTK_REAL_VEC JacPDstandard4th22gxx; + CCTK_REAL_VEC JacPDstandard4th22gxy; + CCTK_REAL_VEC JacPDstandard4th22gxz; + CCTK_REAL_VEC JacPDstandard4th22gyz; + CCTK_REAL_VEC JacPDstandard4th22gzz; + CCTK_REAL_VEC JacPDstandard4th23gxx; + CCTK_REAL_VEC JacPDstandard4th23gxy; + CCTK_REAL_VEC JacPDstandard4th23gxz; + CCTK_REAL_VEC JacPDstandard4th23gyy; + CCTK_REAL_VEC JacPDstandard4th23gyz; + CCTK_REAL_VEC JacPDstandard4th23gzz; + CCTK_REAL_VEC JacPDstandard4th2gxx; + CCTK_REAL_VEC JacPDstandard4th2gxy; + CCTK_REAL_VEC JacPDstandard4th2gxz; + CCTK_REAL_VEC JacPDstandard4th2gyy; + CCTK_REAL_VEC JacPDstandard4th2gyz; + CCTK_REAL_VEC JacPDstandard4th2gzz; + CCTK_REAL_VEC JacPDstandard4th2kxx; + CCTK_REAL_VEC JacPDstandard4th2kxy; + CCTK_REAL_VEC JacPDstandard4th2kxz; + CCTK_REAL_VEC JacPDstandard4th2kyz; + CCTK_REAL_VEC JacPDstandard4th2kzz; + CCTK_REAL_VEC JacPDstandard4th31gxx; + CCTK_REAL_VEC JacPDstandard4th31gxy; + CCTK_REAL_VEC JacPDstandard4th31gxz; + CCTK_REAL_VEC JacPDstandard4th31gyy; + CCTK_REAL_VEC JacPDstandard4th31gyz; + CCTK_REAL_VEC JacPDstandard4th31gzz; + CCTK_REAL_VEC JacPDstandard4th32gxx; + CCTK_REAL_VEC JacPDstandard4th32gxy; + CCTK_REAL_VEC JacPDstandard4th32gxz; + CCTK_REAL_VEC JacPDstandard4th32gyy; + CCTK_REAL_VEC JacPDstandard4th32gyz; + CCTK_REAL_VEC JacPDstandard4th32gzz; + CCTK_REAL_VEC JacPDstandard4th33gxx; + CCTK_REAL_VEC JacPDstandard4th33gxy; + CCTK_REAL_VEC JacPDstandard4th33gxz; + CCTK_REAL_VEC JacPDstandard4th33gyy; + CCTK_REAL_VEC JacPDstandard4th33gyz; + CCTK_REAL_VEC JacPDstandard4th3gxx; + CCTK_REAL_VEC JacPDstandard4th3gxy; + CCTK_REAL_VEC JacPDstandard4th3gxz; + CCTK_REAL_VEC JacPDstandard4th3gyy; + CCTK_REAL_VEC JacPDstandard4th3gyz; + CCTK_REAL_VEC JacPDstandard4th3gzz; + CCTK_REAL_VEC JacPDstandard4th3kxx; + CCTK_REAL_VEC JacPDstandard4th3kxy; + CCTK_REAL_VEC JacPDstandard4th3kxz; + CCTK_REAL_VEC JacPDstandard4th3kyy; + CCTK_REAL_VEC JacPDstandard4th3kyz; + + if (use_jacobian) + { + JacPDstandard4th1gxx = + kmadd(J11L,PDstandard4th1gxx,kmadd(J21L,PDstandard4th2gxx,kmul(J31L,PDstandard4th3gxx))); + + JacPDstandard4th1gxy = + kmadd(J11L,PDstandard4th1gxy,kmadd(J21L,PDstandard4th2gxy,kmul(J31L,PDstandard4th3gxy))); + + JacPDstandard4th1gxz = + kmadd(J11L,PDstandard4th1gxz,kmadd(J21L,PDstandard4th2gxz,kmul(J31L,PDstandard4th3gxz))); + + JacPDstandard4th1gyy = + kmadd(J11L,PDstandard4th1gyy,kmadd(J21L,PDstandard4th2gyy,kmul(J31L,PDstandard4th3gyy))); + + JacPDstandard4th1gyz = + kmadd(J11L,PDstandard4th1gyz,kmadd(J21L,PDstandard4th2gyz,kmul(J31L,PDstandard4th3gyz))); + + JacPDstandard4th1gzz = + kmadd(J11L,PDstandard4th1gzz,kmadd(J21L,PDstandard4th2gzz,kmul(J31L,PDstandard4th3gzz))); + + JacPDstandard4th1kxy = + kmadd(J11L,PDstandard4th1kxy,kmadd(J21L,PDstandard4th2kxy,kmul(J31L,PDstandard4th3kxy))); + + JacPDstandard4th1kxz = + kmadd(J11L,PDstandard4th1kxz,kmadd(J21L,PDstandard4th2kxz,kmul(J31L,PDstandard4th3kxz))); + + JacPDstandard4th1kyy = + kmadd(J11L,PDstandard4th1kyy,kmadd(J21L,PDstandard4th2kyy,kmul(J31L,PDstandard4th3kyy))); + + JacPDstandard4th1kyz = + kmadd(J11L,PDstandard4th1kyz,kmadd(J21L,PDstandard4th2kyz,kmul(J31L,PDstandard4th3kyz))); + + JacPDstandard4th1kzz = + kmadd(J11L,PDstandard4th1kzz,kmadd(J21L,PDstandard4th2kzz,kmul(J31L,PDstandard4th3kzz))); + + JacPDstandard4th2gxx = + kmadd(J12L,PDstandard4th1gxx,kmadd(J22L,PDstandard4th2gxx,kmul(J32L,PDstandard4th3gxx))); + + JacPDstandard4th2gxy = + kmadd(J12L,PDstandard4th1gxy,kmadd(J22L,PDstandard4th2gxy,kmul(J32L,PDstandard4th3gxy))); + + JacPDstandard4th2gxz = + kmadd(J12L,PDstandard4th1gxz,kmadd(J22L,PDstandard4th2gxz,kmul(J32L,PDstandard4th3gxz))); + + JacPDstandard4th2gyy = + kmadd(J12L,PDstandard4th1gyy,kmadd(J22L,PDstandard4th2gyy,kmul(J32L,PDstandard4th3gyy))); + + JacPDstandard4th2gyz = + kmadd(J12L,PDstandard4th1gyz,kmadd(J22L,PDstandard4th2gyz,kmul(J32L,PDstandard4th3gyz))); + + JacPDstandard4th2gzz = + kmadd(J12L,PDstandard4th1gzz,kmadd(J22L,PDstandard4th2gzz,kmul(J32L,PDstandard4th3gzz))); + + JacPDstandard4th2kxx = + kmadd(J12L,PDstandard4th1kxx,kmadd(J22L,PDstandard4th2kxx,kmul(J32L,PDstandard4th3kxx))); + + JacPDstandard4th2kxy = + kmadd(J12L,PDstandard4th1kxy,kmadd(J22L,PDstandard4th2kxy,kmul(J32L,PDstandard4th3kxy))); + + JacPDstandard4th2kxz = + kmadd(J12L,PDstandard4th1kxz,kmadd(J22L,PDstandard4th2kxz,kmul(J32L,PDstandard4th3kxz))); + + JacPDstandard4th2kyz = + kmadd(J12L,PDstandard4th1kyz,kmadd(J22L,PDstandard4th2kyz,kmul(J32L,PDstandard4th3kyz))); + + JacPDstandard4th2kzz = + kmadd(J12L,PDstandard4th1kzz,kmadd(J22L,PDstandard4th2kzz,kmul(J32L,PDstandard4th3kzz))); + + JacPDstandard4th3gxx = + kmadd(J13L,PDstandard4th1gxx,kmadd(J23L,PDstandard4th2gxx,kmul(J33L,PDstandard4th3gxx))); + + JacPDstandard4th3gxy = + kmadd(J13L,PDstandard4th1gxy,kmadd(J23L,PDstandard4th2gxy,kmul(J33L,PDstandard4th3gxy))); + + JacPDstandard4th3gxz = + kmadd(J13L,PDstandard4th1gxz,kmadd(J23L,PDstandard4th2gxz,kmul(J33L,PDstandard4th3gxz))); + + JacPDstandard4th3gyy = + kmadd(J13L,PDstandard4th1gyy,kmadd(J23L,PDstandard4th2gyy,kmul(J33L,PDstandard4th3gyy))); + + JacPDstandard4th3gyz = + kmadd(J13L,PDstandard4th1gyz,kmadd(J23L,PDstandard4th2gyz,kmul(J33L,PDstandard4th3gyz))); + + JacPDstandard4th3gzz = + kmadd(J13L,PDstandard4th1gzz,kmadd(J23L,PDstandard4th2gzz,kmul(J33L,PDstandard4th3gzz))); + + JacPDstandard4th3kxx = + kmadd(J13L,PDstandard4th1kxx,kmadd(J23L,PDstandard4th2kxx,kmul(J33L,PDstandard4th3kxx))); + + JacPDstandard4th3kxy = + kmadd(J13L,PDstandard4th1kxy,kmadd(J23L,PDstandard4th2kxy,kmul(J33L,PDstandard4th3kxy))); + + JacPDstandard4th3kxz = + kmadd(J13L,PDstandard4th1kxz,kmadd(J23L,PDstandard4th2kxz,kmul(J33L,PDstandard4th3kxz))); + + JacPDstandard4th3kyy = + kmadd(J13L,PDstandard4th1kyy,kmadd(J23L,PDstandard4th2kyy,kmul(J33L,PDstandard4th3kyy))); + + JacPDstandard4th3kyz = + kmadd(J13L,PDstandard4th1kyz,kmadd(J23L,PDstandard4th2kyz,kmul(J33L,PDstandard4th3kyz))); + + JacPDstandard4th11gxy = + kmadd(dJ111L,PDstandard4th1gxy,kmadd(dJ211L,PDstandard4th2gxy,kmadd(dJ311L,PDstandard4th3gxy,kmadd(PDstandard4th11gxy,SQR(J11L),kmadd(PDstandard4th22gxy,SQR(J21L),kmadd(PDstandard4th33gxy,SQR(J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandard4th12gxy,kmul(J31L,PDstandard4th13gxy)),kmul(J21L,kmul(J31L,PDstandard4th23gxy))),ToReal(2)))))))); + + JacPDstandard4th11gxz = + kmadd(dJ111L,PDstandard4th1gxz,kmadd(dJ211L,PDstandard4th2gxz,kmadd(dJ311L,PDstandard4th3gxz,kmadd(PDstandard4th11gxz,SQR(J11L),kmadd(PDstandard4th22gxz,SQR(J21L),kmadd(PDstandard4th33gxz,SQR(J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandard4th12gxz,kmul(J31L,PDstandard4th13gxz)),kmul(J21L,kmul(J31L,PDstandard4th23gxz))),ToReal(2)))))))); + + JacPDstandard4th11gyy = + kmadd(dJ111L,PDstandard4th1gyy,kmadd(dJ211L,PDstandard4th2gyy,kmadd(dJ311L,PDstandard4th3gyy,kmadd(PDstandard4th11gyy,SQR(J11L),kmadd(PDstandard4th22gyy,SQR(J21L),kmadd(PDstandard4th33gyy,SQR(J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandard4th12gyy,kmul(J31L,PDstandard4th13gyy)),kmul(J21L,kmul(J31L,PDstandard4th23gyy))),ToReal(2)))))))); + + JacPDstandard4th11gyz = + kmadd(dJ111L,PDstandard4th1gyz,kmadd(dJ211L,PDstandard4th2gyz,kmadd(dJ311L,PDstandard4th3gyz,kmadd(PDstandard4th11gyz,SQR(J11L),kmadd(PDstandard4th22gyz,SQR(J21L),kmadd(PDstandard4th33gyz,SQR(J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandard4th12gyz,kmul(J31L,PDstandard4th13gyz)),kmul(J21L,kmul(J31L,PDstandard4th23gyz))),ToReal(2)))))))); + + JacPDstandard4th11gzz = + kmadd(dJ111L,PDstandard4th1gzz,kmadd(dJ211L,PDstandard4th2gzz,kmadd(dJ311L,PDstandard4th3gzz,kmadd(PDstandard4th11gzz,SQR(J11L),kmadd(PDstandard4th22gzz,SQR(J21L),kmadd(PDstandard4th33gzz,SQR(J31L),kmul(kmadd(J11L,kmadd(J21L,PDstandard4th12gzz,kmul(J31L,PDstandard4th13gzz)),kmul(J21L,kmul(J31L,PDstandard4th23gzz))),ToReal(2)))))))); + + JacPDstandard4th22gxx = + kmadd(dJ122L,PDstandard4th1gxx,kmadd(dJ222L,PDstandard4th2gxx,kmadd(dJ322L,PDstandard4th3gxx,kmadd(PDstandard4th11gxx,SQR(J12L),kmadd(PDstandard4th22gxx,SQR(J22L),kmadd(PDstandard4th33gxx,SQR(J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandard4th12gxx,kmul(J32L,PDstandard4th13gxx)),kmul(J22L,kmul(J32L,PDstandard4th23gxx))),ToReal(2)))))))); + + JacPDstandard4th22gxy = + kmadd(dJ122L,PDstandard4th1gxy,kmadd(dJ222L,PDstandard4th2gxy,kmadd(dJ322L,PDstandard4th3gxy,kmadd(PDstandard4th11gxy,SQR(J12L),kmadd(PDstandard4th22gxy,SQR(J22L),kmadd(PDstandard4th33gxy,SQR(J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandard4th12gxy,kmul(J32L,PDstandard4th13gxy)),kmul(J22L,kmul(J32L,PDstandard4th23gxy))),ToReal(2)))))))); + + JacPDstandard4th22gxz = + kmadd(dJ122L,PDstandard4th1gxz,kmadd(dJ222L,PDstandard4th2gxz,kmadd(dJ322L,PDstandard4th3gxz,kmadd(PDstandard4th11gxz,SQR(J12L),kmadd(PDstandard4th22gxz,SQR(J22L),kmadd(PDstandard4th33gxz,SQR(J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandard4th12gxz,kmul(J32L,PDstandard4th13gxz)),kmul(J22L,kmul(J32L,PDstandard4th23gxz))),ToReal(2)))))))); + + JacPDstandard4th22gyz = + kmadd(dJ122L,PDstandard4th1gyz,kmadd(dJ222L,PDstandard4th2gyz,kmadd(dJ322L,PDstandard4th3gyz,kmadd(PDstandard4th11gyz,SQR(J12L),kmadd(PDstandard4th22gyz,SQR(J22L),kmadd(PDstandard4th33gyz,SQR(J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandard4th12gyz,kmul(J32L,PDstandard4th13gyz)),kmul(J22L,kmul(J32L,PDstandard4th23gyz))),ToReal(2)))))))); + + JacPDstandard4th22gzz = + kmadd(dJ122L,PDstandard4th1gzz,kmadd(dJ222L,PDstandard4th2gzz,kmadd(dJ322L,PDstandard4th3gzz,kmadd(PDstandard4th11gzz,SQR(J12L),kmadd(PDstandard4th22gzz,SQR(J22L),kmadd(PDstandard4th33gzz,SQR(J32L),kmul(kmadd(J12L,kmadd(J22L,PDstandard4th12gzz,kmul(J32L,PDstandard4th13gzz)),kmul(J22L,kmul(J32L,PDstandard4th23gzz))),ToReal(2)))))))); + + JacPDstandard4th33gxx = + kmadd(dJ133L,PDstandard4th1gxx,kmadd(dJ233L,PDstandard4th2gxx,kmadd(dJ333L,PDstandard4th3gxx,kmadd(PDstandard4th11gxx,SQR(J13L),kmadd(PDstandard4th22gxx,SQR(J23L),kmadd(PDstandard4th33gxx,SQR(J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandard4th12gxx,kmul(J33L,PDstandard4th13gxx)),kmul(J23L,kmul(J33L,PDstandard4th23gxx))),ToReal(2)))))))); + + JacPDstandard4th33gxy = + kmadd(dJ133L,PDstandard4th1gxy,kmadd(dJ233L,PDstandard4th2gxy,kmadd(dJ333L,PDstandard4th3gxy,kmadd(PDstandard4th11gxy,SQR(J13L),kmadd(PDstandard4th22gxy,SQR(J23L),kmadd(PDstandard4th33gxy,SQR(J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandard4th12gxy,kmul(J33L,PDstandard4th13gxy)),kmul(J23L,kmul(J33L,PDstandard4th23gxy))),ToReal(2)))))))); + + JacPDstandard4th33gxz = + kmadd(dJ133L,PDstandard4th1gxz,kmadd(dJ233L,PDstandard4th2gxz,kmadd(dJ333L,PDstandard4th3gxz,kmadd(PDstandard4th11gxz,SQR(J13L),kmadd(PDstandard4th22gxz,SQR(J23L),kmadd(PDstandard4th33gxz,SQR(J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandard4th12gxz,kmul(J33L,PDstandard4th13gxz)),kmul(J23L,kmul(J33L,PDstandard4th23gxz))),ToReal(2)))))))); + + JacPDstandard4th33gyy = + kmadd(dJ133L,PDstandard4th1gyy,kmadd(dJ233L,PDstandard4th2gyy,kmadd(dJ333L,PDstandard4th3gyy,kmadd(PDstandard4th11gyy,SQR(J13L),kmadd(PDstandard4th22gyy,SQR(J23L),kmadd(PDstandard4th33gyy,SQR(J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandard4th12gyy,kmul(J33L,PDstandard4th13gyy)),kmul(J23L,kmul(J33L,PDstandard4th23gyy))),ToReal(2)))))))); + + JacPDstandard4th33gyz = + kmadd(dJ133L,PDstandard4th1gyz,kmadd(dJ233L,PDstandard4th2gyz,kmadd(dJ333L,PDstandard4th3gyz,kmadd(PDstandard4th11gyz,SQR(J13L),kmadd(PDstandard4th22gyz,SQR(J23L),kmadd(PDstandard4th33gyz,SQR(J33L),kmul(kmadd(J13L,kmadd(J23L,PDstandard4th12gyz,kmul(J33L,PDstandard4th13gyz)),kmul(J23L,kmul(J33L,PDstandard4th23gyz))),ToReal(2)))))))); + + JacPDstandard4th12gxx = + kmadd(J12L,kmadd(J11L,PDstandard4th11gxx,kmadd(J21L,PDstandard4th12gxx,kmul(J31L,PDstandard4th13gxx))),kmadd(J11L,kmadd(J22L,PDstandard4th12gxx,kmul(J32L,PDstandard4th13gxx)),kmadd(dJ112L,PDstandard4th1gxx,kmadd(J22L,kmadd(J21L,PDstandard4th22gxx,kmul(J31L,PDstandard4th23gxx)),kmadd(dJ212L,PDstandard4th2gxx,kmadd(J32L,kmadd(J21L,PDstandard4th23gxx,kmul(J31L,PDstandard4th33gxx)),kmul(dJ312L,PDstandard4th3gxx))))))); + + JacPDstandard4th12gxy = + kmadd(J12L,kmadd(J11L,PDstandard4th11gxy,kmadd(J21L,PDstandard4th12gxy,kmul(J31L,PDstandard4th13gxy))),kmadd(J11L,kmadd(J22L,PDstandard4th12gxy,kmul(J32L,PDstandard4th13gxy)),kmadd(dJ112L,PDstandard4th1gxy,kmadd(J22L,kmadd(J21L,PDstandard4th22gxy,kmul(J31L,PDstandard4th23gxy)),kmadd(dJ212L,PDstandard4th2gxy,kmadd(J32L,kmadd(J21L,PDstandard4th23gxy,kmul(J31L,PDstandard4th33gxy)),kmul(dJ312L,PDstandard4th3gxy))))))); + + JacPDstandard4th12gxz = + kmadd(J12L,kmadd(J11L,PDstandard4th11gxz,kmadd(J21L,PDstandard4th12gxz,kmul(J31L,PDstandard4th13gxz))),kmadd(J11L,kmadd(J22L,PDstandard4th12gxz,kmul(J32L,PDstandard4th13gxz)),kmadd(dJ112L,PDstandard4th1gxz,kmadd(J22L,kmadd(J21L,PDstandard4th22gxz,kmul(J31L,PDstandard4th23gxz)),kmadd(dJ212L,PDstandard4th2gxz,kmadd(J32L,kmadd(J21L,PDstandard4th23gxz,kmul(J31L,PDstandard4th33gxz)),kmul(dJ312L,PDstandard4th3gxz))))))); + + JacPDstandard4th12gyy = + kmadd(J12L,kmadd(J11L,PDstandard4th11gyy,kmadd(J21L,PDstandard4th12gyy,kmul(J31L,PDstandard4th13gyy))),kmadd(J11L,kmadd(J22L,PDstandard4th12gyy,kmul(J32L,PDstandard4th13gyy)),kmadd(dJ112L,PDstandard4th1gyy,kmadd(J22L,kmadd(J21L,PDstandard4th22gyy,kmul(J31L,PDstandard4th23gyy)),kmadd(dJ212L,PDstandard4th2gyy,kmadd(J32L,kmadd(J21L,PDstandard4th23gyy,kmul(J31L,PDstandard4th33gyy)),kmul(dJ312L,PDstandard4th3gyy))))))); + + JacPDstandard4th12gyz = + kmadd(J12L,kmadd(J11L,PDstandard4th11gyz,kmadd(J21L,PDstandard4th12gyz,kmul(J31L,PDstandard4th13gyz))),kmadd(J11L,kmadd(J22L,PDstandard4th12gyz,kmul(J32L,PDstandard4th13gyz)),kmadd(dJ112L,PDstandard4th1gyz,kmadd(J22L,kmadd(J21L,PDstandard4th22gyz,kmul(J31L,PDstandard4th23gyz)),kmadd(dJ212L,PDstandard4th2gyz,kmadd(J32L,kmadd(J21L,PDstandard4th23gyz,kmul(J31L,PDstandard4th33gyz)),kmul(dJ312L,PDstandard4th3gyz))))))); + + JacPDstandard4th12gzz = + kmadd(J12L,kmadd(J11L,PDstandard4th11gzz,kmadd(J21L,PDstandard4th12gzz,kmul(J31L,PDstandard4th13gzz))),kmadd(J11L,kmadd(J22L,PDstandard4th12gzz,kmul(J32L,PDstandard4th13gzz)),kmadd(dJ112L,PDstandard4th1gzz,kmadd(J22L,kmadd(J21L,PDstandard4th22gzz,kmul(J31L,PDstandard4th23gzz)),kmadd(dJ212L,PDstandard4th2gzz,kmadd(J32L,kmadd(J21L,PDstandard4th23gzz,kmul(J31L,PDstandard4th33gzz)),kmul(dJ312L,PDstandard4th3gzz))))))); + + JacPDstandard4th13gxx = + kmadd(J13L,kmadd(J11L,PDstandard4th11gxx,kmadd(J21L,PDstandard4th12gxx,kmul(J31L,PDstandard4th13gxx))),kmadd(J11L,kmadd(J23L,PDstandard4th12gxx,kmul(J33L,PDstandard4th13gxx)),kmadd(dJ113L,PDstandard4th1gxx,kmadd(J23L,kmadd(J21L,PDstandard4th22gxx,kmul(J31L,PDstandard4th23gxx)),kmadd(dJ213L,PDstandard4th2gxx,kmadd(J33L,kmadd(J21L,PDstandard4th23gxx,kmul(J31L,PDstandard4th33gxx)),kmul(dJ313L,PDstandard4th3gxx))))))); + + JacPDstandard4th13gxy = + kmadd(J13L,kmadd(J11L,PDstandard4th11gxy,kmadd(J21L,PDstandard4th12gxy,kmul(J31L,PDstandard4th13gxy))),kmadd(J11L,kmadd(J23L,PDstandard4th12gxy,kmul(J33L,PDstandard4th13gxy)),kmadd(dJ113L,PDstandard4th1gxy,kmadd(J23L,kmadd(J21L,PDstandard4th22gxy,kmul(J31L,PDstandard4th23gxy)),kmadd(dJ213L,PDstandard4th2gxy,kmadd(J33L,kmadd(J21L,PDstandard4th23gxy,kmul(J31L,PDstandard4th33gxy)),kmul(dJ313L,PDstandard4th3gxy))))))); + + JacPDstandard4th13gxz = + kmadd(J13L,kmadd(J11L,PDstandard4th11gxz,kmadd(J21L,PDstandard4th12gxz,kmul(J31L,PDstandard4th13gxz))),kmadd(J11L,kmadd(J23L,PDstandard4th12gxz,kmul(J33L,PDstandard4th13gxz)),kmadd(dJ113L,PDstandard4th1gxz,kmadd(J23L,kmadd(J21L,PDstandard4th22gxz,kmul(J31L,PDstandard4th23gxz)),kmadd(dJ213L,PDstandard4th2gxz,kmadd(J33L,kmadd(J21L,PDstandard4th23gxz,kmul(J31L,PDstandard4th33gxz)),kmul(dJ313L,PDstandard4th3gxz))))))); + + JacPDstandard4th13gyy = + kmadd(J13L,kmadd(J11L,PDstandard4th11gyy,kmadd(J21L,PDstandard4th12gyy,kmul(J31L,PDstandard4th13gyy))),kmadd(J11L,kmadd(J23L,PDstandard4th12gyy,kmul(J33L,PDstandard4th13gyy)),kmadd(dJ113L,PDstandard4th1gyy,kmadd(J23L,kmadd(J21L,PDstandard4th22gyy,kmul(J31L,PDstandard4th23gyy)),kmadd(dJ213L,PDstandard4th2gyy,kmadd(J33L,kmadd(J21L,PDstandard4th23gyy,kmul(J31L,PDstandard4th33gyy)),kmul(dJ313L,PDstandard4th3gyy))))))); + + JacPDstandard4th13gyz = + kmadd(J13L,kmadd(J11L,PDstandard4th11gyz,kmadd(J21L,PDstandard4th12gyz,kmul(J31L,PDstandard4th13gyz))),kmadd(J11L,kmadd(J23L,PDstandard4th12gyz,kmul(J33L,PDstandard4th13gyz)),kmadd(dJ113L,PDstandard4th1gyz,kmadd(J23L,kmadd(J21L,PDstandard4th22gyz,kmul(J31L,PDstandard4th23gyz)),kmadd(dJ213L,PDstandard4th2gyz,kmadd(J33L,kmadd(J21L,PDstandard4th23gyz,kmul(J31L,PDstandard4th33gyz)),kmul(dJ313L,PDstandard4th3gyz))))))); + + JacPDstandard4th13gzz = + kmadd(J13L,kmadd(J11L,PDstandard4th11gzz,kmadd(J21L,PDstandard4th12gzz,kmul(J31L,PDstandard4th13gzz))),kmadd(J11L,kmadd(J23L,PDstandard4th12gzz,kmul(J33L,PDstandard4th13gzz)),kmadd(dJ113L,PDstandard4th1gzz,kmadd(J23L,kmadd(J21L,PDstandard4th22gzz,kmul(J31L,PDstandard4th23gzz)),kmadd(dJ213L,PDstandard4th2gzz,kmadd(J33L,kmadd(J21L,PDstandard4th23gzz,kmul(J31L,PDstandard4th33gzz)),kmul(dJ313L,PDstandard4th3gzz))))))); + + JacPDstandard4th21gxx = + kmadd(J12L,kmadd(J11L,PDstandard4th11gxx,kmadd(J21L,PDstandard4th12gxx,kmul(J31L,PDstandard4th13gxx))),kmadd(J11L,kmadd(J22L,PDstandard4th12gxx,kmul(J32L,PDstandard4th13gxx)),kmadd(dJ112L,PDstandard4th1gxx,kmadd(J22L,kmadd(J21L,PDstandard4th22gxx,kmul(J31L,PDstandard4th23gxx)),kmadd(dJ212L,PDstandard4th2gxx,kmadd(J32L,kmadd(J21L,PDstandard4th23gxx,kmul(J31L,PDstandard4th33gxx)),kmul(dJ312L,PDstandard4th3gxx))))))); + + JacPDstandard4th21gxy = + kmadd(J12L,kmadd(J11L,PDstandard4th11gxy,kmadd(J21L,PDstandard4th12gxy,kmul(J31L,PDstandard4th13gxy))),kmadd(J11L,kmadd(J22L,PDstandard4th12gxy,kmul(J32L,PDstandard4th13gxy)),kmadd(dJ112L,PDstandard4th1gxy,kmadd(J22L,kmadd(J21L,PDstandard4th22gxy,kmul(J31L,PDstandard4th23gxy)),kmadd(dJ212L,PDstandard4th2gxy,kmadd(J32L,kmadd(J21L,PDstandard4th23gxy,kmul(J31L,PDstandard4th33gxy)),kmul(dJ312L,PDstandard4th3gxy))))))); + + JacPDstandard4th21gxz = + kmadd(J12L,kmadd(J11L,PDstandard4th11gxz,kmadd(J21L,PDstandard4th12gxz,kmul(J31L,PDstandard4th13gxz))),kmadd(J11L,kmadd(J22L,PDstandard4th12gxz,kmul(J32L,PDstandard4th13gxz)),kmadd(dJ112L,PDstandard4th1gxz,kmadd(J22L,kmadd(J21L,PDstandard4th22gxz,kmul(J31L,PDstandard4th23gxz)),kmadd(dJ212L,PDstandard4th2gxz,kmadd(J32L,kmadd(J21L,PDstandard4th23gxz,kmul(J31L,PDstandard4th33gxz)),kmul(dJ312L,PDstandard4th3gxz))))))); + + JacPDstandard4th21gyy = + kmadd(J12L,kmadd(J11L,PDstandard4th11gyy,kmadd(J21L,PDstandard4th12gyy,kmul(J31L,PDstandard4th13gyy))),kmadd(J11L,kmadd(J22L,PDstandard4th12gyy,kmul(J32L,PDstandard4th13gyy)),kmadd(dJ112L,PDstandard4th1gyy,kmadd(J22L,kmadd(J21L,PDstandard4th22gyy,kmul(J31L,PDstandard4th23gyy)),kmadd(dJ212L,PDstandard4th2gyy,kmadd(J32L,kmadd(J21L,PDstandard4th23gyy,kmul(J31L,PDstandard4th33gyy)),kmul(dJ312L,PDstandard4th3gyy))))))); + + JacPDstandard4th21gyz = + kmadd(J12L,kmadd(J11L,PDstandard4th11gyz,kmadd(J21L,PDstandard4th12gyz,kmul(J31L,PDstandard4th13gyz))),kmadd(J11L,kmadd(J22L,PDstandard4th12gyz,kmul(J32L,PDstandard4th13gyz)),kmadd(dJ112L,PDstandard4th1gyz,kmadd(J22L,kmadd(J21L,PDstandard4th22gyz,kmul(J31L,PDstandard4th23gyz)),kmadd(dJ212L,PDstandard4th2gyz,kmadd(J32L,kmadd(J21L,PDstandard4th23gyz,kmul(J31L,PDstandard4th33gyz)),kmul(dJ312L,PDstandard4th3gyz))))))); + + JacPDstandard4th21gzz = + kmadd(J12L,kmadd(J11L,PDstandard4th11gzz,kmadd(J21L,PDstandard4th12gzz,kmul(J31L,PDstandard4th13gzz))),kmadd(J11L,kmadd(J22L,PDstandard4th12gzz,kmul(J32L,PDstandard4th13gzz)),kmadd(dJ112L,PDstandard4th1gzz,kmadd(J22L,kmadd(J21L,PDstandard4th22gzz,kmul(J31L,PDstandard4th23gzz)),kmadd(dJ212L,PDstandard4th2gzz,kmadd(J32L,kmadd(J21L,PDstandard4th23gzz,kmul(J31L,PDstandard4th33gzz)),kmul(dJ312L,PDstandard4th3gzz))))))); + + JacPDstandard4th23gxx = + kmadd(J13L,kmadd(J12L,PDstandard4th11gxx,kmadd(J22L,PDstandard4th12gxx,kmul(J32L,PDstandard4th13gxx))),kmadd(J12L,kmadd(J23L,PDstandard4th12gxx,kmul(J33L,PDstandard4th13gxx)),kmadd(dJ123L,PDstandard4th1gxx,kmadd(J23L,kmadd(J22L,PDstandard4th22gxx,kmul(J32L,PDstandard4th23gxx)),kmadd(dJ223L,PDstandard4th2gxx,kmadd(J33L,kmadd(J22L,PDstandard4th23gxx,kmul(J32L,PDstandard4th33gxx)),kmul(dJ323L,PDstandard4th3gxx))))))); + + JacPDstandard4th23gxy = + kmadd(J13L,kmadd(J12L,PDstandard4th11gxy,kmadd(J22L,PDstandard4th12gxy,kmul(J32L,PDstandard4th13gxy))),kmadd(J12L,kmadd(J23L,PDstandard4th12gxy,kmul(J33L,PDstandard4th13gxy)),kmadd(dJ123L,PDstandard4th1gxy,kmadd(J23L,kmadd(J22L,PDstandard4th22gxy,kmul(J32L,PDstandard4th23gxy)),kmadd(dJ223L,PDstandard4th2gxy,kmadd(J33L,kmadd(J22L,PDstandard4th23gxy,kmul(J32L,PDstandard4th33gxy)),kmul(dJ323L,PDstandard4th3gxy))))))); + + JacPDstandard4th23gxz = + kmadd(J13L,kmadd(J12L,PDstandard4th11gxz,kmadd(J22L,PDstandard4th12gxz,kmul(J32L,PDstandard4th13gxz))),kmadd(J12L,kmadd(J23L,PDstandard4th12gxz,kmul(J33L,PDstandard4th13gxz)),kmadd(dJ123L,PDstandard4th1gxz,kmadd(J23L,kmadd(J22L,PDstandard4th22gxz,kmul(J32L,PDstandard4th23gxz)),kmadd(dJ223L,PDstandard4th2gxz,kmadd(J33L,kmadd(J22L,PDstandard4th23gxz,kmul(J32L,PDstandard4th33gxz)),kmul(dJ323L,PDstandard4th3gxz))))))); + + JacPDstandard4th23gyy = + kmadd(J13L,kmadd(J12L,PDstandard4th11gyy,kmadd(J22L,PDstandard4th12gyy,kmul(J32L,PDstandard4th13gyy))),kmadd(J12L,kmadd(J23L,PDstandard4th12gyy,kmul(J33L,PDstandard4th13gyy)),kmadd(dJ123L,PDstandard4th1gyy,kmadd(J23L,kmadd(J22L,PDstandard4th22gyy,kmul(J32L,PDstandard4th23gyy)),kmadd(dJ223L,PDstandard4th2gyy,kmadd(J33L,kmadd(J22L,PDstandard4th23gyy,kmul(J32L,PDstandard4th33gyy)),kmul(dJ323L,PDstandard4th3gyy))))))); + + JacPDstandard4th23gyz = + kmadd(J13L,kmadd(J12L,PDstandard4th11gyz,kmadd(J22L,PDstandard4th12gyz,kmul(J32L,PDstandard4th13gyz))),kmadd(J12L,kmadd(J23L,PDstandard4th12gyz,kmul(J33L,PDstandard4th13gyz)),kmadd(dJ123L,PDstandard4th1gyz,kmadd(J23L,kmadd(J22L,PDstandard4th22gyz,kmul(J32L,PDstandard4th23gyz)),kmadd(dJ223L,PDstandard4th2gyz,kmadd(J33L,kmadd(J22L,PDstandard4th23gyz,kmul(J32L,PDstandard4th33gyz)),kmul(dJ323L,PDstandard4th3gyz))))))); + + JacPDstandard4th23gzz = + kmadd(J13L,kmadd(J12L,PDstandard4th11gzz,kmadd(J22L,PDstandard4th12gzz,kmul(J32L,PDstandard4th13gzz))),kmadd(J12L,kmadd(J23L,PDstandard4th12gzz,kmul(J33L,PDstandard4th13gzz)),kmadd(dJ123L,PDstandard4th1gzz,kmadd(J23L,kmadd(J22L,PDstandard4th22gzz,kmul(J32L,PDstandard4th23gzz)),kmadd(dJ223L,PDstandard4th2gzz,kmadd(J33L,kmadd(J22L,PDstandard4th23gzz,kmul(J32L,PDstandard4th33gzz)),kmul(dJ323L,PDstandard4th3gzz))))))); + + JacPDstandard4th31gxx = + kmadd(J13L,kmadd(J11L,PDstandard4th11gxx,kmadd(J21L,PDstandard4th12gxx,kmul(J31L,PDstandard4th13gxx))),kmadd(J11L,kmadd(J23L,PDstandard4th12gxx,kmul(J33L,PDstandard4th13gxx)),kmadd(dJ113L,PDstandard4th1gxx,kmadd(J23L,kmadd(J21L,PDstandard4th22gxx,kmul(J31L,PDstandard4th23gxx)),kmadd(dJ213L,PDstandard4th2gxx,kmadd(J33L,kmadd(J21L,PDstandard4th23gxx,kmul(J31L,PDstandard4th33gxx)),kmul(dJ313L,PDstandard4th3gxx))))))); + + JacPDstandard4th31gxy = + kmadd(J13L,kmadd(J11L,PDstandard4th11gxy,kmadd(J21L,PDstandard4th12gxy,kmul(J31L,PDstandard4th13gxy))),kmadd(J11L,kmadd(J23L,PDstandard4th12gxy,kmul(J33L,PDstandard4th13gxy)),kmadd(dJ113L,PDstandard4th1gxy,kmadd(J23L,kmadd(J21L,PDstandard4th22gxy,kmul(J31L,PDstandard4th23gxy)),kmadd(dJ213L,PDstandard4th2gxy,kmadd(J33L,kmadd(J21L,PDstandard4th23gxy,kmul(J31L,PDstandard4th33gxy)),kmul(dJ313L,PDstandard4th3gxy))))))); + + JacPDstandard4th31gxz = + kmadd(J13L,kmadd(J11L,PDstandard4th11gxz,kmadd(J21L,PDstandard4th12gxz,kmul(J31L,PDstandard4th13gxz))),kmadd(J11L,kmadd(J23L,PDstandard4th12gxz,kmul(J33L,PDstandard4th13gxz)),kmadd(dJ113L,PDstandard4th1gxz,kmadd(J23L,kmadd(J21L,PDstandard4th22gxz,kmul(J31L,PDstandard4th23gxz)),kmadd(dJ213L,PDstandard4th2gxz,kmadd(J33L,kmadd(J21L,PDstandard4th23gxz,kmul(J31L,PDstandard4th33gxz)),kmul(dJ313L,PDstandard4th3gxz))))))); + + JacPDstandard4th31gyy = + kmadd(J13L,kmadd(J11L,PDstandard4th11gyy,kmadd(J21L,PDstandard4th12gyy,kmul(J31L,PDstandard4th13gyy))),kmadd(J11L,kmadd(J23L,PDstandard4th12gyy,kmul(J33L,PDstandard4th13gyy)),kmadd(dJ113L,PDstandard4th1gyy,kmadd(J23L,kmadd(J21L,PDstandard4th22gyy,kmul(J31L,PDstandard4th23gyy)),kmadd(dJ213L,PDstandard4th2gyy,kmadd(J33L,kmadd(J21L,PDstandard4th23gyy,kmul(J31L,PDstandard4th33gyy)),kmul(dJ313L,PDstandard4th3gyy))))))); + + JacPDstandard4th31gyz = + kmadd(J13L,kmadd(J11L,PDstandard4th11gyz,kmadd(J21L,PDstandard4th12gyz,kmul(J31L,PDstandard4th13gyz))),kmadd(J11L,kmadd(J23L,PDstandard4th12gyz,kmul(J33L,PDstandard4th13gyz)),kmadd(dJ113L,PDstandard4th1gyz,kmadd(J23L,kmadd(J21L,PDstandard4th22gyz,kmul(J31L,PDstandard4th23gyz)),kmadd(dJ213L,PDstandard4th2gyz,kmadd(J33L,kmadd(J21L,PDstandard4th23gyz,kmul(J31L,PDstandard4th33gyz)),kmul(dJ313L,PDstandard4th3gyz))))))); + + JacPDstandard4th31gzz = + kmadd(J13L,kmadd(J11L,PDstandard4th11gzz,kmadd(J21L,PDstandard4th12gzz,kmul(J31L,PDstandard4th13gzz))),kmadd(J11L,kmadd(J23L,PDstandard4th12gzz,kmul(J33L,PDstandard4th13gzz)),kmadd(dJ113L,PDstandard4th1gzz,kmadd(J23L,kmadd(J21L,PDstandard4th22gzz,kmul(J31L,PDstandard4th23gzz)),kmadd(dJ213L,PDstandard4th2gzz,kmadd(J33L,kmadd(J21L,PDstandard4th23gzz,kmul(J31L,PDstandard4th33gzz)),kmul(dJ313L,PDstandard4th3gzz))))))); + + JacPDstandard4th32gxx = + kmadd(J13L,kmadd(J12L,PDstandard4th11gxx,kmadd(J22L,PDstandard4th12gxx,kmul(J32L,PDstandard4th13gxx))),kmadd(J12L,kmadd(J23L,PDstandard4th12gxx,kmul(J33L,PDstandard4th13gxx)),kmadd(dJ123L,PDstandard4th1gxx,kmadd(J23L,kmadd(J22L,PDstandard4th22gxx,kmul(J32L,PDstandard4th23gxx)),kmadd(dJ223L,PDstandard4th2gxx,kmadd(J33L,kmadd(J22L,PDstandard4th23gxx,kmul(J32L,PDstandard4th33gxx)),kmul(dJ323L,PDstandard4th3gxx))))))); + + JacPDstandard4th32gxy = + kmadd(J13L,kmadd(J12L,PDstandard4th11gxy,kmadd(J22L,PDstandard4th12gxy,kmul(J32L,PDstandard4th13gxy))),kmadd(J12L,kmadd(J23L,PDstandard4th12gxy,kmul(J33L,PDstandard4th13gxy)),kmadd(dJ123L,PDstandard4th1gxy,kmadd(J23L,kmadd(J22L,PDstandard4th22gxy,kmul(J32L,PDstandard4th23gxy)),kmadd(dJ223L,PDstandard4th2gxy,kmadd(J33L,kmadd(J22L,PDstandard4th23gxy,kmul(J32L,PDstandard4th33gxy)),kmul(dJ323L,PDstandard4th3gxy))))))); + + JacPDstandard4th32gxz = + kmadd(J13L,kmadd(J12L,PDstandard4th11gxz,kmadd(J22L,PDstandard4th12gxz,kmul(J32L,PDstandard4th13gxz))),kmadd(J12L,kmadd(J23L,PDstandard4th12gxz,kmul(J33L,PDstandard4th13gxz)),kmadd(dJ123L,PDstandard4th1gxz,kmadd(J23L,kmadd(J22L,PDstandard4th22gxz,kmul(J32L,PDstandard4th23gxz)),kmadd(dJ223L,PDstandard4th2gxz,kmadd(J33L,kmadd(J22L,PDstandard4th23gxz,kmul(J32L,PDstandard4th33gxz)),kmul(dJ323L,PDstandard4th3gxz))))))); + + JacPDstandard4th32gyy = + kmadd(J13L,kmadd(J12L,PDstandard4th11gyy,kmadd(J22L,PDstandard4th12gyy,kmul(J32L,PDstandard4th13gyy))),kmadd(J12L,kmadd(J23L,PDstandard4th12gyy,kmul(J33L,PDstandard4th13gyy)),kmadd(dJ123L,PDstandard4th1gyy,kmadd(J23L,kmadd(J22L,PDstandard4th22gyy,kmul(J32L,PDstandard4th23gyy)),kmadd(dJ223L,PDstandard4th2gyy,kmadd(J33L,kmadd(J22L,PDstandard4th23gyy,kmul(J32L,PDstandard4th33gyy)),kmul(dJ323L,PDstandard4th3gyy))))))); + + JacPDstandard4th32gyz = + kmadd(J13L,kmadd(J12L,PDstandard4th11gyz,kmadd(J22L,PDstandard4th12gyz,kmul(J32L,PDstandard4th13gyz))),kmadd(J12L,kmadd(J23L,PDstandard4th12gyz,kmul(J33L,PDstandard4th13gyz)),kmadd(dJ123L,PDstandard4th1gyz,kmadd(J23L,kmadd(J22L,PDstandard4th22gyz,kmul(J32L,PDstandard4th23gyz)),kmadd(dJ223L,PDstandard4th2gyz,kmadd(J33L,kmadd(J22L,PDstandard4th23gyz,kmul(J32L,PDstandard4th33gyz)),kmul(dJ323L,PDstandard4th3gyz))))))); + + JacPDstandard4th32gzz = + kmadd(J13L,kmadd(J12L,PDstandard4th11gzz,kmadd(J22L,PDstandard4th12gzz,kmul(J32L,PDstandard4th13gzz))),kmadd(J12L,kmadd(J23L,PDstandard4th12gzz,kmul(J33L,PDstandard4th13gzz)),kmadd(dJ123L,PDstandard4th1gzz,kmadd(J23L,kmadd(J22L,PDstandard4th22gzz,kmul(J32L,PDstandard4th23gzz)),kmadd(dJ223L,PDstandard4th2gzz,kmadd(J33L,kmadd(J22L,PDstandard4th23gzz,kmul(J32L,PDstandard4th33gzz)),kmul(dJ323L,PDstandard4th3gzz))))))); + } + else + { + JacPDstandard4th1gxx = PDstandard4th1gxx; + + JacPDstandard4th1gxy = PDstandard4th1gxy; + + JacPDstandard4th1gxz = PDstandard4th1gxz; + + JacPDstandard4th1gyy = PDstandard4th1gyy; + + JacPDstandard4th1gyz = PDstandard4th1gyz; + + JacPDstandard4th1gzz = PDstandard4th1gzz; + + JacPDstandard4th1kxy = PDstandard4th1kxy; + + JacPDstandard4th1kxz = PDstandard4th1kxz; + + JacPDstandard4th1kyy = PDstandard4th1kyy; + + JacPDstandard4th1kyz = PDstandard4th1kyz; + + JacPDstandard4th1kzz = PDstandard4th1kzz; + + JacPDstandard4th2gxx = PDstandard4th2gxx; + + JacPDstandard4th2gxy = PDstandard4th2gxy; + + JacPDstandard4th2gxz = PDstandard4th2gxz; + + JacPDstandard4th2gyy = PDstandard4th2gyy; + + JacPDstandard4th2gyz = PDstandard4th2gyz; + + JacPDstandard4th2gzz = PDstandard4th2gzz; + + JacPDstandard4th2kxx = PDstandard4th2kxx; + + JacPDstandard4th2kxy = PDstandard4th2kxy; + + JacPDstandard4th2kxz = PDstandard4th2kxz; + + JacPDstandard4th2kyz = PDstandard4th2kyz; + + JacPDstandard4th2kzz = PDstandard4th2kzz; + + JacPDstandard4th3gxx = PDstandard4th3gxx; + + JacPDstandard4th3gxy = PDstandard4th3gxy; + + JacPDstandard4th3gxz = PDstandard4th3gxz; + + JacPDstandard4th3gyy = PDstandard4th3gyy; + + JacPDstandard4th3gyz = PDstandard4th3gyz; + + JacPDstandard4th3gzz = PDstandard4th3gzz; + + JacPDstandard4th3kxx = PDstandard4th3kxx; + + JacPDstandard4th3kxy = PDstandard4th3kxy; + + JacPDstandard4th3kxz = PDstandard4th3kxz; + + JacPDstandard4th3kyy = PDstandard4th3kyy; + + JacPDstandard4th3kyz = PDstandard4th3kyz; + + JacPDstandard4th11gxy = PDstandard4th11gxy; + + JacPDstandard4th11gxz = PDstandard4th11gxz; + + JacPDstandard4th11gyy = PDstandard4th11gyy; + + JacPDstandard4th11gyz = PDstandard4th11gyz; + + JacPDstandard4th11gzz = PDstandard4th11gzz; + + JacPDstandard4th22gxx = PDstandard4th22gxx; + + JacPDstandard4th22gxy = PDstandard4th22gxy; + + JacPDstandard4th22gxz = PDstandard4th22gxz; + + JacPDstandard4th22gyz = PDstandard4th22gyz; + + JacPDstandard4th22gzz = PDstandard4th22gzz; + + JacPDstandard4th33gxx = PDstandard4th33gxx; + + JacPDstandard4th33gxy = PDstandard4th33gxy; + + JacPDstandard4th33gxz = PDstandard4th33gxz; + + JacPDstandard4th33gyy = PDstandard4th33gyy; + + JacPDstandard4th33gyz = PDstandard4th33gyz; + + JacPDstandard4th12gxx = PDstandard4th12gxx; + + JacPDstandard4th12gxy = PDstandard4th12gxy; + + JacPDstandard4th12gxz = PDstandard4th12gxz; + + JacPDstandard4th12gyy = PDstandard4th12gyy; + + JacPDstandard4th12gyz = PDstandard4th12gyz; + + JacPDstandard4th12gzz = PDstandard4th12gzz; + + JacPDstandard4th13gxx = PDstandard4th13gxx; + + JacPDstandard4th13gxy = PDstandard4th13gxy; + + JacPDstandard4th13gxz = PDstandard4th13gxz; + + JacPDstandard4th13gyy = PDstandard4th13gyy; + + JacPDstandard4th13gyz = PDstandard4th13gyz; + + JacPDstandard4th13gzz = PDstandard4th13gzz; + + JacPDstandard4th21gxx = PDstandard4th12gxx; + + JacPDstandard4th21gxy = PDstandard4th12gxy; + + JacPDstandard4th21gxz = PDstandard4th12gxz; + + JacPDstandard4th21gyy = PDstandard4th12gyy; + + JacPDstandard4th21gyz = PDstandard4th12gyz; + + JacPDstandard4th21gzz = PDstandard4th12gzz; + + JacPDstandard4th23gxx = PDstandard4th23gxx; + + JacPDstandard4th23gxy = PDstandard4th23gxy; + + JacPDstandard4th23gxz = PDstandard4th23gxz; + + JacPDstandard4th23gyy = PDstandard4th23gyy; + + JacPDstandard4th23gyz = PDstandard4th23gyz; + + JacPDstandard4th23gzz = PDstandard4th23gzz; + + JacPDstandard4th31gxx = PDstandard4th13gxx; + + JacPDstandard4th31gxy = PDstandard4th13gxy; + + JacPDstandard4th31gxz = PDstandard4th13gxz; + + JacPDstandard4th31gyy = PDstandard4th13gyy; + + JacPDstandard4th31gyz = PDstandard4th13gyz; + + JacPDstandard4th31gzz = PDstandard4th13gzz; + + JacPDstandard4th32gxx = PDstandard4th23gxx; + + JacPDstandard4th32gxy = PDstandard4th23gxy; + + JacPDstandard4th32gxz = PDstandard4th23gxz; + + JacPDstandard4th32gyy = PDstandard4th23gyy; + + JacPDstandard4th32gyz = PDstandard4th23gyz; + + JacPDstandard4th32gzz = PDstandard4th23gzz; + } + + CCTK_REAL_VEC detg = + knmsub(gyyL,SQR(gxzL),knmsub(gxxL,SQR(gyzL),kmadd(gzzL,kmsub(gxxL,gyyL,SQR(gxyL)),kmul(gxyL,kmul(gxzL,kmul(gyzL,ToReal(2))))))); + + CCTK_REAL_VEC invdetg = INV(detg); + + CCTK_REAL_VEC gInv11 = kmul(invdetg,kmsub(gyyL,gzzL,SQR(gyzL))); + + CCTK_REAL_VEC gInv12 = kmul(invdetg,kmsub(gxzL,gyzL,kmul(gxyL,gzzL))); + + CCTK_REAL_VEC gInv13 = kmul(invdetg,kmsub(gxyL,gyzL,kmul(gxzL,gyyL))); + + CCTK_REAL_VEC gInv21 = kmul(invdetg,kmsub(gxzL,gyzL,kmul(gxyL,gzzL))); + + CCTK_REAL_VEC gInv22 = kmul(invdetg,kmsub(gxxL,gzzL,SQR(gxzL))); + + CCTK_REAL_VEC gInv23 = kmul(invdetg,kmsub(gxyL,gxzL,kmul(gxxL,gyzL))); + + CCTK_REAL_VEC gInv31 = kmul(invdetg,kmsub(gxyL,gyzL,kmul(gxzL,gyyL))); + + CCTK_REAL_VEC gInv32 = kmul(invdetg,kmsub(gxyL,gxzL,kmul(gxxL,gyzL))); + + CCTK_REAL_VEC gInv33 = kmul(invdetg,kmsub(gxxL,gyyL,SQR(gxyL))); + + CCTK_REAL_VEC gamma111 = + kmul(ToReal(0.5),kmadd(gInv11,JacPDstandard4th1gxx,knmsub(gInv12,JacPDstandard4th2gxx,kmsub(kmadd(gInv12,JacPDstandard4th1gxy,kmul(gInv13,JacPDstandard4th1gxz)),ToReal(2),kmul(gInv13,JacPDstandard4th3gxx))))); + + CCTK_REAL_VEC gamma211 = + kmul(ToReal(0.5),kmadd(gInv21,JacPDstandard4th1gxx,knmsub(gInv22,JacPDstandard4th2gxx,kmsub(kmadd(gInv22,JacPDstandard4th1gxy,kmul(gInv23,JacPDstandard4th1gxz)),ToReal(2),kmul(gInv23,JacPDstandard4th3gxx))))); + + CCTK_REAL_VEC gamma311 = + kmul(ToReal(0.5),kmadd(gInv31,JacPDstandard4th1gxx,knmsub(gInv32,JacPDstandard4th2gxx,kmsub(kmadd(gInv32,JacPDstandard4th1gxy,kmul(gInv33,JacPDstandard4th1gxz)),ToReal(2),kmul(gInv33,JacPDstandard4th3gxx))))); + + CCTK_REAL_VEC gamma121 = + kmul(kmadd(gInv12,JacPDstandard4th1gyy,kmadd(gInv11,JacPDstandard4th2gxx,kmul(gInv13,kadd(JacPDstandard4th1gyz,ksub(JacPDstandard4th2gxz,JacPDstandard4th3gxy))))),ToReal(0.5)); + + CCTK_REAL_VEC gamma221 = + kmul(kmadd(gInv22,JacPDstandard4th1gyy,kmadd(gInv21,JacPDstandard4th2gxx,kmul(gInv23,kadd(JacPDstandard4th1gyz,ksub(JacPDstandard4th2gxz,JacPDstandard4th3gxy))))),ToReal(0.5)); + + CCTK_REAL_VEC gamma321 = + kmul(kmadd(gInv32,JacPDstandard4th1gyy,kmadd(gInv31,JacPDstandard4th2gxx,kmul(gInv33,kadd(JacPDstandard4th1gyz,ksub(JacPDstandard4th2gxz,JacPDstandard4th3gxy))))),ToReal(0.5)); + + CCTK_REAL_VEC gamma131 = + kmul(kmadd(gInv13,JacPDstandard4th1gzz,kmadd(gInv11,JacPDstandard4th3gxx,kmul(gInv12,kadd(JacPDstandard4th1gyz,ksub(JacPDstandard4th3gxy,JacPDstandard4th2gxz))))),ToReal(0.5)); + + CCTK_REAL_VEC gamma231 = + kmul(kmadd(gInv23,JacPDstandard4th1gzz,kmadd(gInv21,JacPDstandard4th3gxx,kmul(gInv22,kadd(JacPDstandard4th1gyz,ksub(JacPDstandard4th3gxy,JacPDstandard4th2gxz))))),ToReal(0.5)); + + CCTK_REAL_VEC gamma331 = + kmul(kmadd(gInv33,JacPDstandard4th1gzz,kmadd(gInv31,JacPDstandard4th3gxx,kmul(gInv32,kadd(JacPDstandard4th1gyz,ksub(JacPDstandard4th3gxy,JacPDstandard4th2gxz))))),ToReal(0.5)); + + CCTK_REAL_VEC gamma122 = + kmul(ToReal(0.5),kmadd(gInv12,JacPDstandard4th2gyy,kmadd(gInv11,kmsub(JacPDstandard4th2gxy,ToReal(2),JacPDstandard4th1gyy),kmul(gInv13,kmsub(JacPDstandard4th2gyz,ToReal(2),JacPDstandard4th3gyy))))); + + CCTK_REAL_VEC gamma222 = + kmul(ToReal(0.5),kmadd(gInv22,JacPDstandard4th2gyy,kmadd(gInv21,kmsub(JacPDstandard4th2gxy,ToReal(2),JacPDstandard4th1gyy),kmul(gInv23,kmsub(JacPDstandard4th2gyz,ToReal(2),JacPDstandard4th3gyy))))); + + CCTK_REAL_VEC gamma322 = + kmul(ToReal(0.5),kmadd(gInv32,JacPDstandard4th2gyy,kmadd(gInv31,kmsub(JacPDstandard4th2gxy,ToReal(2),JacPDstandard4th1gyy),kmul(gInv33,kmsub(JacPDstandard4th2gyz,ToReal(2),JacPDstandard4th3gyy))))); + + CCTK_REAL_VEC gamma132 = + kmul(kmadd(gInv13,JacPDstandard4th2gzz,kmadd(gInv12,JacPDstandard4th3gyy,kmul(gInv11,kadd(JacPDstandard4th2gxz,ksub(JacPDstandard4th3gxy,JacPDstandard4th1gyz))))),ToReal(0.5)); + + CCTK_REAL_VEC gamma232 = + kmul(kmadd(gInv23,JacPDstandard4th2gzz,kmadd(gInv22,JacPDstandard4th3gyy,kmul(gInv21,kadd(JacPDstandard4th2gxz,ksub(JacPDstandard4th3gxy,JacPDstandard4th1gyz))))),ToReal(0.5)); + + CCTK_REAL_VEC gamma332 = + kmul(kmadd(gInv33,JacPDstandard4th2gzz,kmadd(gInv32,JacPDstandard4th3gyy,kmul(gInv31,kadd(JacPDstandard4th2gxz,ksub(JacPDstandard4th3gxy,JacPDstandard4th1gyz))))),ToReal(0.5)); + + CCTK_REAL_VEC gamma133 = + kmul(ToReal(0.5),kmadd(gInv13,JacPDstandard4th3gzz,kmadd(gInv11,kmsub(JacPDstandard4th3gxz,ToReal(2),JacPDstandard4th1gzz),kmul(gInv12,kmsub(JacPDstandard4th3gyz,ToReal(2),JacPDstandard4th2gzz))))); + + CCTK_REAL_VEC gamma233 = + kmul(ToReal(0.5),kmadd(gInv23,JacPDstandard4th3gzz,kmadd(gInv21,kmsub(JacPDstandard4th3gxz,ToReal(2),JacPDstandard4th1gzz),kmul(gInv22,kmsub(JacPDstandard4th3gyz,ToReal(2),JacPDstandard4th2gzz))))); + + CCTK_REAL_VEC gamma333 = + kmul(ToReal(0.5),kmadd(gInv33,JacPDstandard4th3gzz,kmadd(gInv31,kmsub(JacPDstandard4th3gxz,ToReal(2),JacPDstandard4th1gzz),kmul(gInv32,kmsub(JacPDstandard4th3gyz,ToReal(2),JacPDstandard4th2gzz))))); + + CCTK_REAL_VEC xmoved = ksub(xL,ToReal(xorig)); + + CCTK_REAL_VEC ymoved = ksub(yL,ToReal(yorig)); + + CCTK_REAL_VEC zmoved = ksub(zL,ToReal(zorig)); + + CCTK_REAL_VEC va1 = kneg(ymoved); + + CCTK_REAL_VEC va2 = kadd(xmoved,ToReal(offset)); + + CCTK_REAL_VEC va3 = ToReal(0); + + CCTK_REAL_VEC vb1 = kadd(xmoved,ToReal(offset)); + + CCTK_REAL_VEC vb2 = ymoved; + + CCTK_REAL_VEC vb3 = zmoved; + + CCTK_REAL_VEC vc1 = + kmul(ksqrt(detg),kmadd(vb3,kmsub(gInv11,va2,kmul(gInv12,va1)),kmadd(vb1,kmsub(gInv12,va3,kmul(gInv13,va2)),kmul(vb2,kmsub(gInv13,va1,kmul(gInv11,va3)))))); + + CCTK_REAL_VEC vc2 = + kmul(ksqrt(detg),kmadd(vb3,kmsub(gInv21,va2,kmul(gInv22,va1)),kmadd(vb1,kmsub(gInv22,va3,kmul(gInv23,va2)),kmul(vb2,kmsub(gInv23,va1,kmul(gInv21,va3)))))); + + CCTK_REAL_VEC vc3 = + kmul(ksqrt(detg),kmadd(vb3,kmsub(gInv31,va2,kmul(gInv32,va1)),kmadd(vb1,kmsub(gInv32,va3,kmul(gInv33,va2)),kmul(vb2,kmsub(gInv33,va1,kmul(gInv31,va3)))))); + + CCTK_REAL_VEC wa1 = va1; + + CCTK_REAL_VEC wa2 = va2; + + CCTK_REAL_VEC wa3 = va3; + + CCTK_REAL_VEC omega11 = + kmadd(gxxL,SQR(wa1),kmadd(gyyL,SQR(wa2),kmadd(gzzL,SQR(wa3),kmul(kmadd(gyzL,kmul(wa2,wa3),kmul(wa1,kmadd(gxyL,wa2,kmul(gxzL,wa3)))),ToReal(2))))); + + CCTK_REAL_VEC ea1 = kmul(wa1,INV(ksqrt(omega11))); + + CCTK_REAL_VEC ea2 = kmul(wa2,INV(ksqrt(omega11))); + + CCTK_REAL_VEC ea3 = kmul(wa3,INV(ksqrt(omega11))); + + CCTK_REAL_VEC omega12 = + kmadd(ea1,kmadd(gxxL,vb1,kmadd(gxyL,vb2,kmul(gxzL,vb3))),kmadd(ea2,kmadd(gxyL,vb1,kmadd(gyyL,vb2,kmul(gyzL,vb3))),kmul(ea3,kmadd(gxzL,vb1,kmadd(gyzL,vb2,kmul(gzzL,vb3)))))); + + CCTK_REAL_VEC wb1 = knmsub(ea1,omega12,vb1); + + CCTK_REAL_VEC wb2 = knmsub(ea2,omega12,vb2); + + CCTK_REAL_VEC wb3 = knmsub(ea3,omega12,vb3); + + CCTK_REAL_VEC omega22 = + kmadd(gxxL,SQR(wb1),kmadd(gyyL,SQR(wb2),kmadd(gzzL,SQR(wb3),kmul(kmadd(gyzL,kmul(wb2,wb3),kmul(wb1,kmadd(gxyL,wb2,kmul(gxzL,wb3)))),ToReal(2))))); + + CCTK_REAL_VEC eb1 = kmul(wb1,INV(ksqrt(omega22))); + + CCTK_REAL_VEC eb2 = kmul(wb2,INV(ksqrt(omega22))); + + CCTK_REAL_VEC eb3 = kmul(wb3,INV(ksqrt(omega22))); + + CCTK_REAL_VEC omega13 = + kmadd(ea1,kmadd(gxxL,vc1,kmadd(gxyL,vc2,kmul(gxzL,vc3))),kmadd(ea2,kmadd(gxyL,vc1,kmadd(gyyL,vc2,kmul(gyzL,vc3))),kmul(ea3,kmadd(gxzL,vc1,kmadd(gyzL,vc2,kmul(gzzL,vc3)))))); + + CCTK_REAL_VEC omega23 = + kmadd(eb1,kmadd(gxxL,vc1,kmadd(gxyL,vc2,kmul(gxzL,vc3))),kmadd(eb2,kmadd(gxyL,vc1,kmadd(gyyL,vc2,kmul(gyzL,vc3))),kmul(eb3,kmadd(gxzL,vc1,kmadd(gyzL,vc2,kmul(gzzL,vc3)))))); + + CCTK_REAL_VEC wc1 = ksub(vc1,kmadd(eb1,omega23,kmul(ea1,omega13))); + + CCTK_REAL_VEC wc2 = ksub(vc2,kmadd(eb2,omega23,kmul(ea2,omega13))); + + CCTK_REAL_VEC wc3 = ksub(vc3,kmadd(eb3,omega23,kmul(ea3,omega13))); + + CCTK_REAL_VEC omega33 = + kmadd(gxxL,SQR(wc1),kmadd(gyyL,SQR(wc2),kmadd(gzzL,SQR(wc3),kmul(kmadd(gyzL,kmul(wc2,wc3),kmul(wc1,kmadd(gxyL,wc2,kmul(gxzL,wc3)))),ToReal(2))))); + + CCTK_REAL_VEC ec1 = kmul(wc1,INV(ksqrt(omega33))); + + CCTK_REAL_VEC ec2 = kmul(wc2,INV(ksqrt(omega33))); + + CCTK_REAL_VEC ec3 = kmul(wc3,INV(ksqrt(omega33))); + + CCTK_REAL_VEC isqrt2 = ToReal(0.707106781186547524); + + CCTK_REAL_VEC n1 = kneg(kmul(eb1,isqrt2)); + + CCTK_REAL_VEC n2 = kneg(kmul(eb2,isqrt2)); + + CCTK_REAL_VEC n3 = kneg(kmul(eb3,isqrt2)); + + CCTK_REAL_VEC rm1 = kmul(ec1,isqrt2); + + CCTK_REAL_VEC rm2 = kmul(ec2,isqrt2); + + CCTK_REAL_VEC rm3 = kmul(ec3,isqrt2); + + CCTK_REAL_VEC im1 = kmul(ea1,isqrt2); + + CCTK_REAL_VEC im2 = kmul(ea2,isqrt2); + + CCTK_REAL_VEC im3 = kmul(ea3,isqrt2); + + CCTK_REAL_VEC rmbar1 = kmul(ec1,isqrt2); + + CCTK_REAL_VEC rmbar2 = kmul(ec2,isqrt2); + + CCTK_REAL_VEC rmbar3 = kmul(ec3,isqrt2); + + CCTK_REAL_VEC imbar1 = kneg(kmul(ea1,isqrt2)); + + CCTK_REAL_VEC imbar2 = kneg(kmul(ea2,isqrt2)); + + CCTK_REAL_VEC imbar3 = kneg(kmul(ea3,isqrt2)); + + CCTK_REAL_VEC nn = isqrt2; + + CCTK_REAL_VEC R1111 = ToReal(0); + + CCTK_REAL_VEC R1112 = + kmul(ksub(JacPDstandard4th21gxx,JacPDstandard4th12gxx),ToReal(0.5)); + + CCTK_REAL_VEC R1113 = + kmul(ksub(JacPDstandard4th31gxx,JacPDstandard4th13gxx),ToReal(0.5)); + + CCTK_REAL_VEC R1121 = + kmul(ksub(JacPDstandard4th21gxx,JacPDstandard4th12gxx),ToReal(0.5)); + + CCTK_REAL_VEC R1122 = + ksub(JacPDstandard4th21gxy,JacPDstandard4th12gxy); + + CCTK_REAL_VEC R1123 = + kmul(kadd(JacPDstandard4th21gxz,ksub(JacPDstandard4th31gxy,kadd(JacPDstandard4th13gxy,JacPDstandard4th12gxz))),ToReal(0.5)); + + CCTK_REAL_VEC R1131 = + kmul(ksub(JacPDstandard4th31gxx,JacPDstandard4th13gxx),ToReal(0.5)); + + CCTK_REAL_VEC R1132 = + kmul(kadd(JacPDstandard4th21gxz,ksub(JacPDstandard4th31gxy,kadd(JacPDstandard4th13gxy,JacPDstandard4th12gxz))),ToReal(0.5)); + + CCTK_REAL_VEC R1133 = + ksub(JacPDstandard4th31gxz,JacPDstandard4th13gxz); + + CCTK_REAL_VEC R1211 = + kmul(ksub(JacPDstandard4th12gxx,JacPDstandard4th21gxx),ToReal(0.5)); + + CCTK_REAL_VEC R1212 = + kmul(ToReal(0.5),kadd(JacPDstandard4th12gxy,kadd(JacPDstandard4th21gxy,kmadd(kmadd(gamma122,kmul(gamma211,gxyL),kmadd(gamma122,kmul(gamma311,gxzL),kmadd(gamma111,kmadd(gamma122,gxxL,kmadd(gamma222,gxyL,kmul(gamma322,gxzL))),kmadd(gamma211,kmul(gamma222,gyyL),kmadd(gamma222,kmul(gamma311,gyzL),kmadd(gamma211,kmul(gamma322,gyzL),kmul(gamma311,kmul(gamma322,gzzL)))))))),ToReal(-2),ksub(ksub(kmadd(gxxL,kmul(SQR(gamma121),ToReal(2)),kmadd(gyyL,kmul(SQR(gamma221),ToReal(2)),kmadd(gzzL,kmul(SQR(gamma321),ToReal(2)),kmul(kmadd(gamma121,kmadd(gamma221,gxyL,kmul(gamma321,gxzL)),kmul(gamma221,kmul(gamma321,gyzL))),ToReal(4))))),JacPDstandard4th22gxx),JacPDstandard4th11gyy))))); + + CCTK_REAL_VEC R1213 = + kmadd(gamma121,kmadd(gamma131,gxxL,kmadd(gamma231,gxyL,kmul(gamma331,gxzL))),kmul(ToReal(0.5),kadd(JacPDstandard4th12gxz,kadd(JacPDstandard4th31gxy,kmadd(kmadd(gamma132,kmadd(gamma211,gxyL,kmul(gamma311,gxzL)),kmadd(gamma111,kmadd(gamma132,gxxL,kmadd(gamma232,gxyL,kmul(gamma332,gxzL))),kmadd(gamma211,kmul(gamma232,gyyL),kmadd(gamma232,kmul(gamma311,gyzL),kmul(gamma311,kmul(gamma332,gzzL)))))),ToReal(-2),ksub(ksub(kmadd(kmadd(gamma131,kmul(gamma221,gxyL),kmadd(gamma131,kmul(gamma321,gxzL),kmadd(gamma221,kmul(gamma231,gyyL),kmadd(gamma231,kmul(gamma321,gyzL),kmul(gamma321,kmul(gamma331,gzzL)))))),ToReal(2),kmul(gyzL,kmadd(gamma211,kmul(gamma332,ToReal(-2)),kmul(gamma221,kmul(gamma331,ToReal(2)))))),JacPDstandard4th23gxx),JacPDstandard4th11gyz)))))); + + CCTK_REAL_VEC R1221 = + kmadd(gamma111,kmadd(gamma122,gxxL,kmadd(gamma222,gxyL,kmul(gamma322,gxzL))),kmadd(gamma121,kmul(kmadd(gamma221,gxyL,kmul(gamma321,gxzL)),ToReal(-2)),kmsub(ToReal(0.5),kadd(JacPDstandard4th11gyy,kadd(JacPDstandard4th22gxx,kmadd(gyyL,kmul(SQR(gamma221),ToReal(-2)),kmadd(gzzL,kmul(SQR(gamma321),ToReal(-2)),ksub(ksub(kmadd(kmadd(gamma122,kmul(gamma211,gxyL),kmadd(gamma122,kmul(gamma311,gxzL),kmadd(gamma211,kmul(gamma222,gyyL),kmadd(gamma222,kmul(gamma311,gyzL),kmul(gamma311,kmul(gamma322,gzzL)))))),ToReal(2),kmul(gyzL,kmadd(gamma221,kmul(gamma321,ToReal(-4)),kmul(gamma211,kmul(gamma322,ToReal(2)))))),JacPDstandard4th21gxy),JacPDstandard4th12gxy))))),kmul(gxxL,SQR(gamma121))))); + + CCTK_REAL_VEC R1222 = + kmul(ksub(JacPDstandard4th21gyy,JacPDstandard4th12gyy),ToReal(0.5)); + + CCTK_REAL_VEC R1223 = + kmadd(gamma122,kmadd(gamma131,gxxL,kmadd(gamma231,gxyL,kmul(gamma331,gxzL))),kmul(ToReal(0.5),kadd(JacPDstandard4th22gxz,kadd(JacPDstandard4th31gyy,kmadd(kmadd(gamma132,kmadd(gamma221,gxyL,kmul(gamma321,gxzL)),kmadd(gamma121,kmadd(gamma132,gxxL,kmadd(gamma232,gxyL,kmul(gamma332,gxzL))),kmadd(gamma221,kmul(gamma232,gyyL),kmadd(gamma232,kmul(gamma321,gyzL),kmul(gamma321,kmul(gamma332,gzzL)))))),ToReal(-2),ksub(ksub(kmadd(kmadd(gamma131,kmul(gamma222,gxyL),kmadd(gamma131,kmul(gamma322,gxzL),kmadd(gamma222,kmul(gamma231,gyyL),kmadd(gamma231,kmul(gamma322,gyzL),kmul(gamma322,kmul(gamma331,gzzL)))))),ToReal(2),kmul(gyzL,kmadd(gamma221,kmul(gamma332,ToReal(-2)),kmul(gamma222,kmul(gamma331,ToReal(2)))))),JacPDstandard4th23gxy),JacPDstandard4th12gyz)))))); + + CCTK_REAL_VEC R1231 = + kmadd(gamma111,kmadd(gamma132,gxxL,kmadd(gamma232,gxyL,kmul(gamma332,gxzL))),kmsub(ToReal(0.5),kadd(JacPDstandard4th11gyz,kadd(JacPDstandard4th32gxx,kmadd(kmadd(gamma131,kmadd(gamma221,gxyL,kmul(gamma321,gxzL)),kmadd(gamma221,kmul(gamma231,gyyL),kmadd(gamma231,kmul(gamma321,gyzL),kmul(gamma321,kmul(gamma331,gzzL))))),ToReal(-2),ksub(ksub(kmadd(kmadd(gamma132,kmadd(gamma211,gxyL,kmul(gamma311,gxzL)),kmadd(gamma211,kmul(gamma232,gyyL),kmadd(gamma232,kmul(gamma311,gyzL),kmul(gamma311,kmul(gamma332,gzzL))))),ToReal(2),kmul(gyzL,kmadd(gamma221,kmul(gamma331,ToReal(-2)),kmul(gamma211,kmul(gamma332,ToReal(2)))))),JacPDstandard4th21gxz),JacPDstandard4th13gxy)))),kmul(gamma121,kmadd(gamma131,gxxL,kmadd(gamma231,gxyL,kmul(gamma331,gxzL)))))); + + CCTK_REAL_VEC R1232 = + kmadd(gamma121,kmadd(gamma132,gxxL,kmadd(gamma232,gxyL,kmul(gamma332,gxzL))),kmsub(ToReal(0.5),kadd(JacPDstandard4th21gyz,kadd(JacPDstandard4th32gxy,kmadd(kmadd(gamma131,kmadd(gamma222,gxyL,kmul(gamma322,gxzL)),kmadd(gamma222,kmul(gamma231,gyyL),kmadd(gamma231,kmul(gamma322,gyzL),kmul(gamma322,kmul(gamma331,gzzL))))),ToReal(-2),ksub(ksub(kmadd(kmadd(gamma132,kmadd(gamma221,gxyL,kmul(gamma321,gxzL)),kmadd(gamma221,kmul(gamma232,gyyL),kmadd(gamma232,kmul(gamma321,gyzL),kmul(gamma321,kmul(gamma332,gzzL))))),ToReal(2),kmul(gyzL,kmadd(gamma222,kmul(gamma331,ToReal(-2)),kmul(gamma221,kmul(gamma332,ToReal(2)))))),JacPDstandard4th22gxz),JacPDstandard4th13gyy)))),kmul(gamma122,kmadd(gamma131,gxxL,kmadd(gamma231,gxyL,kmul(gamma331,gxzL)))))); + + CCTK_REAL_VEC R1233 = + kmul(kadd(JacPDstandard4th31gyz,ksub(JacPDstandard4th32gxz,kadd(JacPDstandard4th23gxz,JacPDstandard4th13gyz))),ToReal(0.5)); + + CCTK_REAL_VEC R1311 = + kmul(ksub(JacPDstandard4th13gxx,JacPDstandard4th31gxx),ToReal(0.5)); + + CCTK_REAL_VEC R1312 = + kmadd(gamma121,kmadd(gamma131,gxxL,kmadd(gamma231,gxyL,kmul(gamma331,gxzL))),kmul(ToReal(0.5),kadd(JacPDstandard4th13gxy,kadd(JacPDstandard4th21gxz,kmadd(kmadd(gamma132,kmadd(gamma211,gxyL,kmul(gamma311,gxzL)),kmadd(gamma111,kmadd(gamma132,gxxL,kmadd(gamma232,gxyL,kmul(gamma332,gxzL))),kmadd(gamma211,kmul(gamma232,gyyL),kmadd(gamma232,kmul(gamma311,gyzL),kmul(gamma311,kmul(gamma332,gzzL)))))),ToReal(-2),ksub(ksub(kmadd(kmadd(gamma131,kmul(gamma221,gxyL),kmadd(gamma131,kmul(gamma321,gxzL),kmadd(gamma221,kmul(gamma231,gyyL),kmadd(gamma231,kmul(gamma321,gyzL),kmul(gamma321,kmul(gamma331,gzzL)))))),ToReal(2),kmul(gyzL,kmadd(gamma211,kmul(gamma332,ToReal(-2)),kmul(gamma221,kmul(gamma331,ToReal(2)))))),JacPDstandard4th32gxx),JacPDstandard4th11gyz)))))); + + CCTK_REAL_VEC R1313 = + kmul(ToReal(0.5),kadd(JacPDstandard4th13gxz,kadd(JacPDstandard4th31gxz,kmadd(kmadd(gamma133,kmul(gamma211,gxyL),kmadd(gamma133,kmul(gamma311,gxzL),kmadd(gamma111,kmadd(gamma133,gxxL,kmadd(gamma233,gxyL,kmul(gamma333,gxzL))),kmadd(gamma211,kmul(gamma233,gyyL),kmadd(gamma233,kmul(gamma311,gyzL),kmadd(gamma211,kmul(gamma333,gyzL),kmul(gamma311,kmul(gamma333,gzzL)))))))),ToReal(-2),ksub(ksub(kmadd(gxxL,kmul(SQR(gamma131),ToReal(2)),kmadd(gyyL,kmul(SQR(gamma231),ToReal(2)),kmadd(gzzL,kmul(SQR(gamma331),ToReal(2)),kmul(kmadd(gamma131,kmadd(gamma231,gxyL,kmul(gamma331,gxzL)),kmul(gamma231,kmul(gamma331,gyzL))),ToReal(4))))),JacPDstandard4th33gxx),JacPDstandard4th11gzz))))); + + CCTK_REAL_VEC R1321 = + kmadd(gamma111,kmadd(gamma132,gxxL,kmadd(gamma232,gxyL,kmul(gamma332,gxzL))),kmsub(ToReal(0.5),kadd(JacPDstandard4th11gyz,kadd(JacPDstandard4th23gxx,kmadd(kmadd(gamma131,kmadd(gamma221,gxyL,kmul(gamma321,gxzL)),kmadd(gamma221,kmul(gamma231,gyyL),kmadd(gamma231,kmul(gamma321,gyzL),kmul(gamma321,kmul(gamma331,gzzL))))),ToReal(-2),ksub(ksub(kmadd(kmadd(gamma132,kmadd(gamma211,gxyL,kmul(gamma311,gxzL)),kmadd(gamma211,kmul(gamma232,gyyL),kmadd(gamma232,kmul(gamma311,gyzL),kmul(gamma311,kmul(gamma332,gzzL))))),ToReal(2),kmul(gyzL,kmadd(gamma221,kmul(gamma331,ToReal(-2)),kmul(gamma211,kmul(gamma332,ToReal(2)))))),JacPDstandard4th31gxy),JacPDstandard4th12gxz)))),kmul(gamma121,kmadd(gamma131,gxxL,kmadd(gamma231,gxyL,kmul(gamma331,gxzL)))))); + + CCTK_REAL_VEC R1322 = + kmul(kadd(JacPDstandard4th21gyz,ksub(JacPDstandard4th23gxy,kadd(JacPDstandard4th32gxy,JacPDstandard4th12gyz))),ToReal(0.5)); + + CCTK_REAL_VEC R1323 = + kmadd(gamma131,kmadd(gamma132,gxxL,kmadd(gamma232,gxyL,kmul(gamma332,gxzL))),kmul(ToReal(0.5),kadd(JacPDstandard4th23gxz,kadd(JacPDstandard4th31gyz,kmadd(kmadd(gamma133,kmadd(gamma221,gxyL,kmul(gamma321,gxzL)),kmadd(gamma121,kmadd(gamma133,gxxL,kmadd(gamma233,gxyL,kmul(gamma333,gxzL))),kmadd(gamma221,kmul(gamma233,gyyL),kmadd(gamma233,kmul(gamma321,gyzL),kmul(gamma321,kmul(gamma333,gzzL)))))),ToReal(-2),ksub(ksub(kmadd(kmadd(gamma132,kmul(gamma231,gxyL),kmadd(gamma132,kmul(gamma331,gxzL),kmadd(gamma231,kmul(gamma232,gyyL),kmadd(gamma232,kmul(gamma331,gyzL),kmul(gamma331,kmul(gamma332,gzzL)))))),ToReal(2),kmul(gyzL,kmadd(gamma221,kmul(gamma333,ToReal(-2)),kmul(gamma231,kmul(gamma332,ToReal(2)))))),JacPDstandard4th33gxy),JacPDstandard4th12gzz)))))); + + CCTK_REAL_VEC R1331 = + kmadd(gamma111,kmadd(gamma133,gxxL,kmadd(gamma233,gxyL,kmul(gamma333,gxzL))),kmadd(gamma131,kmul(kmadd(gamma231,gxyL,kmul(gamma331,gxzL)),ToReal(-2)),kmsub(ToReal(0.5),kadd(JacPDstandard4th11gzz,kadd(JacPDstandard4th33gxx,kmadd(gyyL,kmul(SQR(gamma231),ToReal(-2)),kmadd(gzzL,kmul(SQR(gamma331),ToReal(-2)),ksub(ksub(kmadd(kmadd(gamma133,kmul(gamma211,gxyL),kmadd(gamma133,kmul(gamma311,gxzL),kmadd(gamma211,kmul(gamma233,gyyL),kmadd(gamma233,kmul(gamma311,gyzL),kmul(gamma311,kmul(gamma333,gzzL)))))),ToReal(2),kmul(gyzL,kmadd(gamma231,kmul(gamma331,ToReal(-4)),kmul(gamma211,kmul(gamma333,ToReal(2)))))),JacPDstandard4th31gxz),JacPDstandard4th13gxz))))),kmul(gxxL,SQR(gamma131))))); + + CCTK_REAL_VEC R1332 = + kmadd(gamma121,kmadd(gamma133,gxxL,kmadd(gamma233,gxyL,kmul(gamma333,gxzL))),kmsub(ToReal(0.5),kadd(JacPDstandard4th21gzz,kadd(JacPDstandard4th33gxy,kmadd(kmadd(gamma132,kmadd(gamma231,gxyL,kmul(gamma331,gxzL)),kmadd(gamma231,kmul(gamma232,gyyL),kmadd(gamma232,kmul(gamma331,gyzL),kmul(gamma331,kmul(gamma332,gzzL))))),ToReal(-2),ksub(ksub(kmadd(kmadd(gamma133,kmadd(gamma221,gxyL,kmul(gamma321,gxzL)),kmadd(gamma221,kmul(gamma233,gyyL),kmadd(gamma233,kmul(gamma321,gyzL),kmul(gamma321,kmul(gamma333,gzzL))))),ToReal(2),kmul(gyzL,kmadd(gamma231,kmul(gamma332,ToReal(-2)),kmul(gamma221,kmul(gamma333,ToReal(2)))))),JacPDstandard4th32gxz),JacPDstandard4th13gyz)))),kmul(gamma131,kmadd(gamma132,gxxL,kmadd(gamma232,gxyL,kmul(gamma332,gxzL)))))); + + CCTK_REAL_VEC R1333 = + kmul(ksub(JacPDstandard4th31gzz,JacPDstandard4th13gzz),ToReal(0.5)); + + CCTK_REAL_VEC R2111 = + kmul(ksub(JacPDstandard4th12gxx,JacPDstandard4th21gxx),ToReal(0.5)); + + CCTK_REAL_VEC R2112 = + kmadd(gamma111,kmadd(gamma122,gxxL,kmadd(gamma222,gxyL,kmul(gamma322,gxzL))),kmadd(gamma121,kmul(kmadd(gamma221,gxyL,kmul(gamma321,gxzL)),ToReal(-2)),kmsub(ToReal(0.5),kadd(JacPDstandard4th11gyy,kadd(JacPDstandard4th22gxx,kmadd(gyyL,kmul(SQR(gamma221),ToReal(-2)),kmadd(gzzL,kmul(SQR(gamma321),ToReal(-2)),ksub(ksub(kmadd(kmadd(gamma122,kmul(gamma211,gxyL),kmadd(gamma122,kmul(gamma311,gxzL),kmadd(gamma211,kmul(gamma222,gyyL),kmadd(gamma222,kmul(gamma311,gyzL),kmul(gamma311,kmul(gamma322,gzzL)))))),ToReal(2),kmul(gyzL,kmadd(gamma221,kmul(gamma321,ToReal(-4)),kmul(gamma211,kmul(gamma322,ToReal(2)))))),JacPDstandard4th21gxy),JacPDstandard4th12gxy))))),kmul(gxxL,SQR(gamma121))))); + + CCTK_REAL_VEC R2113 = + kmadd(gamma111,kmadd(gamma132,gxxL,kmadd(gamma232,gxyL,kmul(gamma332,gxzL))),kmsub(ToReal(0.5),kadd(JacPDstandard4th11gyz,kadd(JacPDstandard4th32gxx,kmadd(kmadd(gamma131,kmadd(gamma221,gxyL,kmul(gamma321,gxzL)),kmadd(gamma221,kmul(gamma231,gyyL),kmadd(gamma231,kmul(gamma321,gyzL),kmul(gamma321,kmul(gamma331,gzzL))))),ToReal(-2),ksub(ksub(kmadd(kmadd(gamma132,kmadd(gamma211,gxyL,kmul(gamma311,gxzL)),kmadd(gamma211,kmul(gamma232,gyyL),kmadd(gamma232,kmul(gamma311,gyzL),kmul(gamma311,kmul(gamma332,gzzL))))),ToReal(2),kmul(gyzL,kmadd(gamma221,kmul(gamma331,ToReal(-2)),kmul(gamma211,kmul(gamma332,ToReal(2)))))),JacPDstandard4th21gxz),JacPDstandard4th13gxy)))),kmul(gamma121,kmadd(gamma131,gxxL,kmadd(gamma231,gxyL,kmul(gamma331,gxzL)))))); + + CCTK_REAL_VEC R2121 = + kmul(ToReal(0.5),kadd(JacPDstandard4th12gxy,kadd(JacPDstandard4th21gxy,kmadd(kmadd(gamma122,kmul(gamma211,gxyL),kmadd(gamma122,kmul(gamma311,gxzL),kmadd(gamma111,kmadd(gamma122,gxxL,kmadd(gamma222,gxyL,kmul(gamma322,gxzL))),kmadd(gamma211,kmul(gamma222,gyyL),kmadd(gamma222,kmul(gamma311,gyzL),kmadd(gamma211,kmul(gamma322,gyzL),kmul(gamma311,kmul(gamma322,gzzL)))))))),ToReal(-2),ksub(ksub(kmadd(gxxL,kmul(SQR(gamma121),ToReal(2)),kmadd(gyyL,kmul(SQR(gamma221),ToReal(2)),kmadd(gzzL,kmul(SQR(gamma321),ToReal(2)),kmul(kmadd(gamma121,kmadd(gamma221,gxyL,kmul(gamma321,gxzL)),kmul(gamma221,kmul(gamma321,gyzL))),ToReal(4))))),JacPDstandard4th22gxx),JacPDstandard4th11gyy))))); + + CCTK_REAL_VEC R2122 = + kmul(ksub(JacPDstandard4th21gyy,JacPDstandard4th12gyy),ToReal(0.5)); + + CCTK_REAL_VEC R2123 = + kmadd(gamma121,kmadd(gamma132,gxxL,kmadd(gamma232,gxyL,kmul(gamma332,gxzL))),kmsub(ToReal(0.5),kadd(JacPDstandard4th21gyz,kadd(JacPDstandard4th32gxy,kmadd(kmadd(gamma131,kmadd(gamma222,gxyL,kmul(gamma322,gxzL)),kmadd(gamma222,kmul(gamma231,gyyL),kmadd(gamma231,kmul(gamma322,gyzL),kmul(gamma322,kmul(gamma331,gzzL))))),ToReal(-2),ksub(ksub(kmadd(kmadd(gamma132,kmadd(gamma221,gxyL,kmul(gamma321,gxzL)),kmadd(gamma221,kmul(gamma232,gyyL),kmadd(gamma232,kmul(gamma321,gyzL),kmul(gamma321,kmul(gamma332,gzzL))))),ToReal(2),kmul(gyzL,kmadd(gamma222,kmul(gamma331,ToReal(-2)),kmul(gamma221,kmul(gamma332,ToReal(2)))))),JacPDstandard4th22gxz),JacPDstandard4th13gyy)))),kmul(gamma122,kmadd(gamma131,gxxL,kmadd(gamma231,gxyL,kmul(gamma331,gxzL)))))); + + CCTK_REAL_VEC R2131 = + kmadd(gamma121,kmadd(gamma131,gxxL,kmadd(gamma231,gxyL,kmul(gamma331,gxzL))),kmul(ToReal(0.5),kadd(JacPDstandard4th12gxz,kadd(JacPDstandard4th31gxy,kmadd(kmadd(gamma132,kmadd(gamma211,gxyL,kmul(gamma311,gxzL)),kmadd(gamma111,kmadd(gamma132,gxxL,kmadd(gamma232,gxyL,kmul(gamma332,gxzL))),kmadd(gamma211,kmul(gamma232,gyyL),kmadd(gamma232,kmul(gamma311,gyzL),kmul(gamma311,kmul(gamma332,gzzL)))))),ToReal(-2),ksub(ksub(kmadd(kmadd(gamma131,kmul(gamma221,gxyL),kmadd(gamma131,kmul(gamma321,gxzL),kmadd(gamma221,kmul(gamma231,gyyL),kmadd(gamma231,kmul(gamma321,gyzL),kmul(gamma321,kmul(gamma331,gzzL)))))),ToReal(2),kmul(gyzL,kmadd(gamma211,kmul(gamma332,ToReal(-2)),kmul(gamma221,kmul(gamma331,ToReal(2)))))),JacPDstandard4th23gxx),JacPDstandard4th11gyz)))))); + + CCTK_REAL_VEC R2132 = + kmadd(gamma122,kmadd(gamma131,gxxL,kmadd(gamma231,gxyL,kmul(gamma331,gxzL))),kmul(ToReal(0.5),kadd(JacPDstandard4th22gxz,kadd(JacPDstandard4th31gyy,kmadd(kmadd(gamma132,kmadd(gamma221,gxyL,kmul(gamma321,gxzL)),kmadd(gamma121,kmadd(gamma132,gxxL,kmadd(gamma232,gxyL,kmul(gamma332,gxzL))),kmadd(gamma221,kmul(gamma232,gyyL),kmadd(gamma232,kmul(gamma321,gyzL),kmul(gamma321,kmul(gamma332,gzzL)))))),ToReal(-2),ksub(ksub(kmadd(kmadd(gamma131,kmul(gamma222,gxyL),kmadd(gamma131,kmul(gamma322,gxzL),kmadd(gamma222,kmul(gamma231,gyyL),kmadd(gamma231,kmul(gamma322,gyzL),kmul(gamma322,kmul(gamma331,gzzL)))))),ToReal(2),kmul(gyzL,kmadd(gamma221,kmul(gamma332,ToReal(-2)),kmul(gamma222,kmul(gamma331,ToReal(2)))))),JacPDstandard4th23gxy),JacPDstandard4th12gyz)))))); + + CCTK_REAL_VEC R2133 = + kmul(kadd(JacPDstandard4th31gyz,ksub(JacPDstandard4th32gxz,kadd(JacPDstandard4th23gxz,JacPDstandard4th13gyz))),ToReal(0.5)); + + CCTK_REAL_VEC R2211 = + ksub(JacPDstandard4th12gxy,JacPDstandard4th21gxy); + + CCTK_REAL_VEC R2212 = + kmul(ksub(JacPDstandard4th12gyy,JacPDstandard4th21gyy),ToReal(0.5)); + + CCTK_REAL_VEC R2213 = + kmul(kadd(JacPDstandard4th12gyz,ksub(JacPDstandard4th32gxy,kadd(JacPDstandard4th23gxy,JacPDstandard4th21gyz))),ToReal(0.5)); + + CCTK_REAL_VEC R2221 = + kmul(ksub(JacPDstandard4th12gyy,JacPDstandard4th21gyy),ToReal(0.5)); + + CCTK_REAL_VEC R2222 = ToReal(0); + + CCTK_REAL_VEC R2223 = + kmul(ksub(JacPDstandard4th32gyy,JacPDstandard4th23gyy),ToReal(0.5)); + + CCTK_REAL_VEC R2231 = + kmul(kadd(JacPDstandard4th12gyz,ksub(JacPDstandard4th32gxy,kadd(JacPDstandard4th23gxy,JacPDstandard4th21gyz))),ToReal(0.5)); + + CCTK_REAL_VEC R2232 = + kmul(ksub(JacPDstandard4th32gyy,JacPDstandard4th23gyy),ToReal(0.5)); + + CCTK_REAL_VEC R2233 = + ksub(JacPDstandard4th32gyz,JacPDstandard4th23gyz); + + CCTK_REAL_VEC R2311 = + kmul(kadd(JacPDstandard4th12gxz,ksub(JacPDstandard4th13gxy,kadd(JacPDstandard4th31gxy,JacPDstandard4th21gxz))),ToReal(0.5)); + + CCTK_REAL_VEC R2312 = + kmadd(gamma122,kmadd(gamma131,gxxL,kmadd(gamma231,gxyL,kmul(gamma331,gxzL))),kmul(ToReal(0.5),kadd(JacPDstandard4th13gyy,kadd(JacPDstandard4th22gxz,kmadd(kmadd(gamma132,kmadd(gamma221,gxyL,kmul(gamma321,gxzL)),kmadd(gamma121,kmadd(gamma132,gxxL,kmadd(gamma232,gxyL,kmul(gamma332,gxzL))),kmadd(gamma221,kmul(gamma232,gyyL),kmadd(gamma232,kmul(gamma321,gyzL),kmul(gamma321,kmul(gamma332,gzzL)))))),ToReal(-2),ksub(ksub(kmadd(kmadd(gamma131,kmul(gamma222,gxyL),kmadd(gamma131,kmul(gamma322,gxzL),kmadd(gamma222,kmul(gamma231,gyyL),kmadd(gamma231,kmul(gamma322,gyzL),kmul(gamma322,kmul(gamma331,gzzL)))))),ToReal(2),kmul(gyzL,kmadd(gamma221,kmul(gamma332,ToReal(-2)),kmul(gamma222,kmul(gamma331,ToReal(2)))))),JacPDstandard4th32gxy),JacPDstandard4th21gyz)))))); + + CCTK_REAL_VEC R2313 = + kmadd(gamma131,kmadd(gamma132,gxxL,kmadd(gamma232,gxyL,kmul(gamma332,gxzL))),kmul(ToReal(0.5),kadd(JacPDstandard4th13gyz,kadd(JacPDstandard4th32gxz,kmadd(kmadd(gamma133,kmadd(gamma221,gxyL,kmul(gamma321,gxzL)),kmadd(gamma121,kmadd(gamma133,gxxL,kmadd(gamma233,gxyL,kmul(gamma333,gxzL))),kmadd(gamma221,kmul(gamma233,gyyL),kmadd(gamma233,kmul(gamma321,gyzL),kmul(gamma321,kmul(gamma333,gzzL)))))),ToReal(-2),ksub(ksub(kmadd(kmadd(gamma132,kmul(gamma231,gxyL),kmadd(gamma132,kmul(gamma331,gxzL),kmadd(gamma231,kmul(gamma232,gyyL),kmadd(gamma232,kmul(gamma331,gyzL),kmul(gamma331,kmul(gamma332,gzzL)))))),ToReal(2),kmul(gyzL,kmadd(gamma221,kmul(gamma333,ToReal(-2)),kmul(gamma231,kmul(gamma332,ToReal(2)))))),JacPDstandard4th33gxy),JacPDstandard4th21gzz)))))); + + CCTK_REAL_VEC R2321 = + kmadd(gamma121,kmadd(gamma132,gxxL,kmadd(gamma232,gxyL,kmul(gamma332,gxzL))),kmsub(ToReal(0.5),kadd(JacPDstandard4th12gyz,kadd(JacPDstandard4th23gxy,kmadd(kmadd(gamma131,kmadd(gamma222,gxyL,kmul(gamma322,gxzL)),kmadd(gamma222,kmul(gamma231,gyyL),kmadd(gamma231,kmul(gamma322,gyzL),kmul(gamma322,kmul(gamma331,gzzL))))),ToReal(-2),ksub(ksub(kmadd(kmadd(gamma132,kmadd(gamma221,gxyL,kmul(gamma321,gxzL)),kmadd(gamma221,kmul(gamma232,gyyL),kmadd(gamma232,kmul(gamma321,gyzL),kmul(gamma321,kmul(gamma332,gzzL))))),ToReal(2),kmul(gyzL,kmadd(gamma222,kmul(gamma331,ToReal(-2)),kmul(gamma221,kmul(gamma332,ToReal(2)))))),JacPDstandard4th31gyy),JacPDstandard4th22gxz)))),kmul(gamma122,kmadd(gamma131,gxxL,kmadd(gamma231,gxyL,kmul(gamma331,gxzL)))))); + + CCTK_REAL_VEC R2322 = + kmul(ksub(JacPDstandard4th23gyy,JacPDstandard4th32gyy),ToReal(0.5)); + + CCTK_REAL_VEC R2323 = + kmul(ToReal(0.5),kadd(JacPDstandard4th23gyz,kadd(JacPDstandard4th32gyz,kmadd(kmadd(gamma133,kmul(gamma222,gxyL),kmadd(gamma133,kmul(gamma322,gxzL),kmadd(gamma122,kmadd(gamma133,gxxL,kmadd(gamma233,gxyL,kmul(gamma333,gxzL))),kmadd(gamma222,kmul(gamma233,gyyL),kmadd(gamma233,kmul(gamma322,gyzL),kmadd(gamma222,kmul(gamma333,gyzL),kmul(gamma322,kmul(gamma333,gzzL)))))))),ToReal(-2),ksub(ksub(kmadd(gxxL,kmul(SQR(gamma132),ToReal(2)),kmadd(gyyL,kmul(SQR(gamma232),ToReal(2)),kmadd(gzzL,kmul(SQR(gamma332),ToReal(2)),kmul(kmadd(gamma132,kmadd(gamma232,gxyL,kmul(gamma332,gxzL)),kmul(gamma232,kmul(gamma332,gyzL))),ToReal(4))))),JacPDstandard4th33gyy),JacPDstandard4th22gzz))))); + + CCTK_REAL_VEC R2331 = + kmadd(gamma121,kmadd(gamma133,gxxL,kmadd(gamma233,gxyL,kmul(gamma333,gxzL))),kmsub(ToReal(0.5),kadd(JacPDstandard4th12gzz,kadd(JacPDstandard4th33gxy,kmadd(kmadd(gamma132,kmadd(gamma231,gxyL,kmul(gamma331,gxzL)),kmadd(gamma231,kmul(gamma232,gyyL),kmadd(gamma232,kmul(gamma331,gyzL),kmul(gamma331,kmul(gamma332,gzzL))))),ToReal(-2),ksub(ksub(kmadd(kmadd(gamma133,kmadd(gamma221,gxyL,kmul(gamma321,gxzL)),kmadd(gamma221,kmul(gamma233,gyyL),kmadd(gamma233,kmul(gamma321,gyzL),kmul(gamma321,kmul(gamma333,gzzL))))),ToReal(2),kmul(gyzL,kmadd(gamma231,kmul(gamma332,ToReal(-2)),kmul(gamma221,kmul(gamma333,ToReal(2)))))),JacPDstandard4th31gyz),JacPDstandard4th23gxz)))),kmul(gamma131,kmadd(gamma132,gxxL,kmadd(gamma232,gxyL,kmul(gamma332,gxzL)))))); + + CCTK_REAL_VEC R2332 = + kmadd(gamma122,kmadd(gamma133,gxxL,kmadd(gamma233,gxyL,kmul(gamma333,gxzL))),kmadd(gamma132,kmul(kmadd(gamma232,gxyL,kmul(gamma332,gxzL)),ToReal(-2)),kmsub(ToReal(0.5),kadd(JacPDstandard4th22gzz,kadd(JacPDstandard4th33gyy,kmadd(gyyL,kmul(SQR(gamma232),ToReal(-2)),kmadd(gzzL,kmul(SQR(gamma332),ToReal(-2)),ksub(ksub(kmadd(kmadd(gamma133,kmul(gamma222,gxyL),kmadd(gamma133,kmul(gamma322,gxzL),kmadd(gamma222,kmul(gamma233,gyyL),kmadd(gamma233,kmul(gamma322,gyzL),kmul(gamma322,kmul(gamma333,gzzL)))))),ToReal(2),kmul(gyzL,kmadd(gamma232,kmul(gamma332,ToReal(-4)),kmul(gamma222,kmul(gamma333,ToReal(2)))))),JacPDstandard4th32gyz),JacPDstandard4th23gyz))))),kmul(gxxL,SQR(gamma132))))); + + CCTK_REAL_VEC R2333 = + kmul(ksub(JacPDstandard4th32gzz,JacPDstandard4th23gzz),ToReal(0.5)); + + CCTK_REAL_VEC R3111 = + kmul(ksub(JacPDstandard4th13gxx,JacPDstandard4th31gxx),ToReal(0.5)); + + CCTK_REAL_VEC R3112 = + kmadd(gamma111,kmadd(gamma132,gxxL,kmadd(gamma232,gxyL,kmul(gamma332,gxzL))),kmsub(ToReal(0.5),kadd(JacPDstandard4th11gyz,kadd(JacPDstandard4th23gxx,kmadd(kmadd(gamma131,kmadd(gamma221,gxyL,kmul(gamma321,gxzL)),kmadd(gamma221,kmul(gamma231,gyyL),kmadd(gamma231,kmul(gamma321,gyzL),kmul(gamma321,kmul(gamma331,gzzL))))),ToReal(-2),ksub(ksub(kmadd(kmadd(gamma132,kmadd(gamma211,gxyL,kmul(gamma311,gxzL)),kmadd(gamma211,kmul(gamma232,gyyL),kmadd(gamma232,kmul(gamma311,gyzL),kmul(gamma311,kmul(gamma332,gzzL))))),ToReal(2),kmul(gyzL,kmadd(gamma221,kmul(gamma331,ToReal(-2)),kmul(gamma211,kmul(gamma332,ToReal(2)))))),JacPDstandard4th31gxy),JacPDstandard4th12gxz)))),kmul(gamma121,kmadd(gamma131,gxxL,kmadd(gamma231,gxyL,kmul(gamma331,gxzL)))))); + + CCTK_REAL_VEC R3113 = + kmadd(gamma111,kmadd(gamma133,gxxL,kmadd(gamma233,gxyL,kmul(gamma333,gxzL))),kmadd(gamma131,kmul(kmadd(gamma231,gxyL,kmul(gamma331,gxzL)),ToReal(-2)),kmsub(ToReal(0.5),kadd(JacPDstandard4th11gzz,kadd(JacPDstandard4th33gxx,kmadd(gyyL,kmul(SQR(gamma231),ToReal(-2)),kmadd(gzzL,kmul(SQR(gamma331),ToReal(-2)),ksub(ksub(kmadd(kmadd(gamma133,kmul(gamma211,gxyL),kmadd(gamma133,kmul(gamma311,gxzL),kmadd(gamma211,kmul(gamma233,gyyL),kmadd(gamma233,kmul(gamma311,gyzL),kmul(gamma311,kmul(gamma333,gzzL)))))),ToReal(2),kmul(gyzL,kmadd(gamma231,kmul(gamma331,ToReal(-4)),kmul(gamma211,kmul(gamma333,ToReal(2)))))),JacPDstandard4th31gxz),JacPDstandard4th13gxz))))),kmul(gxxL,SQR(gamma131))))); + + CCTK_REAL_VEC R3121 = + kmadd(gamma121,kmadd(gamma131,gxxL,kmadd(gamma231,gxyL,kmul(gamma331,gxzL))),kmul(ToReal(0.5),kadd(JacPDstandard4th13gxy,kadd(JacPDstandard4th21gxz,kmadd(kmadd(gamma132,kmadd(gamma211,gxyL,kmul(gamma311,gxzL)),kmadd(gamma111,kmadd(gamma132,gxxL,kmadd(gamma232,gxyL,kmul(gamma332,gxzL))),kmadd(gamma211,kmul(gamma232,gyyL),kmadd(gamma232,kmul(gamma311,gyzL),kmul(gamma311,kmul(gamma332,gzzL)))))),ToReal(-2),ksub(ksub(kmadd(kmadd(gamma131,kmul(gamma221,gxyL),kmadd(gamma131,kmul(gamma321,gxzL),kmadd(gamma221,kmul(gamma231,gyyL),kmadd(gamma231,kmul(gamma321,gyzL),kmul(gamma321,kmul(gamma331,gzzL)))))),ToReal(2),kmul(gyzL,kmadd(gamma211,kmul(gamma332,ToReal(-2)),kmul(gamma221,kmul(gamma331,ToReal(2)))))),JacPDstandard4th32gxx),JacPDstandard4th11gyz)))))); + + CCTK_REAL_VEC R3122 = + kmul(kadd(JacPDstandard4th21gyz,ksub(JacPDstandard4th23gxy,kadd(JacPDstandard4th32gxy,JacPDstandard4th12gyz))),ToReal(0.5)); + + CCTK_REAL_VEC R3123 = + kmadd(gamma121,kmadd(gamma133,gxxL,kmadd(gamma233,gxyL,kmul(gamma333,gxzL))),kmsub(ToReal(0.5),kadd(JacPDstandard4th21gzz,kadd(JacPDstandard4th33gxy,kmadd(kmadd(gamma132,kmadd(gamma231,gxyL,kmul(gamma331,gxzL)),kmadd(gamma231,kmul(gamma232,gyyL),kmadd(gamma232,kmul(gamma331,gyzL),kmul(gamma331,kmul(gamma332,gzzL))))),ToReal(-2),ksub(ksub(kmadd(kmadd(gamma133,kmadd(gamma221,gxyL,kmul(gamma321,gxzL)),kmadd(gamma221,kmul(gamma233,gyyL),kmadd(gamma233,kmul(gamma321,gyzL),kmul(gamma321,kmul(gamma333,gzzL))))),ToReal(2),kmul(gyzL,kmadd(gamma231,kmul(gamma332,ToReal(-2)),kmul(gamma221,kmul(gamma333,ToReal(2)))))),JacPDstandard4th32gxz),JacPDstandard4th13gyz)))),kmul(gamma131,kmadd(gamma132,gxxL,kmadd(gamma232,gxyL,kmul(gamma332,gxzL)))))); + + CCTK_REAL_VEC R3131 = + kmul(ToReal(0.5),kadd(JacPDstandard4th13gxz,kadd(JacPDstandard4th31gxz,kmadd(kmadd(gamma133,kmul(gamma211,gxyL),kmadd(gamma133,kmul(gamma311,gxzL),kmadd(gamma111,kmadd(gamma133,gxxL,kmadd(gamma233,gxyL,kmul(gamma333,gxzL))),kmadd(gamma211,kmul(gamma233,gyyL),kmadd(gamma233,kmul(gamma311,gyzL),kmadd(gamma211,kmul(gamma333,gyzL),kmul(gamma311,kmul(gamma333,gzzL)))))))),ToReal(-2),ksub(ksub(kmadd(gxxL,kmul(SQR(gamma131),ToReal(2)),kmadd(gyyL,kmul(SQR(gamma231),ToReal(2)),kmadd(gzzL,kmul(SQR(gamma331),ToReal(2)),kmul(kmadd(gamma131,kmadd(gamma231,gxyL,kmul(gamma331,gxzL)),kmul(gamma231,kmul(gamma331,gyzL))),ToReal(4))))),JacPDstandard4th33gxx),JacPDstandard4th11gzz))))); + + CCTK_REAL_VEC R3132 = + kmadd(gamma131,kmadd(gamma132,gxxL,kmadd(gamma232,gxyL,kmul(gamma332,gxzL))),kmul(ToReal(0.5),kadd(JacPDstandard4th23gxz,kadd(JacPDstandard4th31gyz,kmadd(kmadd(gamma133,kmadd(gamma221,gxyL,kmul(gamma321,gxzL)),kmadd(gamma121,kmadd(gamma133,gxxL,kmadd(gamma233,gxyL,kmul(gamma333,gxzL))),kmadd(gamma221,kmul(gamma233,gyyL),kmadd(gamma233,kmul(gamma321,gyzL),kmul(gamma321,kmul(gamma333,gzzL)))))),ToReal(-2),ksub(ksub(kmadd(kmadd(gamma132,kmul(gamma231,gxyL),kmadd(gamma132,kmul(gamma331,gxzL),kmadd(gamma231,kmul(gamma232,gyyL),kmadd(gamma232,kmul(gamma331,gyzL),kmul(gamma331,kmul(gamma332,gzzL)))))),ToReal(2),kmul(gyzL,kmadd(gamma221,kmul(gamma333,ToReal(-2)),kmul(gamma231,kmul(gamma332,ToReal(2)))))),JacPDstandard4th33gxy),JacPDstandard4th12gzz)))))); + + CCTK_REAL_VEC R3133 = + kmul(ksub(JacPDstandard4th31gzz,JacPDstandard4th13gzz),ToReal(0.5)); + + CCTK_REAL_VEC R3211 = + kmul(kadd(JacPDstandard4th12gxz,ksub(JacPDstandard4th13gxy,kadd(JacPDstandard4th31gxy,JacPDstandard4th21gxz))),ToReal(0.5)); + + CCTK_REAL_VEC R3212 = + kmadd(gamma121,kmadd(gamma132,gxxL,kmadd(gamma232,gxyL,kmul(gamma332,gxzL))),kmsub(ToReal(0.5),kadd(JacPDstandard4th12gyz,kadd(JacPDstandard4th23gxy,kmadd(kmadd(gamma131,kmadd(gamma222,gxyL,kmul(gamma322,gxzL)),kmadd(gamma222,kmul(gamma231,gyyL),kmadd(gamma231,kmul(gamma322,gyzL),kmul(gamma322,kmul(gamma331,gzzL))))),ToReal(-2),ksub(ksub(kmadd(kmadd(gamma132,kmadd(gamma221,gxyL,kmul(gamma321,gxzL)),kmadd(gamma221,kmul(gamma232,gyyL),kmadd(gamma232,kmul(gamma321,gyzL),kmul(gamma321,kmul(gamma332,gzzL))))),ToReal(2),kmul(gyzL,kmadd(gamma222,kmul(gamma331,ToReal(-2)),kmul(gamma221,kmul(gamma332,ToReal(2)))))),JacPDstandard4th31gyy),JacPDstandard4th22gxz)))),kmul(gamma122,kmadd(gamma131,gxxL,kmadd(gamma231,gxyL,kmul(gamma331,gxzL)))))); + + CCTK_REAL_VEC R3213 = + kmadd(gamma121,kmadd(gamma133,gxxL,kmadd(gamma233,gxyL,kmul(gamma333,gxzL))),kmsub(ToReal(0.5),kadd(JacPDstandard4th12gzz,kadd(JacPDstandard4th33gxy,kmadd(kmadd(gamma132,kmadd(gamma231,gxyL,kmul(gamma331,gxzL)),kmadd(gamma231,kmul(gamma232,gyyL),kmadd(gamma232,kmul(gamma331,gyzL),kmul(gamma331,kmul(gamma332,gzzL))))),ToReal(-2),ksub(ksub(kmadd(kmadd(gamma133,kmadd(gamma221,gxyL,kmul(gamma321,gxzL)),kmadd(gamma221,kmul(gamma233,gyyL),kmadd(gamma233,kmul(gamma321,gyzL),kmul(gamma321,kmul(gamma333,gzzL))))),ToReal(2),kmul(gyzL,kmadd(gamma231,kmul(gamma332,ToReal(-2)),kmul(gamma221,kmul(gamma333,ToReal(2)))))),JacPDstandard4th31gyz),JacPDstandard4th23gxz)))),kmul(gamma131,kmadd(gamma132,gxxL,kmadd(gamma232,gxyL,kmul(gamma332,gxzL)))))); + + CCTK_REAL_VEC R3221 = + kmadd(gamma122,kmadd(gamma131,gxxL,kmadd(gamma231,gxyL,kmul(gamma331,gxzL))),kmul(ToReal(0.5),kadd(JacPDstandard4th13gyy,kadd(JacPDstandard4th22gxz,kmadd(kmadd(gamma132,kmadd(gamma221,gxyL,kmul(gamma321,gxzL)),kmadd(gamma121,kmadd(gamma132,gxxL,kmadd(gamma232,gxyL,kmul(gamma332,gxzL))),kmadd(gamma221,kmul(gamma232,gyyL),kmadd(gamma232,kmul(gamma321,gyzL),kmul(gamma321,kmul(gamma332,gzzL)))))),ToReal(-2),ksub(ksub(kmadd(kmadd(gamma131,kmul(gamma222,gxyL),kmadd(gamma131,kmul(gamma322,gxzL),kmadd(gamma222,kmul(gamma231,gyyL),kmadd(gamma231,kmul(gamma322,gyzL),kmul(gamma322,kmul(gamma331,gzzL)))))),ToReal(2),kmul(gyzL,kmadd(gamma221,kmul(gamma332,ToReal(-2)),kmul(gamma222,kmul(gamma331,ToReal(2)))))),JacPDstandard4th32gxy),JacPDstandard4th21gyz)))))); + + CCTK_REAL_VEC R3222 = + kmul(ksub(JacPDstandard4th23gyy,JacPDstandard4th32gyy),ToReal(0.5)); + + CCTK_REAL_VEC R3223 = + kmadd(gamma122,kmadd(gamma133,gxxL,kmadd(gamma233,gxyL,kmul(gamma333,gxzL))),kmadd(gamma132,kmul(kmadd(gamma232,gxyL,kmul(gamma332,gxzL)),ToReal(-2)),kmsub(ToReal(0.5),kadd(JacPDstandard4th22gzz,kadd(JacPDstandard4th33gyy,kmadd(gyyL,kmul(SQR(gamma232),ToReal(-2)),kmadd(gzzL,kmul(SQR(gamma332),ToReal(-2)),ksub(ksub(kmadd(kmadd(gamma133,kmul(gamma222,gxyL),kmadd(gamma133,kmul(gamma322,gxzL),kmadd(gamma222,kmul(gamma233,gyyL),kmadd(gamma233,kmul(gamma322,gyzL),kmul(gamma322,kmul(gamma333,gzzL)))))),ToReal(2),kmul(gyzL,kmadd(gamma232,kmul(gamma332,ToReal(-4)),kmul(gamma222,kmul(gamma333,ToReal(2)))))),JacPDstandard4th32gyz),JacPDstandard4th23gyz))))),kmul(gxxL,SQR(gamma132))))); + + CCTK_REAL_VEC R3231 = + kmadd(gamma131,kmadd(gamma132,gxxL,kmadd(gamma232,gxyL,kmul(gamma332,gxzL))),kmul(ToReal(0.5),kadd(JacPDstandard4th13gyz,kadd(JacPDstandard4th32gxz,kmadd(kmadd(gamma133,kmadd(gamma221,gxyL,kmul(gamma321,gxzL)),kmadd(gamma121,kmadd(gamma133,gxxL,kmadd(gamma233,gxyL,kmul(gamma333,gxzL))),kmadd(gamma221,kmul(gamma233,gyyL),kmadd(gamma233,kmul(gamma321,gyzL),kmul(gamma321,kmul(gamma333,gzzL)))))),ToReal(-2),ksub(ksub(kmadd(kmadd(gamma132,kmul(gamma231,gxyL),kmadd(gamma132,kmul(gamma331,gxzL),kmadd(gamma231,kmul(gamma232,gyyL),kmadd(gamma232,kmul(gamma331,gyzL),kmul(gamma331,kmul(gamma332,gzzL)))))),ToReal(2),kmul(gyzL,kmadd(gamma221,kmul(gamma333,ToReal(-2)),kmul(gamma231,kmul(gamma332,ToReal(2)))))),JacPDstandard4th33gxy),JacPDstandard4th21gzz)))))); + + CCTK_REAL_VEC R3232 = + kmul(ToReal(0.5),kadd(JacPDstandard4th23gyz,kadd(JacPDstandard4th32gyz,kmadd(kmadd(gamma133,kmul(gamma222,gxyL),kmadd(gamma133,kmul(gamma322,gxzL),kmadd(gamma122,kmadd(gamma133,gxxL,kmadd(gamma233,gxyL,kmul(gamma333,gxzL))),kmadd(gamma222,kmul(gamma233,gyyL),kmadd(gamma233,kmul(gamma322,gyzL),kmadd(gamma222,kmul(gamma333,gyzL),kmul(gamma322,kmul(gamma333,gzzL)))))))),ToReal(-2),ksub(ksub(kmadd(gxxL,kmul(SQR(gamma132),ToReal(2)),kmadd(gyyL,kmul(SQR(gamma232),ToReal(2)),kmadd(gzzL,kmul(SQR(gamma332),ToReal(2)),kmul(kmadd(gamma132,kmadd(gamma232,gxyL,kmul(gamma332,gxzL)),kmul(gamma232,kmul(gamma332,gyzL))),ToReal(4))))),JacPDstandard4th33gyy),JacPDstandard4th22gzz))))); + + CCTK_REAL_VEC R3233 = + kmul(ksub(JacPDstandard4th32gzz,JacPDstandard4th23gzz),ToReal(0.5)); + + CCTK_REAL_VEC R3311 = + ksub(JacPDstandard4th13gxz,JacPDstandard4th31gxz); + + CCTK_REAL_VEC R3312 = + kmul(kadd(JacPDstandard4th13gyz,ksub(JacPDstandard4th23gxz,kadd(JacPDstandard4th32gxz,JacPDstandard4th31gyz))),ToReal(0.5)); + + CCTK_REAL_VEC R3313 = + kmul(ksub(JacPDstandard4th13gzz,JacPDstandard4th31gzz),ToReal(0.5)); + + CCTK_REAL_VEC R3321 = + kmul(kadd(JacPDstandard4th13gyz,ksub(JacPDstandard4th23gxz,kadd(JacPDstandard4th32gxz,JacPDstandard4th31gyz))),ToReal(0.5)); + + CCTK_REAL_VEC R3322 = + ksub(JacPDstandard4th23gyz,JacPDstandard4th32gyz); + + CCTK_REAL_VEC R3323 = + kmul(ksub(JacPDstandard4th23gzz,JacPDstandard4th32gzz),ToReal(0.5)); + + CCTK_REAL_VEC R3331 = + kmul(ksub(JacPDstandard4th13gzz,JacPDstandard4th31gzz),ToReal(0.5)); + + CCTK_REAL_VEC R3332 = + kmul(ksub(JacPDstandard4th23gzz,JacPDstandard4th32gzz),ToReal(0.5)); + + CCTK_REAL_VEC R3333 = ToReal(0); + + CCTK_REAL_VEC R4p1111 = R1111; + + CCTK_REAL_VEC R4p1112 = R1112; + + CCTK_REAL_VEC R4p1113 = R1113; + + CCTK_REAL_VEC R4p1121 = R1121; + + CCTK_REAL_VEC R4p1122 = R1122; + + CCTK_REAL_VEC R4p1123 = R1123; + + CCTK_REAL_VEC R4p1131 = R1131; + + CCTK_REAL_VEC R4p1132 = R1132; + + CCTK_REAL_VEC R4p1133 = R1133; + + CCTK_REAL_VEC R4p1211 = R1211; + + CCTK_REAL_VEC R4p1212 = kmadd(kxxL,kyyL,ksub(R1212,SQR(kxyL))); + + CCTK_REAL_VEC R4p1213 = kmadd(kxxL,kyzL,knmsub(kxyL,kxzL,R1213)); + + CCTK_REAL_VEC R4p1221 = kadd(R1221,knmsub(kxxL,kyyL,SQR(kxyL))); + + CCTK_REAL_VEC R4p1222 = R1222; + + CCTK_REAL_VEC R4p1223 = kmadd(kxyL,kyzL,knmsub(kxzL,kyyL,R1223)); + + CCTK_REAL_VEC R4p1231 = kmadd(kxyL,kxzL,knmsub(kxxL,kyzL,R1231)); + + CCTK_REAL_VEC R4p1232 = kmadd(kxzL,kyyL,knmsub(kxyL,kyzL,R1232)); + + CCTK_REAL_VEC R4p1233 = R1233; + + CCTK_REAL_VEC R4p1311 = R1311; + + CCTK_REAL_VEC R4p1312 = kmadd(kxxL,kyzL,knmsub(kxyL,kxzL,R1312)); + + CCTK_REAL_VEC R4p1313 = kmadd(kxxL,kzzL,ksub(R1313,SQR(kxzL))); + + CCTK_REAL_VEC R4p1321 = kmadd(kxyL,kxzL,knmsub(kxxL,kyzL,R1321)); + + CCTK_REAL_VEC R4p1322 = R1322; + + CCTK_REAL_VEC R4p1323 = kmadd(kxyL,kzzL,knmsub(kxzL,kyzL,R1323)); + + CCTK_REAL_VEC R4p1331 = kadd(R1331,knmsub(kxxL,kzzL,SQR(kxzL))); + + CCTK_REAL_VEC R4p1332 = kmadd(kxzL,kyzL,knmsub(kxyL,kzzL,R1332)); + + CCTK_REAL_VEC R4p1333 = R1333; + + CCTK_REAL_VEC R4p2111 = R2111; + + CCTK_REAL_VEC R4p2112 = kadd(R2112,knmsub(kxxL,kyyL,SQR(kxyL))); + + CCTK_REAL_VEC R4p2113 = kmadd(kxyL,kxzL,knmsub(kxxL,kyzL,R2113)); + + CCTK_REAL_VEC R4p2121 = kmadd(kxxL,kyyL,ksub(R2121,SQR(kxyL))); + + CCTK_REAL_VEC R4p2122 = R2122; + + CCTK_REAL_VEC R4p2123 = kmadd(kxzL,kyyL,knmsub(kxyL,kyzL,R2123)); + + CCTK_REAL_VEC R4p2131 = kmadd(kxxL,kyzL,knmsub(kxyL,kxzL,R2131)); + + CCTK_REAL_VEC R4p2132 = kmadd(kxyL,kyzL,knmsub(kxzL,kyyL,R2132)); + + CCTK_REAL_VEC R4p2133 = R2133; + + CCTK_REAL_VEC R4p2211 = R2211; + + CCTK_REAL_VEC R4p2212 = R2212; + + CCTK_REAL_VEC R4p2213 = R2213; + + CCTK_REAL_VEC R4p2221 = R2221; + + CCTK_REAL_VEC R4p2222 = R2222; + + CCTK_REAL_VEC R4p2223 = R2223; + + CCTK_REAL_VEC R4p2231 = R2231; + + CCTK_REAL_VEC R4p2232 = R2232; + + CCTK_REAL_VEC R4p2233 = R2233; + + CCTK_REAL_VEC R4p2311 = R2311; + + CCTK_REAL_VEC R4p2312 = kmadd(kxyL,kyzL,knmsub(kxzL,kyyL,R2312)); + + CCTK_REAL_VEC R4p2313 = kmadd(kxyL,kzzL,knmsub(kxzL,kyzL,R2313)); + + CCTK_REAL_VEC R4p2321 = kmadd(kxzL,kyyL,knmsub(kxyL,kyzL,R2321)); + + CCTK_REAL_VEC R4p2322 = R2322; + + CCTK_REAL_VEC R4p2323 = kmadd(kyyL,kzzL,ksub(R2323,SQR(kyzL))); + + CCTK_REAL_VEC R4p2331 = kmadd(kxzL,kyzL,knmsub(kxyL,kzzL,R2331)); + + CCTK_REAL_VEC R4p2332 = kadd(R2332,knmsub(kyyL,kzzL,SQR(kyzL))); + + CCTK_REAL_VEC R4p2333 = R2333; + + CCTK_REAL_VEC R4p3111 = R3111; + + CCTK_REAL_VEC R4p3112 = kmadd(kxyL,kxzL,knmsub(kxxL,kyzL,R3112)); + + CCTK_REAL_VEC R4p3113 = kadd(R3113,knmsub(kxxL,kzzL,SQR(kxzL))); + + CCTK_REAL_VEC R4p3121 = kmadd(kxxL,kyzL,knmsub(kxyL,kxzL,R3121)); + + CCTK_REAL_VEC R4p3122 = R3122; + + CCTK_REAL_VEC R4p3123 = kmadd(kxzL,kyzL,knmsub(kxyL,kzzL,R3123)); + + CCTK_REAL_VEC R4p3131 = kmadd(kxxL,kzzL,ksub(R3131,SQR(kxzL))); + + CCTK_REAL_VEC R4p3132 = kmadd(kxyL,kzzL,knmsub(kxzL,kyzL,R3132)); + + CCTK_REAL_VEC R4p3133 = R3133; + + CCTK_REAL_VEC R4p3211 = R3211; + + CCTK_REAL_VEC R4p3212 = kmadd(kxzL,kyyL,knmsub(kxyL,kyzL,R3212)); + + CCTK_REAL_VEC R4p3213 = kmadd(kxzL,kyzL,knmsub(kxyL,kzzL,R3213)); + + CCTK_REAL_VEC R4p3221 = kmadd(kxyL,kyzL,knmsub(kxzL,kyyL,R3221)); + + CCTK_REAL_VEC R4p3222 = R3222; + + CCTK_REAL_VEC R4p3223 = kadd(R3223,knmsub(kyyL,kzzL,SQR(kyzL))); + + CCTK_REAL_VEC R4p3231 = kmadd(kxyL,kzzL,knmsub(kxzL,kyzL,R3231)); + + CCTK_REAL_VEC R4p3232 = kmadd(kyyL,kzzL,ksub(R3232,SQR(kyzL))); + + CCTK_REAL_VEC R4p3233 = R3233; + + CCTK_REAL_VEC R4p3311 = R3311; + + CCTK_REAL_VEC R4p3312 = R3312; + + CCTK_REAL_VEC R4p3313 = R3313; + + CCTK_REAL_VEC R4p3321 = R3321; + + CCTK_REAL_VEC R4p3322 = R3322; + + CCTK_REAL_VEC R4p3323 = R3323; + + CCTK_REAL_VEC R4p3331 = R3331; + + CCTK_REAL_VEC R4p3332 = R3332; + + CCTK_REAL_VEC R4p3333 = R3333; + + CCTK_REAL_VEC Ro111 = ToReal(0); + + CCTK_REAL_VEC Ro112 = + kadd(JacPDstandard4th1kxy,kmadd(gamma121,kxxL,kmadd(gamma321,kxzL,ksub(knmsub(gamma211,kyyL,kmsub(kxyL,ksub(gamma221,gamma111),kmul(gamma311,kyzL))),JacPDstandard4th2kxx)))); + + CCTK_REAL_VEC Ro113 = + kadd(JacPDstandard4th1kxz,kmadd(gamma131,kxxL,kmadd(gamma231,kxyL,ksub(knmsub(gamma211,kyzL,kmsub(kxzL,ksub(gamma331,gamma111),kmul(gamma311,kzzL))),JacPDstandard4th3kxx)))); + + CCTK_REAL_VEC Ro121 = + kadd(JacPDstandard4th2kxx,kmadd(gamma211,kyyL,kmadd(gamma311,kyzL,ksub(knmsub(gamma121,kxxL,kmsub(kxyL,ksub(gamma111,gamma221),kmul(gamma321,kxzL))),JacPDstandard4th1kxy)))); + + CCTK_REAL_VEC Ro122 = ToReal(0); + + CCTK_REAL_VEC Ro123 = + kadd(JacPDstandard4th2kxz,kmadd(gamma131,kxyL,kmadd(gamma231,kyyL,ksub(knmsub(gamma121,kxzL,kmsub(kyzL,ksub(gamma331,gamma221),kmul(gamma321,kzzL))),JacPDstandard4th3kxy)))); + + CCTK_REAL_VEC Ro131 = + kadd(JacPDstandard4th3kxx,kmadd(gamma211,kyzL,kmadd(gamma311,kzzL,ksub(knmsub(gamma131,kxxL,kmsub(kxzL,ksub(gamma111,gamma331),kmul(gamma231,kxyL))),JacPDstandard4th1kxz)))); + + CCTK_REAL_VEC Ro132 = + kadd(JacPDstandard4th3kxy,kmadd(gamma121,kxzL,kmadd(gamma321,kzzL,ksub(knmsub(gamma131,kxyL,kmsub(kyzL,ksub(gamma221,gamma331),kmul(gamma231,kyyL))),JacPDstandard4th2kxz)))); + + CCTK_REAL_VEC Ro133 = ToReal(0); + + CCTK_REAL_VEC Ro211 = ToReal(0); + + CCTK_REAL_VEC Ro212 = + kadd(JacPDstandard4th1kyy,kmadd(gamma122,kxxL,kmadd(gamma322,kxzL,ksub(knmsub(gamma221,kyyL,kmsub(kxyL,ksub(gamma222,gamma121),kmul(gamma321,kyzL))),JacPDstandard4th2kxy)))); + + CCTK_REAL_VEC Ro213 = + kadd(JacPDstandard4th1kyz,kmadd(gamma132,kxxL,kmadd(gamma232,kxyL,ksub(knmsub(gamma221,kyzL,kmsub(kxzL,ksub(gamma332,gamma121),kmul(gamma321,kzzL))),JacPDstandard4th3kxy)))); + + CCTK_REAL_VEC Ro221 = + kadd(JacPDstandard4th2kxy,kmadd(gamma221,kyyL,kmadd(gamma321,kyzL,ksub(knmsub(gamma122,kxxL,kmsub(kxyL,ksub(gamma121,gamma222),kmul(gamma322,kxzL))),JacPDstandard4th1kyy)))); + + CCTK_REAL_VEC Ro222 = ToReal(0); + + CCTK_REAL_VEC Ro223 = + kadd(JacPDstandard4th2kyz,kmadd(gamma132,kxyL,kmadd(gamma232,kyyL,ksub(knmsub(gamma122,kxzL,kmsub(kyzL,ksub(gamma332,gamma222),kmul(gamma322,kzzL))),JacPDstandard4th3kyy)))); + + CCTK_REAL_VEC Ro231 = + kadd(JacPDstandard4th3kxy,kmadd(gamma221,kyzL,kmadd(gamma321,kzzL,ksub(knmsub(gamma132,kxxL,kmsub(kxzL,ksub(gamma121,gamma332),kmul(gamma232,kxyL))),JacPDstandard4th1kyz)))); + + CCTK_REAL_VEC Ro232 = + kadd(JacPDstandard4th3kyy,kmadd(gamma122,kxzL,kmadd(gamma322,kzzL,ksub(knmsub(gamma132,kxyL,kmsub(kyzL,ksub(gamma222,gamma332),kmul(gamma232,kyyL))),JacPDstandard4th2kyz)))); + + CCTK_REAL_VEC Ro233 = ToReal(0); + + CCTK_REAL_VEC Ro311 = ToReal(0); + + CCTK_REAL_VEC Ro312 = + kadd(JacPDstandard4th1kyz,kmadd(gamma132,kxxL,kmadd(gamma332,kxzL,ksub(knmsub(gamma231,kyyL,kmsub(kxyL,ksub(gamma232,gamma131),kmul(gamma331,kyzL))),JacPDstandard4th2kxz)))); + + CCTK_REAL_VEC Ro313 = + kadd(JacPDstandard4th1kzz,kmadd(gamma133,kxxL,kmadd(gamma233,kxyL,ksub(knmsub(gamma231,kyzL,kmsub(kxzL,ksub(gamma333,gamma131),kmul(gamma331,kzzL))),JacPDstandard4th3kxz)))); + + CCTK_REAL_VEC Ro321 = + kadd(JacPDstandard4th2kxz,kmadd(gamma231,kyyL,kmadd(gamma331,kyzL,ksub(knmsub(gamma132,kxxL,kmsub(kxyL,ksub(gamma131,gamma232),kmul(gamma332,kxzL))),JacPDstandard4th1kyz)))); + + CCTK_REAL_VEC Ro322 = ToReal(0); + + CCTK_REAL_VEC Ro323 = + kadd(JacPDstandard4th2kzz,kmadd(gamma133,kxyL,kmadd(gamma233,kyyL,ksub(knmsub(gamma132,kxzL,kmsub(kyzL,ksub(gamma333,gamma232),kmul(gamma332,kzzL))),JacPDstandard4th3kyz)))); + + CCTK_REAL_VEC Ro331 = + kadd(JacPDstandard4th3kxz,kmadd(gamma231,kyzL,kmadd(gamma331,kzzL,ksub(knmsub(gamma133,kxxL,kmsub(kxzL,ksub(gamma131,gamma333),kmul(gamma233,kxyL))),JacPDstandard4th1kzz)))); + + CCTK_REAL_VEC Ro332 = + kadd(JacPDstandard4th3kyz,kmadd(gamma132,kxzL,kmadd(gamma332,kzzL,ksub(knmsub(gamma133,kxyL,kmsub(kyzL,ksub(gamma232,gamma333),kmul(gamma233,kyyL))),JacPDstandard4th2kzz)))); + + CCTK_REAL_VEC Ro333 = ToReal(0); + + CCTK_REAL_VEC Rojo11 = + kmadd(gInv11,R1111,kmadd(gInv12,R1112,kmadd(gInv13,R1113,kmadd(gInv21,R1211,kmadd(gInv31,R1311,kmadd(gInv23,kmadd(kxxL,kyzL,knmsub(kxyL,kxzL,R1213)),kmadd(gInv32,kmadd(kxxL,kyzL,knmsub(kxyL,kxzL,R1312)),kmadd(gInv22,kmadd(kxxL,kyyL,ksub(R1212,SQR(kxyL))),kmul(gInv33,kmadd(kxxL,kzzL,ksub(R1313,SQR(kxzL)))))))))))); + + CCTK_REAL_VEC Rojo12 = + kmadd(gInv11,R1121,kmadd(gInv21,R1221,kmadd(gInv22,R1222,kmadd(gInv23,R1223,kmadd(gInv31,R1321,kmadd(gInv12,kadd(R1122,knmsub(kxxL,kyyL,SQR(kxyL))),kmadd(gInv32,kmadd(kxyL,kyzL,knmsub(kxzL,kyyL,R1322)),kmadd(gInv13,kmadd(kxyL,kxzL,knmsub(kxxL,kyzL,R1123)),kmul(gInv33,kmadd(kxyL,kzzL,knmsub(kxzL,kyzL,R1323))))))))))); + + CCTK_REAL_VEC Rojo13 = + kmadd(gInv11,R1131,kmadd(gInv21,R1231,kmadd(gInv31,R1331,kmadd(gInv32,R1332,kmadd(gInv33,R1333,kmadd(gInv12,kmadd(kxyL,kxzL,knmsub(kxxL,kyzL,R1132)),kmadd(gInv22,kmadd(kxzL,kyyL,knmsub(kxyL,kyzL,R1232)),kmadd(gInv13,kadd(R1133,knmsub(kxxL,kzzL,SQR(kxzL))),kmul(gInv23,kmadd(kxzL,kyzL,knmsub(kxyL,kzzL,R1233))))))))))); + + CCTK_REAL_VEC Rojo21 = + kmadd(gInv11,R2111,kmadd(gInv12,R2112,kmadd(gInv13,R2113,kmadd(gInv22,R2212,kmadd(gInv32,R2312,kmadd(gInv21,kadd(R2211,knmsub(kxxL,kyyL,SQR(kxyL))),kmadd(gInv23,kmadd(kxyL,kyzL,knmsub(kxzL,kyyL,R2213)),kmadd(gInv31,kmadd(kxyL,kxzL,knmsub(kxxL,kyzL,R2311)),kmul(gInv33,kmadd(kxyL,kzzL,knmsub(kxzL,kyzL,R2313))))))))))); + + CCTK_REAL_VEC Rojo22 = + kmadd(gInv12,R2122,kmadd(gInv21,R2221,kmadd(gInv22,R2222,kmadd(gInv23,R2223,kmadd(gInv32,R2322,kmadd(gInv13,kmadd(kxzL,kyyL,knmsub(kxyL,kyzL,R2123)),kmadd(gInv31,kmadd(kxzL,kyyL,knmsub(kxyL,kyzL,R2321)),kmadd(gInv11,kmadd(kxxL,kyyL,ksub(R2121,SQR(kxyL))),kmul(gInv33,kmadd(kyyL,kzzL,ksub(R2323,SQR(kyzL)))))))))))); + + CCTK_REAL_VEC Rojo23 = + kmadd(gInv12,R2132,kmadd(gInv22,R2232,kmadd(gInv31,R2331,kmadd(gInv32,R2332,kmadd(gInv33,R2333,kmadd(gInv11,kmadd(kxxL,kyzL,knmsub(kxyL,kxzL,R2131)),kmadd(gInv21,kmadd(kxyL,kyzL,knmsub(kxzL,kyyL,R2231)),kmadd(gInv13,kmadd(kxzL,kyzL,knmsub(kxyL,kzzL,R2133)),kmul(gInv23,kadd(R2233,knmsub(kyyL,kzzL,SQR(kyzL)))))))))))); + + CCTK_REAL_VEC Rojo31 = + kmadd(gInv11,R3111,kmadd(gInv12,R3112,kmadd(gInv13,R3113,kmadd(gInv23,R3213,kmadd(gInv33,R3313,kmadd(gInv21,kmadd(kxyL,kxzL,knmsub(kxxL,kyzL,R3211)),kmadd(gInv22,kmadd(kxzL,kyyL,knmsub(kxyL,kyzL,R3212)),kmadd(gInv31,kadd(R3311,knmsub(kxxL,kzzL,SQR(kxzL))),kmul(gInv32,kmadd(kxzL,kyzL,knmsub(kxyL,kzzL,R3312))))))))))); + + CCTK_REAL_VEC Rojo32 = + kmadd(gInv13,R3123,kmadd(gInv21,R3221,kmadd(gInv22,R3222,kmadd(gInv23,R3223,kmadd(gInv33,R3323,kmadd(gInv11,kmadd(kxxL,kyzL,knmsub(kxyL,kxzL,R3121)),kmadd(gInv12,kmadd(kxyL,kyzL,knmsub(kxzL,kyyL,R3122)),kmadd(gInv31,kmadd(kxzL,kyzL,knmsub(kxyL,kzzL,R3321)),kmul(gInv32,kadd(R3322,knmsub(kyyL,kzzL,SQR(kyzL)))))))))))); + + CCTK_REAL_VEC Rojo33 = + kmadd(gInv13,R3133,kmadd(gInv23,R3233,kmadd(gInv31,R3331,kmadd(gInv32,R3332,kmadd(gInv33,R3333,kmadd(gInv12,kmadd(kxyL,kzzL,knmsub(kxzL,kyzL,R3132)),kmadd(gInv21,kmadd(kxyL,kzzL,knmsub(kxzL,kyzL,R3231)),kmadd(gInv11,kmadd(kxxL,kzzL,ksub(R3131,SQR(kxzL))),kmul(gInv22,kmadd(kyyL,kzzL,ksub(R3232,SQR(kyzL)))))))))))); + + CCTK_REAL_VEC Psi4rL = + kmadd(R4p1112,kmul(rmbar1,kmul(rmbar2,SQR(n1))),kmadd(R4p1211,kmul(rmbar1,kmul(rmbar2,SQR(n1))),kmadd(R4p1113,kmul(rmbar1,kmul(rmbar3,SQR(n1))),kmadd(R4p1311,kmul(rmbar1,kmul(rmbar3,SQR(n1))),kmadd(R4p1213,kmul(rmbar2,kmul(rmbar3,SQR(n1))),kmadd(R4p1312,kmul(rmbar2,kmul(rmbar3,SQR(n1))),kmadd(R4p2122,kmul(rmbar1,kmul(rmbar2,SQR(n2))),kmadd(R4p2221,kmul(rmbar1,kmul(rmbar2,SQR(n2))),kmadd(R4p2123,kmul(rmbar1,kmul(rmbar3,SQR(n2))),kmadd(R4p2321,kmul(rmbar1,kmul(rmbar3,SQR(n2))),kmadd(R4p2223,kmul(rmbar2,kmul(rmbar3,SQR(n2))),kmadd(R4p2322,kmul(rmbar2,kmul(rmbar3,SQR(n2))),kmadd(R4p3132,kmul(rmbar1,kmul(rmbar2,SQR(n3))),kmadd(R4p3231,kmul(rmbar1,kmul(rmbar2,SQR(n3))),kmadd(R4p3133,kmul(rmbar1,kmul(rmbar3,SQR(n3))),kmadd(R4p3331,kmul(rmbar1,kmul(rmbar3,SQR(n3))),kmadd(R4p3233,kmul(rmbar2,kmul(rmbar3,SQR(n3))),kmadd(R4p3332,kmul(rmbar2,kmul(rmbar3,SQR(n3))),kmadd(rmbar1,kmul(rmbar2,kmul(Rojo12,SQR(nn))),kmadd(rmbar1,kmul(rmbar3,kmul(Rojo13,SQR(nn))),kmadd(rmbar1,kmul(rmbar2,kmul(Rojo21,SQR(nn))),kmadd(rmbar2,kmul(rmbar3,kmul(Rojo23,SQR(nn))),kmadd(rmbar1,kmul(rmbar3,kmul(Rojo31,SQR(nn))),kmadd(rmbar2,kmul(rmbar3,kmul(Rojo32,SQR(nn))),kmadd(n1,kmul(n2,kmul(R4p1121,SQR(rmbar1))),kmadd(n1,kmul(n3,kmul(R4p1131,SQR(rmbar1))),kmadd(n1,kmul(n2,kmul(R4p2111,SQR(rmbar1))),kmadd(n2,kmul(n3,kmul(R4p2131,SQR(rmbar1))),kmadd(n1,kmul(n3,kmul(R4p3111,SQR(rmbar1))),kmadd(n2,kmul(n3,kmul(R4p3121,SQR(rmbar1))),kmadd(R4p1111,kmul(SQR(n1),SQR(rmbar1)),kmadd(R4p2121,kmul(SQR(n2),SQR(rmbar1)),kmadd(R4p3131,kmul(SQR(n3),SQR(rmbar1)),kmadd(Rojo11,kmul(SQR(nn),SQR(rmbar1)),kmadd(n1,kmul(n2,kmul(R4p1222,SQR(rmbar2))),kmadd(n1,kmul(n3,kmul(R4p1232,SQR(rmbar2))),kmadd(n1,kmul(n2,kmul(R4p2212,SQR(rmbar2))),kmadd(n2,kmul(n3,kmul(R4p2232,SQR(rmbar2))),kmadd(n1,kmul(n3,kmul(R4p3212,SQR(rmbar2))),kmadd(n2,kmul(n3,kmul(R4p3222,SQR(rmbar2))),kmadd(R4p1212,kmul(SQR(n1),SQR(rmbar2)),kmadd(R4p2222,kmul(SQR(n2),SQR(rmbar2)),kmadd(R4p3232,kmul(SQR(n3),SQR(rmbar2)),kmadd(Rojo22,kmul(SQR(nn),SQR(rmbar2)),kmadd(n1,kmul(n2,kmul(R4p1323,SQR(rmbar3))),kmadd(n1,kmul(n3,kmul(R4p1333,SQR(rmbar3))),kmadd(n1,kmul(n2,kmul(R4p2313,SQR(rmbar3))),kmadd(n2,kmul(n3,kmul(R4p2333,SQR(rmbar3))),kmadd(n1,kmul(n3,kmul(R4p3313,SQR(rmbar3))),kmadd(n2,kmul(n3,kmul(R4p3323,SQR(rmbar3))),kmadd(R4p1313,kmul(SQR(n1),SQR(rmbar3)),kmadd(R4p2323,kmul(SQR(n2),SQR(rmbar3)),kmadd(R4p3333,kmul(SQR(n3),SQR(rmbar3)),kmadd(Rojo33,kmul(SQR(nn),SQR(rmbar3)),knmsub(n3,kmul(SQR(imbar3),kmadd(n1,R4p3313,kmul(n2,R4p2333))),kmadd(SQR(imbar3),kmsub(n2,kmul(nn,kmul(Ro323,ToReal(-2))),kmul(R4p2323,SQR(n2))),kmadd(SQR(imbar3),kmsub(n3,kmul(nn,kmul(Ro333,ToReal(-2))),kmul(R4p3333,SQR(n3))),kmadd(SQR(imbar3),kmsub(n1,kmul(nn,kmul(Ro313,ToReal(-2))),kmadd(n2,kmul(n3,R4p3323),kmadd(Rojo33,SQR(nn),kmul(R4p1313,SQR(n1))))),kmadd(n1,kmul(nn,kmul(Ro111,kmul(SQR(rmbar1),ToReal(2)))),kmadd(n2,kmul(nn,kmul(Ro121,kmul(SQR(rmbar1),ToReal(2)))),kmadd(n3,kmul(nn,kmul(Ro131,kmul(SQR(rmbar1),ToReal(2)))),kmadd(n1,kmul(nn,kmul(Ro212,kmul(SQR(rmbar2),ToReal(2)))),kmadd(n2,kmul(nn,kmul(Ro222,kmul(SQR(rmbar2),ToReal(2)))),kmadd(n3,kmul(nn,kmul(Ro232,kmul(SQR(rmbar2),ToReal(2)))),kmadd(n1,kmul(nn,kmul(Ro313,kmul(SQR(rmbar3),ToReal(2)))),kmadd(n2,kmul(nn,kmul(Ro323,kmul(SQR(rmbar3),ToReal(2)))),kmadd(n3,kmul(nn,kmul(Ro333,kmul(SQR(rmbar3),ToReal(2)))),kmadd(n1,kmadd(n3,kmul(R4p1132,kmul(rmbar1,rmbar2)),kmadd(n2,kmul(R4p1221,kmul(rmbar1,rmbar2)),kmadd(n3,kmul(R4p1231,kmul(rmbar1,rmbar2)),kmadd(n2,kmul(R4p1123,kmul(rmbar1,rmbar3)),kmadd(n3,kmul(R4p1331,kmul(rmbar1,rmbar3)),kmadd(n2,kmul(R4p2113,kmul(rmbar1,rmbar3)),kmadd(n3,kmul(R4p1233,kmul(rmbar2,rmbar3)),kmadd(n2,kmul(R4p1322,kmul(rmbar2,rmbar3)),kmadd(n3,kmul(R4p1332,kmul(rmbar2,rmbar3)),kmadd(n2,kmul(R4p2213,kmul(rmbar2,rmbar3)),kmadd(n2,kmsub(R4p1122,kmul(rmbar1,rmbar2),kmul(R4p1323,SQR(imbar3))),kmadd(nn,kmul(rmbar1,kmul(rmbar2,kmul(Ro112,ToReal(2)))),kmadd(nn,kmul(rmbar1,kmul(rmbar3,kmul(Ro113,ToReal(2)))),kmadd(nn,kmul(rmbar1,kmul(rmbar2,kmul(Ro211,ToReal(2)))),kmadd(nn,kmul(rmbar2,kmul(rmbar3,kmul(Ro213,ToReal(2)))),kmadd(nn,kmul(rmbar1,kmul(rmbar3,kmul(Ro311,ToReal(2)))),kmul(nn,kmul(rmbar2,kmul(rmbar3,kmul(Ro312,ToReal(2))))))))))))))))))))),kmadd(n2,kmadd(n3,kmul(R4p2132,kmul(rmbar1,rmbar2)),kmadd(n1,kmul(R4p2211,kmul(rmbar1,rmbar2)),kmadd(n3,kmul(R4p2231,kmul(rmbar1,rmbar2)),kmadd(n1,kmul(R4p1321,kmul(rmbar1,rmbar3)),kmadd(n3,kmul(R4p2133,kmul(rmbar1,rmbar3)),kmadd(n1,kmul(R4p2311,kmul(rmbar1,rmbar3)),kmadd(n3,kmul(R4p3321,kmul(rmbar1,rmbar3)),kmadd(n1,kmul(R4p1223,kmul(rmbar2,rmbar3)),kmadd(n3,kmul(R4p2233,kmul(rmbar2,rmbar3)),kmadd(n1,kmul(R4p2312,kmul(rmbar2,rmbar3)),kmadd(n1,kmsub(R4p2112,kmul(rmbar1,rmbar2),kmul(R4p2313,SQR(imbar3))),kmadd(nn,kmul(rmbar1,kmul(rmbar2,kmul(Ro122,ToReal(2)))),kmadd(nn,kmul(rmbar1,kmul(rmbar3,kmul(Ro123,ToReal(2)))),kmadd(nn,kmul(rmbar1,kmul(rmbar2,kmul(Ro221,ToReal(2)))),kmadd(nn,kmul(rmbar2,kmul(rmbar3,kmul(Ro223,ToReal(2)))),kmadd(nn,kmul(rmbar1,kmul(rmbar3,kmul(Ro321,ToReal(2)))),kmul(nn,kmul(rmbar2,kmul(rmbar3,kmul(Ro322,ToReal(2))))))))))))))))))))),kmsub(n3,kmadd(n2,kmul(R4p3122,kmul(rmbar1,rmbar2)),kmadd(n1,kmul(R4p3211,kmul(rmbar1,rmbar2)),kmadd(n2,kmul(R4p3221,kmul(rmbar1,rmbar2)),kmadd(n1,kmul(R4p1133,kmul(rmbar1,rmbar3)),kmadd(n2,kmul(R4p2331,kmul(rmbar1,rmbar3)),kmadd(n1,kmul(R4p3113,kmul(rmbar1,rmbar3)),kmadd(n2,kmul(R4p3123,kmul(rmbar1,rmbar3)),kmadd(n1,kmul(R4p3311,kmul(rmbar1,rmbar3)),kmadd(n2,kmul(R4p2332,kmul(rmbar2,rmbar3)),kmadd(n1,kmul(R4p3213,kmul(rmbar2,rmbar3)),kmadd(n2,kmul(R4p3223,kmul(rmbar2,rmbar3)),kmadd(n1,kmul(R4p3312,kmul(rmbar2,rmbar3)),kmadd(n2,kmul(R4p3322,kmul(rmbar2,rmbar3)),kmadd(n1,kmsub(R4p3112,kmul(rmbar1,rmbar2),kmul(R4p1333,SQR(imbar3))),kmadd(nn,kmul(rmbar1,kmul(rmbar2,kmul(Ro132,ToReal(2)))),kmadd(nn,kmul(rmbar1,kmul(rmbar3,kmul(Ro133,ToReal(2)))),kmadd(nn,kmul(rmbar1,kmul(rmbar2,kmul(Ro231,ToReal(2)))),kmadd(nn,kmul(rmbar2,kmul(rmbar3,kmul(Ro233,ToReal(2)))),kmadd(nn,kmul(rmbar1,kmul(rmbar3,kmul(Ro331,ToReal(2)))),kmul(nn,kmul(rmbar2,kmul(rmbar3,kmul(Ro332,ToReal(2)))))))))))))))))))))))),kmadd(SQR(imbar1),kmadd(n2,kmul(n3,R4p2131),kmadd(n2,kmul(n3,R4p3121),kmadd(R4p1111,SQR(n1),kmadd(R4p2121,SQR(n2),kmadd(R4p3131,SQR(n3),kmadd(Rojo11,SQR(nn),kmadd(n2,kmul(nn,kmul(Ro121,ToReal(2))),kmadd(n3,kmul(nn,kmul(Ro131,ToReal(2))),kmul(n1,kmadd(n2,kadd(R4p1121,R4p2111),kmadd(n3,kadd(R4p1131,R4p3111),kmul(nn,kmul(Ro111,ToReal(2)))))))))))))),kmadd(SQR(imbar2),kmadd(n2,kmul(n3,R4p2232),kmadd(n2,kmul(n3,R4p3222),kmadd(R4p1212,SQR(n1),kmadd(R4p2222,SQR(n2),kmadd(R4p3232,SQR(n3),kmadd(Rojo22,SQR(nn),kmadd(n2,kmul(nn,kmul(Ro222,ToReal(2))),kmadd(n3,kmul(nn,kmul(Ro232,ToReal(2))),kmul(n1,kmadd(n2,kadd(R4p1222,R4p2212),kmadd(n3,kadd(R4p1232,R4p3212),kmul(nn,kmul(Ro212,ToReal(2)))))))))))))),kmadd(imbar2,kmul(imbar3,kmadd(kadd(R4p1213,R4p1312),SQR(n1),kmadd(kadd(R4p2223,R4p2322),SQR(n2),kmadd(R4p3233,SQR(n3),kmadd(R4p3332,SQR(n3),kmadd(Rojo23,SQR(nn),kmadd(Rojo32,SQR(nn),kmadd(n3,kmul(nn,kmul(Ro233,ToReal(2))),kmadd(n3,kmul(nn,kmul(Ro332,ToReal(2))),kmadd(n1,kmadd(n2,kadd(R4p1223,kadd(R4p1322,kadd(R4p2213,R4p2312))),kmadd(n3,kadd(R4p1233,kadd(R4p1332,kadd(R4p3213,R4p3312))),kmul(nn,kmul(kadd(Ro213,Ro312),ToReal(2))))),kmul(n2,kmadd(n3,kadd(R4p2233,kadd(R4p2332,kadd(R4p3223,R4p3322))),kmul(nn,kmul(kadd(Ro223,Ro322),ToReal(2))))))))))))))),kmul(imbar1,kmadd(imbar2,kmadd(kadd(R4p1112,R4p1211),SQR(n1),kmadd(kadd(R4p2122,R4p2221),SQR(n2),kmadd(R4p3132,SQR(n3),kmadd(R4p3231,SQR(n3),kmadd(Rojo12,SQR(nn),kmadd(Rojo21,SQR(nn),kmadd(n3,kmul(nn,kmul(Ro132,ToReal(2))),kmadd(n3,kmul(nn,kmul(Ro231,ToReal(2))),kmadd(n1,kmadd(n2,kadd(R4p1122,kadd(R4p1221,kadd(R4p2112,R4p2211))),kmadd(n3,kadd(R4p1132,kadd(R4p1231,kadd(R4p3112,R4p3211))),kmul(nn,kmul(kadd(Ro112,Ro211),ToReal(2))))),kmul(n2,kmadd(n3,kadd(R4p2132,kadd(R4p2231,kadd(R4p3122,R4p3221))),kmul(nn,kmul(kadd(Ro122,Ro221),ToReal(2)))))))))))))),kmul(imbar3,kmadd(kadd(R4p1113,R4p1311),SQR(n1),kmadd(kadd(R4p2123,R4p2321),SQR(n2),kmadd(R4p3133,SQR(n3),kmadd(R4p3331,SQR(n3),kmadd(Rojo13,SQR(nn),kmadd(Rojo31,SQR(nn),kmadd(n3,kmul(nn,kmul(Ro133,ToReal(2))),kmadd(n3,kmul(nn,kmul(Ro331,ToReal(2))),kmadd(n1,kmadd(n2,kadd(R4p1123,kadd(R4p1321,kadd(R4p2113,R4p2311))),kmadd(n3,kadd(R4p1133,kadd(R4p1331,kadd(R4p3113,R4p3311))),kmul(nn,kmul(kadd(Ro113,Ro311),ToReal(2))))),kmul(n2,kmadd(n3,kadd(R4p2133,kadd(R4p2331,kadd(R4p3123,R4p3321))),kmul(nn,kmul(kadd(Ro123,Ro321),ToReal(2)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))); + + CCTK_REAL_VEC Psi4iL = + knmadd(im1,kmadd(R4p3132,kmul(rm2,SQR(n3)),kmadd(R4p3231,kmul(rm2,SQR(n3)),kmadd(R4p3133,kmul(rm3,SQR(n3)),kmadd(R4p3331,kmul(rm3,SQR(n3)),kmadd(rm2,kmul(Rojo12,SQR(nn)),kmadd(rm3,kmul(Rojo13,SQR(nn)),kmadd(rm2,kmul(Rojo21,SQR(nn)),kmadd(rm3,kmul(Rojo31,SQR(nn)),kmadd(n3,kmul(nn,kmul(rm2,kmul(Ro132,ToReal(2)))),kmadd(n3,kmul(nn,kmul(rm3,kmul(Ro133,ToReal(2)))),kmadd(n3,kmul(nn,kmul(rm2,kmul(Ro231,ToReal(2)))),kmadd(n3,kmul(nn,kmul(rm3,kmul(Ro331,ToReal(2)))),kmadd(R4p3131,kmul(rm1,kmul(SQR(n3),ToReal(2))),kmadd(rm1,kmul(Rojo11,kmul(SQR(nn),ToReal(2))),kmadd(SQR(n1),kmadd(R4p1112,rm2,kmadd(R4p1211,rm2,kmadd(R4p1113,rm3,kmadd(R4p1311,rm3,kmul(R4p1111,kmul(rm1,ToReal(2))))))),kmadd(SQR(n2),kmadd(R4p2122,rm2,kmadd(R4p2221,rm2,kmadd(R4p2123,rm3,kmadd(R4p2321,rm3,kmul(R4p2121,kmul(rm1,ToReal(2))))))),kmadd(n1,kmadd(n2,kmadd(R4p1122,rm2,kmadd(R4p1221,rm2,kmadd(R4p2112,rm2,kmadd(R4p2211,rm2,kmadd(R4p1123,rm3,kmadd(R4p1321,rm3,kmadd(R4p2113,rm3,kmadd(R4p2311,rm3,kmadd(R4p1121,kmul(rm1,ToReal(2)),kmul(R4p2111,kmul(rm1,ToReal(2)))))))))))),kmadd(n3,kmadd(R4p1132,rm2,kmadd(R4p1231,rm2,kmadd(R4p3112,rm2,kmadd(R4p3211,rm2,kmadd(R4p1133,rm3,kmadd(R4p1331,rm3,kmadd(R4p3113,rm3,kmadd(R4p3311,rm3,kmadd(R4p1131,kmul(rm1,ToReal(2)),kmul(R4p3111,kmul(rm1,ToReal(2)))))))))))),kmul(nn,kmul(ToReal(2),kmadd(rm2,kadd(Ro112,Ro211),kmadd(rm3,kadd(Ro113,Ro311),kmul(rm1,kmul(Ro111,ToReal(2))))))))),kmadd(n2,kmadd(n3,kmadd(R4p2132,rm2,kmadd(R4p2231,rm2,kmadd(R4p3122,rm2,kmadd(R4p3221,rm2,kmadd(R4p2133,rm3,kmadd(R4p2331,rm3,kmadd(R4p3123,rm3,kmadd(R4p3321,rm3,kmadd(R4p2131,kmul(rm1,ToReal(2)),kmul(R4p3121,kmul(rm1,ToReal(2)))))))))))),kmul(nn,kmul(ToReal(2),kmadd(rm2,kadd(Ro122,Ro221),kmadd(rm3,kadd(Ro123,Ro321),kmul(rm1,kmul(Ro121,ToReal(2)))))))),kmul(n3,kmul(nn,kmul(rm1,kmul(Ro131,ToReal(4))))))))))))))))))))))),kmadd(im3,kmadd(R4p3133,kmul(rm1,SQR(n3)),kmadd(R4p3331,kmul(rm1,SQR(n3)),kmadd(R4p3233,kmul(rm2,SQR(n3)),kmadd(R4p3332,kmul(rm2,SQR(n3)),kmadd(rm1,kmul(Rojo13,SQR(nn)),kmadd(rm2,kmul(Rojo23,SQR(nn)),kmadd(rm1,kmul(Rojo31,SQR(nn)),kmadd(rm2,kmul(Rojo32,SQR(nn)),kmadd(n3,kmul(nn,kmul(rm1,kmul(Ro133,ToReal(2)))),kmadd(n3,kmul(nn,kmul(rm2,kmul(Ro233,ToReal(2)))),kmadd(n3,kmul(nn,kmul(rm1,kmul(Ro331,ToReal(2)))),kmadd(n3,kmul(nn,kmul(rm2,kmul(Ro332,ToReal(2)))),kmadd(R4p3333,kmul(rm3,kmul(SQR(n3),ToReal(2))),kmadd(rm3,kmul(Rojo33,kmul(SQR(nn),ToReal(2))),kmadd(SQR(n1),kmadd(R4p1113,rm1,kmadd(R4p1311,rm1,kmadd(R4p1213,rm2,kmadd(R4p1312,rm2,kmul(R4p1313,kmul(rm3,ToReal(2))))))),kmadd(SQR(n2),kmadd(R4p2123,rm1,kmadd(R4p2321,rm1,kmadd(R4p2223,rm2,kmadd(R4p2322,rm2,kmul(R4p2323,kmul(rm3,ToReal(2))))))),kmadd(n1,kmadd(n2,kmadd(R4p1123,rm1,kmadd(R4p1321,rm1,kmadd(R4p2113,rm1,kmadd(R4p2311,rm1,kmadd(R4p1223,rm2,kmadd(R4p1322,rm2,kmadd(R4p2213,rm2,kmadd(R4p2312,rm2,kmadd(R4p1323,kmul(rm3,ToReal(2)),kmul(R4p2313,kmul(rm3,ToReal(2)))))))))))),kmadd(n3,kmadd(R4p1133,rm1,kmadd(R4p1331,rm1,kmadd(R4p3113,rm1,kmadd(R4p3311,rm1,kmadd(R4p1233,rm2,kmadd(R4p1332,rm2,kmadd(R4p3213,rm2,kmadd(R4p3312,rm2,kmadd(R4p1333,kmul(rm3,ToReal(2)),kmul(R4p3313,kmul(rm3,ToReal(2)))))))))))),kmul(nn,kmul(ToReal(2),kmadd(rm1,kadd(Ro113,Ro311),kmadd(rm2,kadd(Ro213,Ro312),kmul(rm3,kmul(Ro313,ToReal(2))))))))),kmadd(n2,kmadd(n3,kmadd(R4p2133,rm1,kmadd(R4p2331,rm1,kmadd(R4p3123,rm1,kmadd(R4p3321,rm1,kmadd(R4p2233,rm2,kmadd(R4p2332,rm2,kmadd(R4p3223,rm2,kmadd(R4p3322,rm2,kmadd(R4p2333,kmul(rm3,ToReal(2)),kmul(R4p3323,kmul(rm3,ToReal(2)))))))))))),kmul(nn,kmul(ToReal(2),kmadd(rm1,kadd(Ro123,Ro321),kmadd(rm2,kadd(Ro223,Ro322),kmul(rm3,kmul(Ro323,ToReal(2)))))))),kmul(n3,kmul(nn,kmul(rm3,kmul(Ro333,ToReal(4))))))))))))))))))))))),kmul(im2,kmadd(R4p3132,kmul(rm1,SQR(n3)),kmadd(R4p3231,kmul(rm1,SQR(n3)),kmadd(R4p3233,kmul(rm3,SQR(n3)),kmadd(R4p3332,kmul(rm3,SQR(n3)),kmadd(rm1,kmul(Rojo12,SQR(nn)),kmadd(rm1,kmul(Rojo21,SQR(nn)),kmadd(rm3,kmul(Rojo23,SQR(nn)),kmadd(rm3,kmul(Rojo32,SQR(nn)),kmadd(n3,kmul(nn,kmul(rm1,kmul(Ro132,ToReal(2)))),kmadd(n3,kmul(nn,kmul(rm1,kmul(Ro231,ToReal(2)))),kmadd(n3,kmul(nn,kmul(rm3,kmul(Ro233,ToReal(2)))),kmadd(n3,kmul(nn,kmul(rm3,kmul(Ro332,ToReal(2)))),kmadd(R4p3232,kmul(rm2,kmul(SQR(n3),ToReal(2))),kmadd(rm2,kmul(Rojo22,kmul(SQR(nn),ToReal(2))),kmadd(SQR(n1),kmadd(R4p1112,rm1,kmadd(R4p1211,rm1,kmadd(R4p1213,rm3,kmadd(R4p1312,rm3,kmul(R4p1212,kmul(rm2,ToReal(2))))))),kmadd(SQR(n2),kmadd(R4p2122,rm1,kmadd(R4p2221,rm1,kmadd(R4p2223,rm3,kmadd(R4p2322,rm3,kmul(R4p2222,kmul(rm2,ToReal(2))))))),kmadd(n1,kmadd(n2,kmadd(R4p1122,rm1,kmadd(R4p1221,rm1,kmadd(R4p2112,rm1,kmadd(R4p2211,rm1,kmadd(R4p1223,rm3,kmadd(R4p1322,rm3,kmadd(R4p2213,rm3,kmadd(R4p2312,rm3,kmadd(R4p1222,kmul(rm2,ToReal(2)),kmul(R4p2212,kmul(rm2,ToReal(2)))))))))))),kmadd(n3,kmadd(R4p1132,rm1,kmadd(R4p1231,rm1,kmadd(R4p3112,rm1,kmadd(R4p3211,rm1,kmadd(R4p1233,rm3,kmadd(R4p1332,rm3,kmadd(R4p3213,rm3,kmadd(R4p3312,rm3,kmadd(R4p1232,kmul(rm2,ToReal(2)),kmul(R4p3212,kmul(rm2,ToReal(2)))))))))))),kmul(nn,kmul(ToReal(2),kmadd(rm1,kadd(Ro112,Ro211),kmadd(rm3,kadd(Ro213,Ro312),kmul(rm2,kmul(Ro212,ToReal(2))))))))),kmadd(n2,kmadd(n3,kmadd(R4p2132,rm1,kmadd(R4p2231,rm1,kmadd(R4p3122,rm1,kmadd(R4p3221,rm1,kmadd(R4p2233,rm3,kmadd(R4p2332,rm3,kmadd(R4p3223,rm3,kmadd(R4p3322,rm3,kmadd(R4p2232,kmul(rm2,ToReal(2)),kmul(R4p3222,kmul(rm2,ToReal(2)))))))))))),kmul(nn,kmul(ToReal(2),kmadd(rm1,kadd(Ro122,Ro221),kmadd(rm3,kadd(Ro223,Ro322),kmul(rm2,kmul(Ro222,ToReal(2)))))))),kmul(n3,kmul(nn,kmul(rm2,kmul(Ro232,ToReal(4)))))))))))))))))))))))))); + + /* If necessary, store only partial vectors after the first iteration */ + + if (CCTK_REAL_VEC_SIZE > 2 && CCTK_BUILTIN_EXPECT(i < lc_imin && i+CCTK_REAL_VEC_SIZE > lc_imax, 0)) + { + ptrdiff_t const elt_count_lo = lc_imin-i; + ptrdiff_t const elt_count_hi = lc_imax-i; + vec_store_nta_partial_mid(Psi4i[index],Psi4iL,elt_count_lo,elt_count_hi); + vec_store_nta_partial_mid(Psi4r[index],Psi4rL,elt_count_lo,elt_count_hi); + break; + } + + /* If necessary, store only partial vectors after the first iteration */ + + if (CCTK_REAL_VEC_SIZE > 1 && CCTK_BUILTIN_EXPECT(i < lc_imin, 0)) + { + ptrdiff_t const elt_count = lc_imin-i; + vec_store_nta_partial_hi(Psi4i[index],Psi4iL,elt_count); + vec_store_nta_partial_hi(Psi4r[index],Psi4rL,elt_count); + continue; + } + + /* If necessary, store only partial vectors after the last iteration */ + + if (CCTK_REAL_VEC_SIZE > 1 && CCTK_BUILTIN_EXPECT(i+CCTK_REAL_VEC_SIZE > lc_imax, 0)) + { + ptrdiff_t const elt_count = lc_imax-i; + vec_store_nta_partial_lo(Psi4i[index],Psi4iL,elt_count); + vec_store_nta_partial_lo(Psi4r[index],Psi4rL,elt_count); + break; + } + vec_store_nta(Psi4i[index],Psi4iL); + vec_store_nta(Psi4r[index],Psi4rL); + } + LC_ENDLOOP3VEC (psi4_calc_4th); +} + +extern "C" void psi4_calc_4th(CCTK_ARGUMENTS) +{ + DECLARE_CCTK_ARGUMENTS; + DECLARE_CCTK_PARAMETERS; + + + if (verbose > 1) + { + CCTK_VInfo(CCTK_THORNSTRING,"Entering psi4_calc_4th_Body"); + } + + if (cctk_iteration % psi4_calc_4th_calc_every != psi4_calc_4th_calc_offset) + { + return; + } + + const char *groups[] = {"admbase::curv","admbase::metric","grid::coordinates","WeylScal4::Psi4i_group","WeylScal4::Psi4r_group"}; + GenericFD_AssertGroupStorage(cctkGH, "psi4_calc_4th", 5, groups); + + switch(fdOrder) + { + case 2: + GenericFD_EnsureStencilFits(cctkGH, "psi4_calc_4th", 2, 2, 2); + break; + + case 4: + GenericFD_EnsureStencilFits(cctkGH, "psi4_calc_4th", 2, 2, 2); + break; + + case 6: + GenericFD_EnsureStencilFits(cctkGH, "psi4_calc_4th", 2, 2, 2); + break; + + case 8: + GenericFD_EnsureStencilFits(cctkGH, "psi4_calc_4th", 2, 2, 2); + break; + } + + GenericFD_LoopOverInterior(cctkGH, &psi4_calc_4th_Body); + + if (verbose > 1) + { + CCTK_VInfo(CCTK_THORNSTRING,"Leaving psi4_calc_4th_Body"); + } +} |