aboutsummaryrefslogtreecommitdiff
path: root/src/psis_calc_Nth.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/psis_calc_Nth.cc')
-rw-r--r--src/psis_calc_Nth.cc128
1 files changed, 44 insertions, 84 deletions
diff --git a/src/psis_calc_Nth.cc b/src/psis_calc_Nth.cc
index 83e37f6..5a7f432 100644
--- a/src/psis_calc_Nth.cc
+++ b/src/psis_calc_Nth.cc
@@ -12,6 +12,7 @@
#include "cctk_Parameters.h"
#include "GenericFD.h"
#include "Differencing.h"
+#include "cctk_Loop.h"
#include "loopcontrol.h"
#include "vectors.h"
@@ -67,8 +68,6 @@ static void psis_calc_Nth_Body(cGH const * restrict const cctkGH, int const dir,
DECLARE_CCTK_PARAMETERS;
- /* Declare finite differencing variables */
-
/* Include user-supplied include files */
/* Initialise finite differencing variables */
@@ -99,30 +98,30 @@ static void psis_calc_Nth_Body(cGH const * restrict const cctkGH, int const dir,
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 p1o144dxdy = kmul(INV(kmul(dx,dy)),ToReal(0.00694444444444444444444444444444));
+ CCTK_REAL_VEC const p1o144dxdz = kmul(INV(kmul(dx,dz)),ToReal(0.00694444444444444444444444444444));
+ CCTK_REAL_VEC const p1o144dydz = kmul(INV(kmul(dy,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 p1o3600dxdy = kmul(INV(kmul(dx,dy)),ToReal(0.000277777777777777777777777777778));
+ CCTK_REAL_VEC const p1o3600dxdz = kmul(INV(kmul(dx,dz)),ToReal(0.000277777777777777777777777777778));
+ CCTK_REAL_VEC const p1o3600dydz = kmul(INV(kmul(dy,dz)),ToReal(0.000277777777777777777777777777778));
+ CCTK_REAL_VEC const p1o4dxdy = kmul(INV(kmul(dx,dy)),ToReal(0.25));
+ CCTK_REAL_VEC const p1o4dxdz = kmul(INV(kmul(dx,dz)),ToReal(0.25));
+ CCTK_REAL_VEC const p1o4dydz = kmul(INV(kmul(dy,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 p1o705600dxdy = kmul(INV(kmul(dx,dy)),ToReal(1.41723356009070294784580498866e-6));
+ CCTK_REAL_VEC const p1o705600dxdz = kmul(INV(kmul(dx,dz)),ToReal(1.41723356009070294784580498866e-6));
+ CCTK_REAL_VEC const p1o705600dydz = kmul(INV(kmul(dy,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));
@@ -188,7 +187,7 @@ static void psis_calc_Nth_Body(cGH const * restrict const cctkGH, int const dir,
/* Loop over the grid points */
#pragma omp parallel
- LC_LOOP3VEC (psis_calc_Nth,
+ LC_LOOP3VEC(psis_calc_Nth,
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)
@@ -1861,7 +1860,7 @@ static void psis_calc_Nth_Body(cGH const * restrict const cctkGH, int const dir,
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))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
+ 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,SQR(kmul(n1,rmbar1)),kmadd(R4p2121,SQR(kmul(n2,rmbar1)),kmadd(R4p3131,SQR(kmul(n3,rmbar1)),kmadd(Rojo11,SQR(kmul(nn,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,SQR(kmul(n1,rmbar2)),kmadd(R4p2222,SQR(kmul(n2,rmbar2)),kmadd(R4p3232,SQR(kmul(n3,rmbar2)),kmadd(Rojo22,SQR(kmul(nn,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(n2,kmul(nn,kmul(Ro323,kmul(SQR(imbar3),ToReal(-2)))),kmadd(n3,kmul(nn,kmul(Ro333,kmul(SQR(imbar3),ToReal(-2)))),knmsub(n3,kmul(SQR(imbar3),kmadd(n1,R4p3313,kmul(n2,R4p2333))),kmadd(SQR(imbar3),kmsub(n1,kmul(nn,kmul(Ro313,ToReal(-2))),kmul(n2,kmul(n3,R4p3323))),kmadd(R4p1313,ksub(SQR(kmul(n1,rmbar3)),SQR(kmul(imbar3,n1))),kmadd(R4p2323,ksub(SQR(kmul(n2,rmbar3)),SQR(kmul(imbar3,n2))),kmadd(R4p3333,ksub(SQR(kmul(n3,rmbar3)),SQR(kmul(imbar3,n3))),kmadd(Rojo33,ksub(SQR(kmul(nn,rmbar3)),SQR(kmul(imbar3,nn))),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))))))))))))))))))))))))));
@@ -1885,77 +1884,25 @@ static void psis_calc_Nth_Body(cGH const * restrict const cctkGH, int const dir,
kmadd(im1,kmadd(kmadd(n1,R4p1111,kmadd(n2,R4p2111,kmadd(n3,R4p3111,kmul(nn,Ro111)))),SQR(ltet1),kmadd(kmadd(n1,R4p1212,kmadd(n2,R4p2212,kmadd(n3,R4p3212,kmul(nn,Ro212)))),SQR(ltet2),kmadd(kmadd(n1,R4p1313,kmadd(n2,R4p2313,kmadd(n3,R4p3313,kmul(nn,Ro313)))),SQR(ltet3),kmadd(kmadd(n1,Rojo11,kmadd(n2,Rojo21,kmul(n3,Rojo31))),SQR(nn),kmadd(ltet3,kmsub(nn,kmsub(n1,kmul(Ro113,ToReal(-2)),kmadd(n3,kadd(Ro313,Ro133),kmul(n2,kadd(Ro213,Ro123)))),kmul(Rojo31,SQR(nn))),kmadd(ltet1,kmadd(ltet2,kmadd(n1,kadd(R4p1112,R4p1211),kmadd(n2,kadd(R4p2112,R4p2211),kmadd(n3,kadd(R4p3112,R4p3211),kmul(nn,kadd(Ro112,Ro211))))),kmsub(ltet3,kmadd(n1,kadd(R4p1113,R4p1311),kmadd(n2,kadd(R4p2113,R4p2311),kmadd(n3,kadd(R4p3113,R4p3311),kmul(nn,kadd(Ro113,Ro311))))),kmul(nn,kmadd(n2,kadd(Ro121,Ro211),kmadd(n3,kadd(Ro131,Ro311),kmadd(nn,Rojo11,kmul(n1,kmul(Ro111,ToReal(2))))))))),kmul(ltet2,kmsub(ltet3,kmadd(n1,kadd(R4p1213,R4p1312),kmadd(n2,kadd(R4p2213,R4p2312),kmadd(n3,kadd(R4p3213,R4p3312),kmul(nn,kadd(Ro213,Ro312))))),kmul(nn,kmadd(n2,kadd(Ro122,Ro212),kmadd(n3,kadd(Ro132,Ro312),kmadd(nn,Rojo21,kmul(n1,kmul(Ro112,ToReal(2))))))))))))))),kmadd(im2,kmadd(kmadd(n1,R4p1121,kmadd(n2,R4p2121,kmadd(n3,R4p3121,kmul(nn,Ro121)))),SQR(ltet1),kmadd(kmadd(n1,R4p1222,kmadd(n2,R4p2222,kmadd(n3,R4p3222,kmul(nn,Ro222)))),SQR(ltet2),kmadd(n1,kmul(R4p1323,SQR(ltet3)),kmadd(n2,kmul(R4p2323,SQR(ltet3)),kmadd(n3,kmul(R4p3323,SQR(ltet3)),kmadd(nn,kmul(Ro323,SQR(ltet3)),kmadd(n1,kmul(Rojo12,SQR(nn)),kmadd(n2,kmul(Rojo22,SQR(nn)),kmadd(n3,kmul(Rojo32,SQR(nn)),kmadd(ltet3,kmul(nn,kmsub(n2,kmul(Ro223,ToReal(-2)),kmul(n3,Ro323))),knmsub(ltet3,kmadd(nn,kmadd(n1,kadd(Ro213,Ro123),kmul(n3,Ro233)),kmul(Rojo32,SQR(nn))),kmadd(ltet1,kmadd(ltet2,kmadd(n1,kadd(R4p1122,R4p1221),kmadd(n2,kadd(R4p2122,R4p2221),kmadd(n3,R4p3122,kmadd(n3,R4p3221,kmadd(nn,Ro122,kmul(nn,Ro221)))))),kmsub(ltet3,kmadd(n1,kadd(R4p1123,R4p1321),kmadd(n2,kadd(R4p2123,R4p2321),kmadd(n3,R4p3123,kmadd(n3,R4p3321,kmadd(nn,Ro123,kmul(nn,Ro321)))))),kmul(nn,kmadd(n1,kadd(Ro121,Ro211),kmadd(n3,Ro231,kmadd(n3,Ro321,kmadd(nn,Rojo12,kmul(n2,kmul(Ro221,ToReal(2)))))))))),kmul(ltet2,kmsub(ltet3,kmadd(n1,kadd(R4p1223,R4p1322),kmadd(n2,kadd(R4p2223,R4p2322),kmadd(n3,R4p3223,kmadd(n3,R4p3322,kmadd(nn,Ro223,kmul(nn,Ro322)))))),kmul(nn,kmadd(n1,kadd(Ro122,Ro212),kmadd(n3,Ro232,kmadd(n3,Ro322,kmadd(nn,Rojo22,kmul(n2,kmul(Ro222,ToReal(2)))))))))))))))))))))),kmul(im3,kmadd(kmadd(n1,R4p1131,kmadd(n2,R4p2131,kmadd(n3,R4p3131,kmul(nn,Ro131)))),SQR(ltet1),kmadd(kmadd(n1,R4p1232,kmadd(n2,R4p2232,kmadd(n3,R4p3232,kmul(nn,Ro232)))),SQR(ltet2),kmadd(n1,kmul(R4p1333,SQR(ltet3)),kmadd(n2,kmul(R4p2333,SQR(ltet3)),kmadd(n3,kmul(R4p3333,SQR(ltet3)),kmadd(nn,kmul(Ro333,SQR(ltet3)),kmadd(n1,kmul(Rojo13,SQR(nn)),kmadd(n2,kmul(Rojo23,SQR(nn)),kmadd(n3,kmul(Rojo33,SQR(nn)),kmadd(ltet3,kmul(n3,kmul(nn,kmul(Ro333,ToReal(-2)))),knmsub(ltet3,kmadd(nn,kmadd(n2,kadd(Ro323,Ro233),kmul(n1,kadd(Ro313,Ro133))),kmul(Rojo33,SQR(nn))),kmadd(ltet1,kmadd(ltet2,kmadd(n1,kadd(R4p1132,R4p1231),kmadd(n2,kadd(R4p2132,R4p2231),kmadd(n3,R4p3132,kmadd(n3,R4p3231,kmadd(nn,Ro132,kmul(nn,Ro231)))))),kmsub(ltet3,kmadd(n1,kadd(R4p1133,R4p1331),kmadd(n2,kadd(R4p2133,R4p2331),kmadd(n3,R4p3133,kmadd(n3,R4p3331,kmadd(nn,Ro133,kmul(nn,Ro331)))))),kmul(nn,kmadd(n1,kadd(Ro131,Ro311),kmadd(n2,kadd(Ro231,Ro321),kmadd(nn,Rojo13,kmul(n3,kmul(Ro331,ToReal(2))))))))),kmul(ltet2,kmsub(ltet3,kmadd(n1,kadd(R4p1233,R4p1332),kmadd(n2,kadd(R4p2233,R4p2332),kmadd(n3,R4p3233,kmadd(n3,R4p3332,kmadd(nn,Ro233,kmul(nn,Ro332)))))),kmul(nn,kmadd(n1,kadd(Ro132,Ro312),kmadd(n2,kadd(Ro232,Ro322),kmadd(nn,Rojo23,kmul(n3,kmul(Ro332,ToReal(2))))))))))))))))))))))));
CCTK_REAL_VEC Psi0rL =
- kmadd(R4p1112,kmul(rm1,kmul(rm2,SQR(ltet1))),kmadd(R4p1211,kmul(rm1,kmul(rm2,SQR(ltet1))),kmadd(R4p1113,kmul(rm1,kmul(rm3,SQR(ltet1))),kmadd(R4p1311,kmul(rm1,kmul(rm3,SQR(ltet1))),kmadd(R4p1213,kmul(rm2,kmul(rm3,SQR(ltet1))),kmadd(R4p1312,kmul(rm2,kmul(rm3,SQR(ltet1))),kmadd(R4p2122,kmul(rm1,kmul(rm2,SQR(ltet2))),kmadd(R4p2221,kmul(rm1,kmul(rm2,SQR(ltet2))),kmadd(R4p2123,kmul(rm1,kmul(rm3,SQR(ltet2))),kmadd(R4p2321,kmul(rm1,kmul(rm3,SQR(ltet2))),kmadd(R4p2223,kmul(rm2,kmul(rm3,SQR(ltet2))),kmadd(R4p2322,kmul(rm2,kmul(rm3,SQR(ltet2))),kmadd(R4p3132,kmul(rm1,kmul(rm2,SQR(ltet3))),kmadd(R4p3231,kmul(rm1,kmul(rm2,SQR(ltet3))),kmadd(R4p3133,kmul(rm1,kmul(rm3,SQR(ltet3))),kmadd(R4p3331,kmul(rm1,kmul(rm3,SQR(ltet3))),kmadd(R4p3233,kmul(rm2,kmul(rm3,SQR(ltet3))),kmadd(R4p3332,kmul(rm2,kmul(rm3,SQR(ltet3))),kmadd(rm1,kmul(rm2,kmul(Rojo12,SQR(nn))),kmadd(rm1,kmul(rm3,kmul(Rojo13,SQR(nn))),kmadd(rm1,kmul(rm2,kmul(Rojo21,SQR(nn))),kmadd(rm2,kmul(rm3,kmul(Rojo23,SQR(nn))),kmadd(rm1,kmul(rm3,kmul(Rojo31,SQR(nn))),kmadd(rm2,kmul(rm3,kmul(Rojo32,SQR(nn))),kmadd(ltet1,kmul(ltet2,kmul(R4p1121,SQR(rm1))),kmadd(ltet1,kmul(ltet3,kmul(R4p1131,SQR(rm1))),kmadd(ltet1,kmul(ltet2,kmul(R4p2111,SQR(rm1))),kmadd(ltet2,kmul(ltet3,kmul(R4p2131,SQR(rm1))),kmadd(ltet1,kmul(ltet3,kmul(R4p3111,SQR(rm1))),kmadd(ltet2,kmul(ltet3,kmul(R4p3121,SQR(rm1))),kmadd(R4p1111,kmul(SQR(ltet1),SQR(rm1)),kmadd(R4p2121,kmul(SQR(ltet2),SQR(rm1)),kmadd(R4p3131,kmul(SQR(ltet3),SQR(rm1)),kmadd(Rojo11,kmul(SQR(nn),SQR(rm1)),kmadd(ltet1,kmul(ltet2,kmul(R4p1222,SQR(rm2))),kmadd(ltet1,kmul(ltet3,kmul(R4p1232,SQR(rm2))),kmadd(ltet1,kmul(ltet2,kmul(R4p2212,SQR(rm2))),kmadd(ltet2,kmul(ltet3,kmul(R4p2232,SQR(rm2))),kmadd(ltet1,kmul(ltet3,kmul(R4p3212,SQR(rm2))),kmadd(ltet2,kmul(ltet3,kmul(R4p3222,SQR(rm2))),kmadd(R4p1212,kmul(SQR(ltet1),SQR(rm2)),kmadd(R4p2222,kmul(SQR(ltet2),SQR(rm2)),kmadd(R4p3232,kmul(SQR(ltet3),SQR(rm2)),kmadd(Rojo22,kmul(SQR(nn),SQR(rm2)),kmadd(ltet1,kmul(ltet2,kmul(R4p1323,SQR(rm3))),kmadd(ltet1,kmul(ltet3,kmul(R4p1333,SQR(rm3))),kmadd(ltet1,kmul(ltet2,kmul(R4p2313,SQR(rm3))),kmadd(ltet2,kmul(ltet3,kmul(R4p2333,SQR(rm3))),kmadd(ltet1,kmul(ltet3,kmul(R4p3313,SQR(rm3))),kmadd(ltet2,kmul(ltet3,kmul(R4p3323,SQR(rm3))),kmadd(R4p1313,kmul(SQR(ltet1),SQR(rm3)),kmadd(R4p2323,kmul(SQR(ltet2),SQR(rm3)),kmadd(R4p3333,kmul(SQR(ltet3),SQR(rm3)),kmadd(Rojo33,kmul(SQR(nn),SQR(rm3)),knmsub(ltet3,kmul(SQR(im3),kmadd(ltet1,R4p3313,kmul(ltet2,R4p2333))),kmadd(SQR(im3),kmsub(ltet2,kmul(nn,kmul(Ro323,ToReal(-2))),kmul(R4p2323,SQR(ltet2))),kmadd(SQR(im3),kmsub(ltet3,kmul(nn,kmul(Ro333,ToReal(-2))),kmul(R4p3333,SQR(ltet3))),kmadd(SQR(im3),kmsub(ltet1,kmul(nn,kmul(Ro313,ToReal(-2))),kmadd(ltet2,kmul(ltet3,R4p3323),kmadd(Rojo33,SQR(nn),kmul(R4p1313,SQR(ltet1))))),kmadd(ltet1,kmul(nn,kmul(Ro111,kmul(SQR(rm1),ToReal(2)))),kmadd(ltet2,kmul(nn,kmul(Ro121,kmul(SQR(rm1),ToReal(2)))),kmadd(ltet3,kmul(nn,kmul(Ro131,kmul(SQR(rm1),ToReal(2)))),kmadd(ltet1,kmul(nn,kmul(Ro212,kmul(SQR(rm2),ToReal(2)))),kmadd(ltet2,kmul(nn,kmul(Ro222,kmul(SQR(rm2),ToReal(2)))),kmadd(ltet3,kmul(nn,kmul(Ro232,kmul(SQR(rm2),ToReal(2)))),kmadd(ltet1,kmul(nn,kmul(Ro313,kmul(SQR(rm3),ToReal(2)))),kmadd(ltet2,kmul(nn,kmul(Ro323,kmul(SQR(rm3),ToReal(2)))),kmadd(ltet3,kmul(nn,kmul(Ro333,kmul(SQR(rm3),ToReal(2)))),kmadd(ltet1,kmadd(ltet3,kmul(R4p1132,kmul(rm1,rm2)),kmadd(ltet2,kmul(R4p1221,kmul(rm1,rm2)),kmadd(ltet3,kmul(R4p1231,kmul(rm1,rm2)),kmadd(ltet2,kmul(R4p1123,kmul(rm1,rm3)),kmadd(ltet3,kmul(R4p1331,kmul(rm1,rm3)),kmadd(ltet2,kmul(R4p2113,kmul(rm1,rm3)),kmadd(ltet3,kmul(R4p1233,kmul(rm2,rm3)),kmadd(ltet2,kmul(R4p1322,kmul(rm2,rm3)),kmadd(ltet3,kmul(R4p1332,kmul(rm2,rm3)),kmadd(ltet2,kmul(R4p2213,kmul(rm2,rm3)),kmadd(ltet2,kmsub(R4p1122,kmul(rm1,rm2),kmul(R4p1323,SQR(im3))),kmadd(nn,kmul(rm1,kmul(rm2,kmul(Ro112,ToReal(2)))),kmadd(nn,kmul(rm1,kmul(rm3,kmul(Ro113,ToReal(2)))),kmadd(nn,kmul(rm1,kmul(rm2,kmul(Ro211,ToReal(2)))),kmadd(nn,kmul(rm2,kmul(rm3,kmul(Ro213,ToReal(2)))),kmadd(nn,kmul(rm1,kmul(rm3,kmul(Ro311,ToReal(2)))),kmul(nn,kmul(rm2,kmul(rm3,kmul(Ro312,ToReal(2))))))))))))))))))))),kmadd(ltet2,kmadd(ltet3,kmul(R4p2132,kmul(rm1,rm2)),kmadd(ltet1,kmul(R4p2211,kmul(rm1,rm2)),kmadd(ltet3,kmul(R4p2231,kmul(rm1,rm2)),kmadd(ltet1,kmul(R4p1321,kmul(rm1,rm3)),kmadd(ltet3,kmul(R4p2133,kmul(rm1,rm3)),kmadd(ltet1,kmul(R4p2311,kmul(rm1,rm3)),kmadd(ltet3,kmul(R4p3321,kmul(rm1,rm3)),kmadd(ltet1,kmul(R4p1223,kmul(rm2,rm3)),kmadd(ltet3,kmul(R4p2233,kmul(rm2,rm3)),kmadd(ltet1,kmul(R4p2312,kmul(rm2,rm3)),kmadd(ltet1,kmsub(R4p2112,kmul(rm1,rm2),kmul(R4p2313,SQR(im3))),kmadd(nn,kmul(rm1,kmul(rm2,kmul(Ro122,ToReal(2)))),kmadd(nn,kmul(rm1,kmul(rm3,kmul(Ro123,ToReal(2)))),kmadd(nn,kmul(rm1,kmul(rm2,kmul(Ro221,ToReal(2)))),kmadd(nn,kmul(rm2,kmul(rm3,kmul(Ro223,ToReal(2)))),kmadd(nn,kmul(rm1,kmul(rm3,kmul(Ro321,ToReal(2)))),kmul(nn,kmul(rm2,kmul(rm3,kmul(Ro322,ToReal(2))))))))))))))))))))),kmsub(ltet3,kmadd(ltet2,kmul(R4p3122,kmul(rm1,rm2)),kmadd(ltet1,kmul(R4p3211,kmul(rm1,rm2)),kmadd(ltet2,kmul(R4p3221,kmul(rm1,rm2)),kmadd(ltet1,kmul(R4p1133,kmul(rm1,rm3)),kmadd(ltet2,kmul(R4p2331,kmul(rm1,rm3)),kmadd(ltet1,kmul(R4p3113,kmul(rm1,rm3)),kmadd(ltet2,kmul(R4p3123,kmul(rm1,rm3)),kmadd(ltet1,kmul(R4p3311,kmul(rm1,rm3)),kmadd(ltet2,kmul(R4p2332,kmul(rm2,rm3)),kmadd(ltet1,kmul(R4p3213,kmul(rm2,rm3)),kmadd(ltet2,kmul(R4p3223,kmul(rm2,rm3)),kmadd(ltet1,kmul(R4p3312,kmul(rm2,rm3)),kmadd(ltet2,kmul(R4p3322,kmul(rm2,rm3)),kmadd(ltet1,kmsub(R4p3112,kmul(rm1,rm2),kmul(R4p1333,SQR(im3))),kmadd(nn,kmul(rm1,kmul(rm2,kmul(Ro132,ToReal(2)))),kmadd(nn,kmul(rm1,kmul(rm3,kmul(Ro133,ToReal(2)))),kmadd(nn,kmul(rm1,kmul(rm2,kmul(Ro231,ToReal(2)))),kmadd(nn,kmul(rm2,kmul(rm3,kmul(Ro233,ToReal(2)))),kmadd(nn,kmul(rm1,kmul(rm3,kmul(Ro331,ToReal(2)))),kmul(nn,kmul(rm2,kmul(rm3,kmul(Ro332,ToReal(2)))))))))))))))))))))))),kmadd(SQR(im1),kmadd(ltet2,kmul(ltet3,R4p2131),kmadd(ltet2,kmul(ltet3,R4p3121),kmadd(R4p1111,SQR(ltet1),kmadd(R4p2121,SQR(ltet2),kmadd(R4p3131,SQR(ltet3),kmadd(Rojo11,SQR(nn),kmadd(ltet2,kmul(nn,kmul(Ro121,ToReal(2))),kmadd(ltet3,kmul(nn,kmul(Ro131,ToReal(2))),kmul(ltet1,kmadd(ltet2,kadd(R4p1121,R4p2111),kmadd(ltet3,kadd(R4p1131,R4p3111),kmul(nn,kmul(Ro111,ToReal(2)))))))))))))),kmadd(SQR(im2),kmadd(ltet2,kmul(ltet3,R4p2232),kmadd(ltet2,kmul(ltet3,R4p3222),kmadd(R4p1212,SQR(ltet1),kmadd(R4p2222,SQR(ltet2),kmadd(R4p3232,SQR(ltet3),kmadd(Rojo22,SQR(nn),kmadd(ltet2,kmul(nn,kmul(Ro222,ToReal(2))),kmadd(ltet3,kmul(nn,kmul(Ro232,ToReal(2))),kmul(ltet1,kmadd(ltet2,kadd(R4p1222,R4p2212),kmadd(ltet3,kadd(R4p1232,R4p3212),kmul(nn,kmul(Ro212,ToReal(2)))))))))))))),kmadd(im2,kmul(im3,kmadd(kadd(R4p1213,R4p1312),SQR(ltet1),kmadd(kadd(R4p2223,R4p2322),SQR(ltet2),kmadd(R4p3233,SQR(ltet3),kmadd(R4p3332,SQR(ltet3),kmadd(Rojo23,SQR(nn),kmadd(Rojo32,SQR(nn),kmadd(ltet3,kmul(nn,kmul(Ro233,ToReal(2))),kmadd(ltet3,kmul(nn,kmul(Ro332,ToReal(2))),kmadd(ltet1,kmadd(ltet2,kadd(R4p1223,kadd(R4p1322,kadd(R4p2213,R4p2312))),kmadd(ltet3,kadd(R4p1233,kadd(R4p1332,kadd(R4p3213,R4p3312))),kmul(nn,kmul(kadd(Ro213,Ro312),ToReal(2))))),kmul(ltet2,kmadd(ltet3,kadd(R4p2233,kadd(R4p2332,kadd(R4p3223,R4p3322))),kmul(nn,kmul(kadd(Ro223,Ro322),ToReal(2))))))))))))))),kmul(im1,kmadd(im2,kmadd(kadd(R4p1112,R4p1211),SQR(ltet1),kmadd(kadd(R4p2122,R4p2221),SQR(ltet2),kmadd(R4p3132,SQR(ltet3),kmadd(R4p3231,SQR(ltet3),kmadd(Rojo12,SQR(nn),kmadd(Rojo21,SQR(nn),kmadd(ltet3,kmul(nn,kmul(Ro132,ToReal(2))),kmadd(ltet3,kmul(nn,kmul(Ro231,ToReal(2))),kmadd(ltet1,kmadd(ltet2,kadd(R4p1122,kadd(R4p1221,kadd(R4p2112,R4p2211))),kmadd(ltet3,kadd(R4p1132,kadd(R4p1231,kadd(R4p3112,R4p3211))),kmul(nn,kmul(kadd(Ro112,Ro211),ToReal(2))))),kmul(ltet2,kmadd(ltet3,kadd(R4p2132,kadd(R4p2231,kadd(R4p3122,R4p3221))),kmul(nn,kmul(kadd(Ro122,Ro221),ToReal(2)))))))))))))),kmul(im3,kmadd(kadd(R4p1113,R4p1311),SQR(ltet1),kmadd(kadd(R4p2123,R4p2321),SQR(ltet2),kmadd(R4p3133,SQR(ltet3),kmadd(R4p3331,SQR(ltet3),kmadd(Rojo13,SQR(nn),kmadd(Rojo31,SQR(nn),kmadd(ltet3,kmul(nn,kmul(Ro133,ToReal(2))),kmadd(ltet3,kmul(nn,kmul(Ro331,ToReal(2))),kmadd(ltet1,kmadd(ltet2,kadd(R4p1123,kadd(R4p1321,kadd(R4p2113,R4p2311))),kmadd(ltet3,kadd(R4p1133,kadd(R4p1331,kadd(R4p3113,R4p3311))),kmul(nn,kmul(kadd(Ro113,Ro311),ToReal(2))))),kmul(ltet2,kmadd(ltet3,kadd(R4p2133,kadd(R4p2331,kadd(R4p3123,R4p3321))),kmul(nn,kmul(kadd(Ro123,Ro321),ToReal(2))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
+ kmadd(R4p1112,kmul(rm1,kmul(rm2,SQR(ltet1))),kmadd(R4p1211,kmul(rm1,kmul(rm2,SQR(ltet1))),kmadd(R4p1113,kmul(rm1,kmul(rm3,SQR(ltet1))),kmadd(R4p1311,kmul(rm1,kmul(rm3,SQR(ltet1))),kmadd(R4p1213,kmul(rm2,kmul(rm3,SQR(ltet1))),kmadd(R4p1312,kmul(rm2,kmul(rm3,SQR(ltet1))),kmadd(R4p2122,kmul(rm1,kmul(rm2,SQR(ltet2))),kmadd(R4p2221,kmul(rm1,kmul(rm2,SQR(ltet2))),kmadd(R4p2123,kmul(rm1,kmul(rm3,SQR(ltet2))),kmadd(R4p2321,kmul(rm1,kmul(rm3,SQR(ltet2))),kmadd(R4p2223,kmul(rm2,kmul(rm3,SQR(ltet2))),kmadd(R4p2322,kmul(rm2,kmul(rm3,SQR(ltet2))),kmadd(R4p3132,kmul(rm1,kmul(rm2,SQR(ltet3))),kmadd(R4p3231,kmul(rm1,kmul(rm2,SQR(ltet3))),kmadd(R4p3133,kmul(rm1,kmul(rm3,SQR(ltet3))),kmadd(R4p3331,kmul(rm1,kmul(rm3,SQR(ltet3))),kmadd(R4p3233,kmul(rm2,kmul(rm3,SQR(ltet3))),kmadd(R4p3332,kmul(rm2,kmul(rm3,SQR(ltet3))),kmadd(rm1,kmul(rm2,kmul(Rojo12,SQR(nn))),kmadd(rm1,kmul(rm3,kmul(Rojo13,SQR(nn))),kmadd(rm1,kmul(rm2,kmul(Rojo21,SQR(nn))),kmadd(rm2,kmul(rm3,kmul(Rojo23,SQR(nn))),kmadd(rm1,kmul(rm3,kmul(Rojo31,SQR(nn))),kmadd(rm2,kmul(rm3,kmul(Rojo32,SQR(nn))),kmadd(ltet1,kmul(ltet2,kmul(R4p1121,SQR(rm1))),kmadd(ltet1,kmul(ltet3,kmul(R4p1131,SQR(rm1))),kmadd(ltet1,kmul(ltet2,kmul(R4p2111,SQR(rm1))),kmadd(ltet2,kmul(ltet3,kmul(R4p2131,SQR(rm1))),kmadd(ltet1,kmul(ltet3,kmul(R4p3111,SQR(rm1))),kmadd(ltet2,kmul(ltet3,kmul(R4p3121,SQR(rm1))),kmadd(R4p1111,SQR(kmul(ltet1,rm1)),kmadd(R4p2121,SQR(kmul(ltet2,rm1)),kmadd(R4p3131,SQR(kmul(ltet3,rm1)),kmadd(Rojo11,SQR(kmul(nn,rm1)),kmadd(ltet1,kmul(ltet2,kmul(R4p1222,SQR(rm2))),kmadd(ltet1,kmul(ltet3,kmul(R4p1232,SQR(rm2))),kmadd(ltet1,kmul(ltet2,kmul(R4p2212,SQR(rm2))),kmadd(ltet2,kmul(ltet3,kmul(R4p2232,SQR(rm2))),kmadd(ltet1,kmul(ltet3,kmul(R4p3212,SQR(rm2))),kmadd(ltet2,kmul(ltet3,kmul(R4p3222,SQR(rm2))),kmadd(R4p1212,SQR(kmul(ltet1,rm2)),kmadd(R4p2222,SQR(kmul(ltet2,rm2)),kmadd(R4p3232,SQR(kmul(ltet3,rm2)),kmadd(Rojo22,SQR(kmul(nn,rm2)),kmadd(ltet1,kmul(ltet2,kmul(R4p1323,SQR(rm3))),kmadd(ltet1,kmul(ltet3,kmul(R4p1333,SQR(rm3))),kmadd(ltet1,kmul(ltet2,kmul(R4p2313,SQR(rm3))),kmadd(ltet2,kmul(ltet3,kmul(R4p2333,SQR(rm3))),kmadd(ltet1,kmul(ltet3,kmul(R4p3313,SQR(rm3))),kmadd(ltet2,kmul(ltet3,kmul(R4p3323,SQR(rm3))),kmadd(ltet2,kmul(nn,kmul(Ro323,kmul(SQR(im3),ToReal(-2)))),kmadd(ltet3,kmul(nn,kmul(Ro333,kmul(SQR(im3),ToReal(-2)))),knmsub(ltet3,kmul(SQR(im3),kmadd(ltet1,R4p3313,kmul(ltet2,R4p2333))),kmadd(SQR(im3),kmsub(ltet1,kmul(nn,kmul(Ro313,ToReal(-2))),kmul(ltet2,kmul(ltet3,R4p3323))),kmadd(R4p1313,ksub(SQR(kmul(ltet1,rm3)),SQR(kmul(im3,ltet1))),kmadd(R4p2323,ksub(SQR(kmul(ltet2,rm3)),SQR(kmul(im3,ltet2))),kmadd(R4p3333,ksub(SQR(kmul(ltet3,rm3)),SQR(kmul(im3,ltet3))),kmadd(Rojo33,ksub(SQR(kmul(nn,rm3)),SQR(kmul(im3,nn))),kmadd(ltet1,kmul(nn,kmul(Ro111,kmul(SQR(rm1),ToReal(2)))),kmadd(ltet2,kmul(nn,kmul(Ro121,kmul(SQR(rm1),ToReal(2)))),kmadd(ltet3,kmul(nn,kmul(Ro131,kmul(SQR(rm1),ToReal(2)))),kmadd(ltet1,kmul(nn,kmul(Ro212,kmul(SQR(rm2),ToReal(2)))),kmadd(ltet2,kmul(nn,kmul(Ro222,kmul(SQR(rm2),ToReal(2)))),kmadd(ltet3,kmul(nn,kmul(Ro232,kmul(SQR(rm2),ToReal(2)))),kmadd(ltet1,kmul(nn,kmul(Ro313,kmul(SQR(rm3),ToReal(2)))),kmadd(ltet2,kmul(nn,kmul(Ro323,kmul(SQR(rm3),ToReal(2)))),kmadd(ltet3,kmul(nn,kmul(Ro333,kmul(SQR(rm3),ToReal(2)))),kmadd(ltet1,kmadd(ltet3,kmul(R4p1132,kmul(rm1,rm2)),kmadd(ltet2,kmul(R4p1221,kmul(rm1,rm2)),kmadd(ltet3,kmul(R4p1231,kmul(rm1,rm2)),kmadd(ltet2,kmul(R4p1123,kmul(rm1,rm3)),kmadd(ltet3,kmul(R4p1331,kmul(rm1,rm3)),kmadd(ltet2,kmul(R4p2113,kmul(rm1,rm3)),kmadd(ltet3,kmul(R4p1233,kmul(rm2,rm3)),kmadd(ltet2,kmul(R4p1322,kmul(rm2,rm3)),kmadd(ltet3,kmul(R4p1332,kmul(rm2,rm3)),kmadd(ltet2,kmul(R4p2213,kmul(rm2,rm3)),kmadd(ltet2,kmsub(R4p1122,kmul(rm1,rm2),kmul(R4p1323,SQR(im3))),kmadd(nn,kmul(rm1,kmul(rm2,kmul(Ro112,ToReal(2)))),kmadd(nn,kmul(rm1,kmul(rm3,kmul(Ro113,ToReal(2)))),kmadd(nn,kmul(rm1,kmul(rm2,kmul(Ro211,ToReal(2)))),kmadd(nn,kmul(rm2,kmul(rm3,kmul(Ro213,ToReal(2)))),kmadd(nn,kmul(rm1,kmul(rm3,kmul(Ro311,ToReal(2)))),kmul(nn,kmul(rm2,kmul(rm3,kmul(Ro312,ToReal(2))))))))))))))))))))),kmadd(ltet2,kmadd(ltet3,kmul(R4p2132,kmul(rm1,rm2)),kmadd(ltet1,kmul(R4p2211,kmul(rm1,rm2)),kmadd(ltet3,kmul(R4p2231,kmul(rm1,rm2)),kmadd(ltet1,kmul(R4p1321,kmul(rm1,rm3)),kmadd(ltet3,kmul(R4p2133,kmul(rm1,rm3)),kmadd(ltet1,kmul(R4p2311,kmul(rm1,rm3)),kmadd(ltet3,kmul(R4p3321,kmul(rm1,rm3)),kmadd(ltet1,kmul(R4p1223,kmul(rm2,rm3)),kmadd(ltet3,kmul(R4p2233,kmul(rm2,rm3)),kmadd(ltet1,kmul(R4p2312,kmul(rm2,rm3)),kmadd(ltet1,kmsub(R4p2112,kmul(rm1,rm2),kmul(R4p2313,SQR(im3))),kmadd(nn,kmul(rm1,kmul(rm2,kmul(Ro122,ToReal(2)))),kmadd(nn,kmul(rm1,kmul(rm3,kmul(Ro123,ToReal(2)))),kmadd(nn,kmul(rm1,kmul(rm2,kmul(Ro221,ToReal(2)))),kmadd(nn,kmul(rm2,kmul(rm3,kmul(Ro223,ToReal(2)))),kmadd(nn,kmul(rm1,kmul(rm3,kmul(Ro321,ToReal(2)))),kmul(nn,kmul(rm2,kmul(rm3,kmul(Ro322,ToReal(2))))))))))))))))))))),kmsub(ltet3,kmadd(ltet2,kmul(R4p3122,kmul(rm1,rm2)),kmadd(ltet1,kmul(R4p3211,kmul(rm1,rm2)),kmadd(ltet2,kmul(R4p3221,kmul(rm1,rm2)),kmadd(ltet1,kmul(R4p1133,kmul(rm1,rm3)),kmadd(ltet2,kmul(R4p2331,kmul(rm1,rm3)),kmadd(ltet1,kmul(R4p3113,kmul(rm1,rm3)),kmadd(ltet2,kmul(R4p3123,kmul(rm1,rm3)),kmadd(ltet1,kmul(R4p3311,kmul(rm1,rm3)),kmadd(ltet2,kmul(R4p2332,kmul(rm2,rm3)),kmadd(ltet1,kmul(R4p3213,kmul(rm2,rm3)),kmadd(ltet2,kmul(R4p3223,kmul(rm2,rm3)),kmadd(ltet1,kmul(R4p3312,kmul(rm2,rm3)),kmadd(ltet2,kmul(R4p3322,kmul(rm2,rm3)),kmadd(ltet1,kmsub(R4p3112,kmul(rm1,rm2),kmul(R4p1333,SQR(im3))),kmadd(nn,kmul(rm1,kmul(rm2,kmul(Ro132,ToReal(2)))),kmadd(nn,kmul(rm1,kmul(rm3,kmul(Ro133,ToReal(2)))),kmadd(nn,kmul(rm1,kmul(rm2,kmul(Ro231,ToReal(2)))),kmadd(nn,kmul(rm2,kmul(rm3,kmul(Ro233,ToReal(2)))),kmadd(nn,kmul(rm1,kmul(rm3,kmul(Ro331,ToReal(2)))),kmul(nn,kmul(rm2,kmul(rm3,kmul(Ro332,ToReal(2)))))))))))))))))))))))),kmadd(SQR(im1),kmadd(ltet2,kmul(ltet3,R4p2131),kmadd(ltet2,kmul(ltet3,R4p3121),kmadd(R4p1111,SQR(ltet1),kmadd(R4p2121,SQR(ltet2),kmadd(R4p3131,SQR(ltet3),kmadd(Rojo11,SQR(nn),kmadd(ltet2,kmul(nn,kmul(Ro121,ToReal(2))),kmadd(ltet3,kmul(nn,kmul(Ro131,ToReal(2))),kmul(ltet1,kmadd(ltet2,kadd(R4p1121,R4p2111),kmadd(ltet3,kadd(R4p1131,R4p3111),kmul(nn,kmul(Ro111,ToReal(2)))))))))))))),kmadd(SQR(im2),kmadd(ltet2,kmul(ltet3,R4p2232),kmadd(ltet2,kmul(ltet3,R4p3222),kmadd(R4p1212,SQR(ltet1),kmadd(R4p2222,SQR(ltet2),kmadd(R4p3232,SQR(ltet3),kmadd(Rojo22,SQR(nn),kmadd(ltet2,kmul(nn,kmul(Ro222,ToReal(2))),kmadd(ltet3,kmul(nn,kmul(Ro232,ToReal(2))),kmul(ltet1,kmadd(ltet2,kadd(R4p1222,R4p2212),kmadd(ltet3,kadd(R4p1232,R4p3212),kmul(nn,kmul(Ro212,ToReal(2)))))))))))))),kmadd(im2,kmul(im3,kmadd(kadd(R4p1213,R4p1312),SQR(ltet1),kmadd(kadd(R4p2223,R4p2322),SQR(ltet2),kmadd(R4p3233,SQR(ltet3),kmadd(R4p3332,SQR(ltet3),kmadd(Rojo23,SQR(nn),kmadd(Rojo32,SQR(nn),kmadd(ltet3,kmul(nn,kmul(Ro233,ToReal(2))),kmadd(ltet3,kmul(nn,kmul(Ro332,ToReal(2))),kmadd(ltet1,kmadd(ltet2,kadd(R4p1223,kadd(R4p1322,kadd(R4p2213,R4p2312))),kmadd(ltet3,kadd(R4p1233,kadd(R4p1332,kadd(R4p3213,R4p3312))),kmul(nn,kmul(kadd(Ro213,Ro312),ToReal(2))))),kmul(ltet2,kmadd(ltet3,kadd(R4p2233,kadd(R4p2332,kadd(R4p3223,R4p3322))),kmul(nn,kmul(kadd(Ro223,Ro322),ToReal(2))))))))))))))),kmul(im1,kmadd(im2,kmadd(kadd(R4p1112,R4p1211),SQR(ltet1),kmadd(kadd(R4p2122,R4p2221),SQR(ltet2),kmadd(R4p3132,SQR(ltet3),kmadd(R4p3231,SQR(ltet3),kmadd(Rojo12,SQR(nn),kmadd(Rojo21,SQR(nn),kmadd(ltet3,kmul(nn,kmul(Ro132,ToReal(2))),kmadd(ltet3,kmul(nn,kmul(Ro231,ToReal(2))),kmadd(ltet1,kmadd(ltet2,kadd(R4p1122,kadd(R4p1221,kadd(R4p2112,R4p2211))),kmadd(ltet3,kadd(R4p1132,kadd(R4p1231,kadd(R4p3112,R4p3211))),kmul(nn,kmul(kadd(Ro112,Ro211),ToReal(2))))),kmul(ltet2,kmadd(ltet3,kadd(R4p2132,kadd(R4p2231,kadd(R4p3122,R4p3221))),kmul(nn,kmul(kadd(Ro122,Ro221),ToReal(2)))))))))))))),kmul(im3,kmadd(kadd(R4p1113,R4p1311),SQR(ltet1),kmadd(kadd(R4p2123,R4p2321),SQR(ltet2),kmadd(R4p3133,SQR(ltet3),kmadd(R4p3331,SQR(ltet3),kmadd(Rojo13,SQR(nn),kmadd(Rojo31,SQR(nn),kmadd(ltet3,kmul(nn,kmul(Ro133,ToReal(2))),kmadd(ltet3,kmul(nn,kmul(Ro331,ToReal(2))),kmadd(ltet1,kmadd(ltet2,kadd(R4p1123,kadd(R4p1321,kadd(R4p2113,R4p2311))),kmadd(ltet3,kadd(R4p1133,kadd(R4p1331,kadd(R4p3113,R4p3311))),kmul(nn,kmul(kadd(Ro113,Ro311),ToReal(2))))),kmul(ltet2,kmadd(ltet3,kadd(R4p2133,kadd(R4p2331,kadd(R4p3123,R4p3321))),kmul(nn,kmul(kadd(Ro123,Ro321),ToReal(2))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
CCTK_REAL_VEC Psi0iL =
kmadd(im1,kmadd(SQR(ltet1),kmadd(kadd(R4p1112,R4p1211),rm2,kmadd(kadd(R4p1113,R4p1311),rm3,kmul(R4p1111,kmul(rm1,ToReal(2))))),kmadd(SQR(ltet2),kmadd(kadd(R4p2122,R4p2221),rm2,kmadd(kadd(R4p2123,R4p2321),rm3,kmul(R4p2121,kmul(rm1,ToReal(2))))),kmadd(SQR(ltet3),kmadd(kadd(R4p3132,R4p3231),rm2,kmadd(kadd(R4p3133,R4p3331),rm3,kmul(R4p3131,kmul(rm1,ToReal(2))))),kmadd(SQR(nn),kmadd(rm2,kadd(Rojo12,Rojo21),kmadd(rm3,kadd(Rojo13,Rojo31),kmul(rm1,kmul(Rojo11,ToReal(2))))),kmadd(ltet1,kmadd(ltet2,kmadd(kadd(R4p1122,kadd(R4p1221,kadd(R4p2112,R4p2211))),rm2,kmadd(kadd(R4p1123,kadd(R4p1321,kadd(R4p2113,R4p2311))),rm3,kmul(kadd(R4p1121,R4p2111),kmul(rm1,ToReal(2))))),kmadd(ltet3,kmadd(kadd(R4p1132,kadd(R4p1231,kadd(R4p3112,R4p3211))),rm2,kmadd(kadd(R4p1133,kadd(R4p1331,kadd(R4p3113,R4p3311))),rm3,kmul(kadd(R4p1131,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(ltet2,kmadd(ltet3,kmadd(kadd(R4p2132,kadd(R4p2231,kadd(R4p3122,R4p3221))),rm2,kmadd(kadd(R4p2133,kadd(R4p2331,kadd(R4p3123,R4p3321))),rm3,kmul(kadd(R4p2131,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(ltet3,kmul(nn,kmadd(kmadd(rm2,kadd(Ro132,Ro231),kmul(rm3,kadd(Ro133,Ro331))),ToReal(2),kmul(rm1,kmul(Ro131,ToReal(4)))))))))))),kmadd(im2,kmadd(kmadd(rm1,Rojo21,kmul(rm3,Rojo32)),SQR(nn),kmadd(rm1,kmadd(kadd(R4p3132,R4p3231),SQR(ltet3),kmul(Rojo12,SQR(nn))),kmadd(rm3,kmadd(kadd(R4p3233,R4p3332),SQR(ltet3),kmul(Rojo23,SQR(nn))),kmadd(kmadd(ltet3,kmul(nn,kmadd(rm1,kadd(Ro132,Ro231),kmul(rm3,Ro233))),kmul(rm2,kmadd(R4p3232,SQR(ltet3),kmul(Rojo22,SQR(nn))))),ToReal(2),kmadd(SQR(ltet1),kmadd(kadd(R4p1112,R4p1211),rm1,kmadd(kadd(R4p1213,R4p1312),rm3,kmul(R4p1212,kmul(rm2,ToReal(2))))),kmadd(SQR(ltet2),kmadd(kadd(R4p2122,R4p2221),rm1,kmadd(kadd(R4p2223,R4p2322),rm3,kmul(R4p2222,kmul(rm2,ToReal(2))))),kmadd(ltet1,kmadd(ltet2,kmadd(kadd(R4p1122,kadd(R4p1221,kadd(R4p2112,R4p2211))),rm1,kmadd(kadd(R4p1223,kadd(R4p1322,kadd(R4p2213,R4p2312))),rm3,kmul(kadd(R4p1222,R4p2212),kmul(rm2,ToReal(2))))),kmadd(ltet3,kmadd(kadd(R4p1132,kadd(R4p1231,kadd(R4p3112,R4p3211))),rm1,kmadd(kadd(R4p1233,kadd(R4p1332,kadd(R4p3213,R4p3312))),rm3,kmul(kadd(R4p1232,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(ltet2,kmadd(ltet3,kmadd(kadd(R4p2132,kadd(R4p2231,kadd(R4p3122,R4p3221))),rm1,kmadd(kadd(R4p2233,kadd(R4p2332,kadd(R4p3223,R4p3322))),rm3,kmul(kadd(R4p2232,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(ltet3,kmul(nn,kmadd(rm3,kmul(Ro332,ToReal(2)),kmul(rm2,kmul(Ro232,ToReal(4)))))))))))))),kmul(im3,kmadd(kmadd(rm1,Rojo31,kmul(rm2,Rojo32)),SQR(nn),kmadd(rm1,kmadd(kadd(R4p3133,R4p3331),SQR(ltet3),kmul(Rojo13,SQR(nn))),kmadd(rm2,kmadd(kadd(R4p3233,R4p3332),SQR(ltet3),kmul(Rojo23,SQR(nn))),kmadd(kmadd(ltet3,kmul(nn,kmadd(rm1,kadd(Ro133,Ro331),kmul(rm2,kadd(Ro233,Ro332)))),kmul(R4p3333,kmul(rm3,SQR(ltet3)))),ToReal(2),kmadd(SQR(ltet1),kmadd(kadd(R4p1113,R4p1311),rm1,kmadd(kadd(R4p1213,R4p1312),rm2,kmul(R4p1313,kmul(rm3,ToReal(2))))),kmadd(SQR(ltet2),kmadd(kadd(R4p2123,R4p2321),rm1,kmadd(kadd(R4p2223,R4p2322),rm2,kmul(R4p2323,kmul(rm3,ToReal(2))))),kmadd(ltet1,kmadd(ltet2,kmadd(kadd(R4p1123,kadd(R4p1321,kadd(R4p2113,R4p2311))),rm1,kmadd(kadd(R4p1223,kadd(R4p1322,kadd(R4p2213,R4p2312))),rm2,kmul(kadd(R4p1323,R4p2313),kmul(rm3,ToReal(2))))),kmadd(ltet3,kmadd(kadd(R4p1133,kadd(R4p1331,kadd(R4p3113,R4p3311))),rm1,kmadd(kadd(R4p1233,kadd(R4p1332,kadd(R4p3213,R4p3312))),rm2,kmul(kadd(R4p1333,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(ltet2,kmadd(ltet3,kmadd(kadd(R4p2133,kadd(R4p2331,kadd(R4p3123,R4p3321))),rm1,kmadd(kadd(R4p2233,kadd(R4p2332,kadd(R4p3223,R4p3322))),rm2,kmul(kadd(R4p2333,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(rm3,kmadd(Rojo33,kmul(SQR(nn),ToReal(2)),kmul(ltet3,kmul(nn,kmul(Ro333,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(Psi0i[index],Psi0iL,elt_count_lo,elt_count_hi);
- vec_store_nta_partial_mid(Psi0r[index],Psi0rL,elt_count_lo,elt_count_hi);
- vec_store_nta_partial_mid(Psi1i[index],Psi1iL,elt_count_lo,elt_count_hi);
- vec_store_nta_partial_mid(Psi1r[index],Psi1rL,elt_count_lo,elt_count_hi);
- vec_store_nta_partial_mid(Psi2i[index],Psi2iL,elt_count_lo,elt_count_hi);
- vec_store_nta_partial_mid(Psi2r[index],Psi2rL,elt_count_lo,elt_count_hi);
- vec_store_nta_partial_mid(Psi3i[index],Psi3iL,elt_count_lo,elt_count_hi);
- vec_store_nta_partial_mid(Psi3r[index],Psi3rL,elt_count_lo,elt_count_hi);
- 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(Psi0i[index],Psi0iL,elt_count);
- vec_store_nta_partial_hi(Psi0r[index],Psi0rL,elt_count);
- vec_store_nta_partial_hi(Psi1i[index],Psi1iL,elt_count);
- vec_store_nta_partial_hi(Psi1r[index],Psi1rL,elt_count);
- vec_store_nta_partial_hi(Psi2i[index],Psi2iL,elt_count);
- vec_store_nta_partial_hi(Psi2r[index],Psi2rL,elt_count);
- vec_store_nta_partial_hi(Psi3i[index],Psi3iL,elt_count);
- vec_store_nta_partial_hi(Psi3r[index],Psi3rL,elt_count);
- 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(Psi0i[index],Psi0iL,elt_count);
- vec_store_nta_partial_lo(Psi0r[index],Psi0rL,elt_count);
- vec_store_nta_partial_lo(Psi1i[index],Psi1iL,elt_count);
- vec_store_nta_partial_lo(Psi1r[index],Psi1rL,elt_count);
- vec_store_nta_partial_lo(Psi2i[index],Psi2iL,elt_count);
- vec_store_nta_partial_lo(Psi2r[index],Psi2rL,elt_count);
- vec_store_nta_partial_lo(Psi3i[index],Psi3iL,elt_count);
- vec_store_nta_partial_lo(Psi3r[index],Psi3rL,elt_count);
- vec_store_nta_partial_lo(Psi4i[index],Psi4iL,elt_count);
- vec_store_nta_partial_lo(Psi4r[index],Psi4rL,elt_count);
- break;
- }
- vec_store_nta(Psi0i[index],Psi0iL);
- vec_store_nta(Psi0r[index],Psi0rL);
- vec_store_nta(Psi1i[index],Psi1iL);
- vec_store_nta(Psi1r[index],Psi1rL);
- vec_store_nta(Psi2i[index],Psi2iL);
- vec_store_nta(Psi2r[index],Psi2rL);
- vec_store_nta(Psi3i[index],Psi3iL);
- vec_store_nta(Psi3r[index],Psi3rL);
- vec_store_nta(Psi4i[index],Psi4iL);
- vec_store_nta(Psi4r[index],Psi4rL);
+ /* Copy local copies back to grid functions */
+ vec_store_partial_prepare(i,lc_imin,lc_imax);
+ vec_store_nta_partial(Psi0i[index],Psi0iL);
+ vec_store_nta_partial(Psi0r[index],Psi0rL);
+ vec_store_nta_partial(Psi1i[index],Psi1iL);
+ vec_store_nta_partial(Psi1r[index],Psi1rL);
+ vec_store_nta_partial(Psi2i[index],Psi2iL);
+ vec_store_nta_partial(Psi2r[index],Psi2rL);
+ vec_store_nta_partial(Psi3i[index],Psi3iL);
+ vec_store_nta_partial(Psi3r[index],Psi3rL);
+ vec_store_nta_partial(Psi4i[index],Psi4iL);
+ vec_store_nta_partial(Psi4r[index],Psi4rL);
}
- LC_ENDLOOP3VEC (psis_calc_Nth);
+ LC_ENDLOOP3VEC(psis_calc_Nth);
}
extern "C" void psis_calc_Nth(CCTK_ARGUMENTS)
@@ -1974,7 +1921,20 @@ extern "C" void psis_calc_Nth(CCTK_ARGUMENTS)
return;
}
- const char *groups[] = {"admbase::curv","admbase::metric","grid::coordinates","WeylScal4::Psi0i_group","WeylScal4::Psi0r_group","WeylScal4::Psi1i_group","WeylScal4::Psi1r_group","WeylScal4::Psi2i_group","WeylScal4::Psi2r_group","WeylScal4::Psi3i_group","WeylScal4::Psi3r_group","WeylScal4::Psi4i_group","WeylScal4::Psi4r_group"};
+ const char *const groups[] = {
+ "admbase::curv",
+ "admbase::metric",
+ "grid::coordinates",
+ "WeylScal4::Psi0i_group",
+ "WeylScal4::Psi0r_group",
+ "WeylScal4::Psi1i_group",
+ "WeylScal4::Psi1r_group",
+ "WeylScal4::Psi2i_group",
+ "WeylScal4::Psi2r_group",
+ "WeylScal4::Psi3i_group",
+ "WeylScal4::Psi3r_group",
+ "WeylScal4::Psi4i_group",
+ "WeylScal4::Psi4r_group"};
GenericFD_AssertGroupStorage(cctkGH, "psis_calc_Nth", 13, groups);
switch(fdOrder)
@@ -1996,7 +1956,7 @@ extern "C" void psis_calc_Nth(CCTK_ARGUMENTS)
break;
}
- GenericFD_LoopOverInterior(cctkGH, &psis_calc_Nth_Body);
+ GenericFD_LoopOverInterior(cctkGH, psis_calc_Nth_Body);
if (verbose > 1)
{