diff --git a/generate/requirements.txt b/generate/requirements.txt
index 8fd2c50c4e9bd7778789867dd9c048e8ba187507..89b0efc684a694d936d085def8eac675419e1b49 100644
--- a/generate/requirements.txt
+++ b/generate/requirements.txt
@@ -1,5 +1,5 @@
 --extra-index-url https://test.pypi.org/simple/
 
-hfg @ git+ssh://git@i10git.cs.fau.de/terraneo/hyteg-form-generator.git@5df6dbee6f366632bc5c20d91597172a653a37b3
+hfg @ git+ssh://git@i10git.cs.fau.de/terraneo/hyteg-form-generator.git@d641b65a018e7c45498788d419268ffa085daf27
 tomli >= 1.1.0 ; python_version < "3.11"
 clang-format
diff --git a/operators.toml b/operators.toml
index c9e6aa466f46e17f76fba1d84276c937495b240c..35da75bed4d6367efcdc6d492d6cccbc4d5e4dec 100644
--- a/operators.toml
+++ b/operators.toml
@@ -104,6 +104,35 @@ loop-strategy = "sawtooth"
 optimizations = ["moveconstants", "vectorize", "quadloops", "tabulate"]
 blending      = "IcosahedralShellMap"
 
+[[k_mass]]
+trial-space   = "P2"
+test-space    = "P1"
+form-space-args.coefficient_function_space = "P2"
+dimensions    = [2, 3]
+quadrature    = 3
+loop-strategy = "sawtooth"
+optimizations = ["moveconstants", "vectorize", "quadloops", "tabulate"]
+
+[[k_mass]]
+trial-space   = "P2"
+test-space    = "P1"
+form-space-args.coefficient_function_space = "P2"
+dimensions    = [2]
+quadrature    = 4
+loop-strategy = "sawtooth"
+optimizations = ["moveconstants", "vectorize", "quadloops", "tabulate"]
+blending      = "AnnulusMap"
+
+[[k_mass]]
+trial-space   = "P2"
+test-space    = "P1"
+form-space-args.coefficient_function_space = "P2"
+dimensions    = [3]
+quadrature    = 4
+loop-strategy = "sawtooth"
+optimizations = ["moveconstants", "vectorize", "quadloops", "tabulate"]
+blending      = "IcosahedralShellMap"
+
 [[divergence]]
 trial-space   = "P2"
 test-space    = "P1"
diff --git a/operators/k_mass/CMakeLists.txt b/operators/k_mass/CMakeLists.txt
index 25a69bc7bd4cda14567bd46d0ef7cf27f3fdb3dc..7c42b06d46abf07e2d3e2a59bd7da637d35eda99 100644
--- a/operators/k_mass/CMakeLists.txt
+++ b/operators/k_mass/CMakeLists.txt
@@ -6,6 +6,12 @@ add_library( opgen-k_mass
    P1ElementwiseKMassAnnulusMap.hpp
    P1ElementwiseKMassIcosahedralShellMap.cpp
    P1ElementwiseKMassIcosahedralShellMap.hpp
+   P2ToP1ElementwiseKMass.cpp
+   P2ToP1ElementwiseKMass.hpp
+   P2ToP1ElementwiseKMassAnnulusMap.cpp
+   P2ToP1ElementwiseKMassAnnulusMap.hpp
+   P2ToP1ElementwiseKMassIcosahedralShellMap.cpp
+   P2ToP1ElementwiseKMassIcosahedralShellMap.hpp
 )
 
 if(HYTEG_BUILD_WITH_AVX AND WALBERLA_DOUBLE_ACCURACY)
@@ -19,10 +25,18 @@ if(HYTEG_BUILD_WITH_AVX AND WALBERLA_DOUBLE_ACCURACY)
       avx/P1ElementwiseKMass_apply_macro_3D.cpp
       avx/P1ElementwiseKMass_computeInverseDiagonalOperatorValues_macro_2D.cpp
       avx/P1ElementwiseKMass_computeInverseDiagonalOperatorValues_macro_3D.cpp
+      avx/P2ToP1ElementwiseKMassAnnulusMap_apply_macro_2D.cpp
+      avx/P2ToP1ElementwiseKMassIcosahedralShellMap_apply_macro_3D.cpp
+      avx/P2ToP1ElementwiseKMass_apply_macro_2D.cpp
+      avx/P2ToP1ElementwiseKMass_apply_macro_3D.cpp
       noarch/P1ElementwiseKMassAnnulusMap_toMatrix_macro_2D.cpp
       noarch/P1ElementwiseKMassIcosahedralShellMap_toMatrix_macro_3D.cpp
       noarch/P1ElementwiseKMass_toMatrix_macro_2D.cpp
       noarch/P1ElementwiseKMass_toMatrix_macro_3D.cpp
+      noarch/P2ToP1ElementwiseKMassAnnulusMap_toMatrix_macro_2D.cpp
+      noarch/P2ToP1ElementwiseKMassIcosahedralShellMap_toMatrix_macro_3D.cpp
+      noarch/P2ToP1ElementwiseKMass_toMatrix_macro_2D.cpp
+      noarch/P2ToP1ElementwiseKMass_toMatrix_macro_3D.cpp
    )
 
    set_source_files_properties(
@@ -35,6 +49,10 @@ if(HYTEG_BUILD_WITH_AVX AND WALBERLA_DOUBLE_ACCURACY)
       avx/P1ElementwiseKMass_apply_macro_3D.cpp
       avx/P1ElementwiseKMass_computeInverseDiagonalOperatorValues_macro_2D.cpp
       avx/P1ElementwiseKMass_computeInverseDiagonalOperatorValues_macro_3D.cpp
+      avx/P2ToP1ElementwiseKMassAnnulusMap_apply_macro_2D.cpp
+      avx/P2ToP1ElementwiseKMassIcosahedralShellMap_apply_macro_3D.cpp
+      avx/P2ToP1ElementwiseKMass_apply_macro_2D.cpp
+      avx/P2ToP1ElementwiseKMass_apply_macro_3D.cpp
 
       PROPERTIES COMPILE_OPTIONS ${HYTEG_COMPILER_NATIVE_FLAGS}
    )
@@ -57,6 +75,14 @@ else()
       noarch/P1ElementwiseKMass_computeInverseDiagonalOperatorValues_macro_3D.cpp
       noarch/P1ElementwiseKMass_toMatrix_macro_2D.cpp
       noarch/P1ElementwiseKMass_toMatrix_macro_3D.cpp
+      noarch/P2ToP1ElementwiseKMassAnnulusMap_apply_macro_2D.cpp
+      noarch/P2ToP1ElementwiseKMassAnnulusMap_toMatrix_macro_2D.cpp
+      noarch/P2ToP1ElementwiseKMassIcosahedralShellMap_apply_macro_3D.cpp
+      noarch/P2ToP1ElementwiseKMassIcosahedralShellMap_toMatrix_macro_3D.cpp
+      noarch/P2ToP1ElementwiseKMass_apply_macro_2D.cpp
+      noarch/P2ToP1ElementwiseKMass_apply_macro_3D.cpp
+      noarch/P2ToP1ElementwiseKMass_toMatrix_macro_2D.cpp
+      noarch/P2ToP1ElementwiseKMass_toMatrix_macro_3D.cpp
    )
 endif()
 
diff --git a/operators/k_mass/P2ToP1ElementwiseKMass.cpp b/operators/k_mass/P2ToP1ElementwiseKMass.cpp
new file mode 100644
index 0000000000000000000000000000000000000000..90b2550c0d787d5cc0863a68c15ea532f4419c1f
--- /dev/null
+++ b/operators/k_mass/P2ToP1ElementwiseKMass.cpp
@@ -0,0 +1,366 @@
+/*
+* Copyright (c) 2017-2024 Nils Kohl, Daniel Bauer, Fabian Böhm.
+*
+* This file is part of HyTeG
+* (see https://i10git.cs.fau.de/hyteg/hyteg).
+*
+* This program is free software: you can redistribute it and/or modify
+* it under the terms of the GNU General Public License as published by
+* the Free Software Foundation, either version 3 of the License, or
+* (at your option) any later version.
+*
+* This program is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+* GNU General Public License for more details.
+*
+* You should have received a copy of the GNU General Public License
+* along with this program. If not, see <http://www.gnu.org/licenses/>.
+*/
+
+/*
+* The entire file was generated with the HyTeG form generator.
+*
+* Avoid modifying this file. If buggy, consider fixing the generator itself.
+*/
+
+// Unfortunately, the inverse diagonal kernel wrapper triggers a GCC bug (maybe
+// (related to) https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107087) causing a
+// warning in an internal standard library header (bits/stl_algobase.h). As a
+// workaround, we disable the warning and include this header indirectly through
+// a public header.
+#include <waLBerlaDefinitions.h>
+#ifdef WALBERLA_CXX_COMPILER_IS_GNU
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Wnonnull"
+#endif
+#include <cmath>
+#ifdef WALBERLA_CXX_COMPILER_IS_GNU
+#pragma GCC diagnostic pop
+#endif
+
+#include "P2ToP1ElementwiseKMass.hpp"
+
+#define FUNC_PREFIX
+
+namespace hyteg {
+
+namespace operatorgeneration {
+
+P2ToP1ElementwiseKMass::P2ToP1ElementwiseKMass( const std::shared_ptr< PrimitiveStorage >& storage,
+                                                size_t                                     minLevel,
+                                                size_t                                     maxLevel,
+                                                const P2Function< real_t >&                _k )
+: Operator( storage, minLevel, maxLevel )
+, k( _k )
+{}
+
+void P2ToP1ElementwiseKMass::apply( const P2Function< real_t >& src,
+                                    const P1Function< real_t >& dst,
+                                    uint_t                      level,
+                                    DoFType                     flag,
+                                    UpdateType                  updateType ) const
+{
+   this->startTiming( "apply" );
+
+   // Make sure that halos are up-to-date
+   this->timingTree_->start( "pre-communication" );
+   if ( this->storage_->hasGlobalCells() )
+   {
+      // Note that the order of communication is important, since the face -> cell communication may overwrite
+      // parts of the halos that carry the macro-vertex and macro-edge unknowns.
+      src.communicate< Face, Cell >( level );
+      src.communicate< Edge, Cell >( level );
+      src.communicate< Vertex, Cell >( level );
+      k.communicate< Face, Cell >( level );
+      k.communicate< Edge, Cell >( level );
+      k.communicate< Vertex, Cell >( level );
+   }
+   else
+   {
+      communication::syncFunctionBetweenPrimitives( src, level, communication::syncDirection_t::LOW2HIGH );
+      communication::syncFunctionBetweenPrimitives( k, level, communication::syncDirection_t::LOW2HIGH );
+   }
+   this->timingTree_->stop( "pre-communication" );
+
+   if ( updateType == Replace )
+   {
+      // We need to zero the destination array (including halos).
+      // However, we must not zero out anything that is not flagged with the specified BCs.
+      // Therefore, we first zero out everything that flagged, and then, later,
+      // the halos of the highest dim primitives.
+      dst.interpolate( walberla::numeric_cast< real_t >( 0 ), level, flag );
+   }
+
+   if ( storage_->hasGlobalCells() )
+   {
+      for ( auto& it : storage_->getCells() )
+      {
+         Cell& cell = *it.second;
+
+         // get hold of the actual numerical data in the functions
+         real_t* _data_srcVertex = cell.getData( src.getVertexDoFFunction().getCellDataID() )->getPointer( level );
+         real_t* _data_srcEdge   = cell.getData( src.getEdgeDoFFunction().getCellDataID() )->getPointer( level );
+         real_t* _data_dst       = cell.getData( dst.getCellDataID() )->getPointer( level );
+         real_t* _data_kVertex   = cell.getData( k.getVertexDoFFunction().getCellDataID() )->getPointer( level );
+         real_t* _data_kEdge     = cell.getData( k.getEdgeDoFFunction().getCellDataID() )->getPointer( level );
+
+         // Zero out dst halos only
+         //
+         // This is also necessary when using update type == Add.
+         // During additive comm we then skip zeroing the data on the lower-dim primitives.
+         for ( const auto& idx : vertexdof::macrocell::Iterator( level ) )
+         {
+            if ( !vertexdof::macrocell::isOnCellFace( idx, level ).empty() )
+            {
+               auto arrayIdx       = vertexdof::macrocell::index( level, idx.x(), idx.y(), idx.z() );
+               _data_dst[arrayIdx] = real_t( 0 );
+            }
+         }
+
+         const auto   micro_edges_per_macro_edge       = (int64_t) levelinfo::num_microedges_per_edge( level );
+         const auto   micro_edges_per_macro_edge_float = (real_t) levelinfo::num_microedges_per_edge( level );
+         const real_t macro_vertex_coord_id_0comp0     = (real_t) cell.getCoordinates()[0][0];
+         const real_t macro_vertex_coord_id_0comp1     = (real_t) cell.getCoordinates()[0][1];
+         const real_t macro_vertex_coord_id_0comp2     = (real_t) cell.getCoordinates()[0][2];
+         const real_t macro_vertex_coord_id_1comp0     = (real_t) cell.getCoordinates()[1][0];
+         const real_t macro_vertex_coord_id_1comp1     = (real_t) cell.getCoordinates()[1][1];
+         const real_t macro_vertex_coord_id_1comp2     = (real_t) cell.getCoordinates()[1][2];
+         const real_t macro_vertex_coord_id_2comp0     = (real_t) cell.getCoordinates()[2][0];
+         const real_t macro_vertex_coord_id_2comp1     = (real_t) cell.getCoordinates()[2][1];
+         const real_t macro_vertex_coord_id_2comp2     = (real_t) cell.getCoordinates()[2][2];
+         const real_t macro_vertex_coord_id_3comp0     = (real_t) cell.getCoordinates()[3][0];
+         const real_t macro_vertex_coord_id_3comp1     = (real_t) cell.getCoordinates()[3][1];
+         const real_t macro_vertex_coord_id_3comp2     = (real_t) cell.getCoordinates()[3][2];
+
+         this->timingTree_->start( "kernel" );
+
+         apply_macro_3D(
+
+             _data_dst,
+             _data_kEdge,
+             _data_kVertex,
+             _data_srcEdge,
+             _data_srcVertex,
+             macro_vertex_coord_id_0comp0,
+             macro_vertex_coord_id_0comp1,
+             macro_vertex_coord_id_0comp2,
+             macro_vertex_coord_id_1comp0,
+             macro_vertex_coord_id_1comp1,
+             macro_vertex_coord_id_1comp2,
+             macro_vertex_coord_id_2comp0,
+             macro_vertex_coord_id_2comp1,
+             macro_vertex_coord_id_2comp2,
+             macro_vertex_coord_id_3comp0,
+             macro_vertex_coord_id_3comp1,
+             macro_vertex_coord_id_3comp2,
+             micro_edges_per_macro_edge,
+             micro_edges_per_macro_edge_float );
+         this->timingTree_->stop( "kernel" );
+      }
+
+      // Push result to lower-dimensional primitives
+      //
+      this->timingTree_->start( "post-communication" );
+      // Note: We could avoid communication here by implementing the apply() also for the respective
+      //       lower dimensional primitives!
+      dst.communicateAdditively< Cell, Face >( level, DoFType::All ^ flag, *storage_, updateType == Replace );
+      dst.communicateAdditively< Cell, Edge >( level, DoFType::All ^ flag, *storage_, updateType == Replace );
+      dst.communicateAdditively< Cell, Vertex >( level, DoFType::All ^ flag, *storage_, updateType == Replace );
+      this->timingTree_->stop( "post-communication" );
+   }
+   else
+   {
+      for ( auto& it : storage_->getFaces() )
+      {
+         Face& face = *it.second;
+
+         // get hold of the actual numerical data in the functions
+         real_t* _data_srcVertex = face.getData( src.getVertexDoFFunction().getFaceDataID() )->getPointer( level );
+         real_t* _data_srcEdge   = face.getData( src.getEdgeDoFFunction().getFaceDataID() )->getPointer( level );
+         real_t* _data_dst       = face.getData( dst.getFaceDataID() )->getPointer( level );
+         real_t* _data_kVertex   = face.getData( k.getVertexDoFFunction().getFaceDataID() )->getPointer( level );
+         real_t* _data_kEdge     = face.getData( k.getEdgeDoFFunction().getFaceDataID() )->getPointer( level );
+
+         // Zero out dst halos only
+         //
+         // This is also necessary when using update type == Add.
+         // During additive comm we then skip zeroing the data on the lower-dim primitives.
+         for ( const auto& idx : vertexdof::macroface::Iterator( level ) )
+         {
+            if ( vertexdof::macroface::isVertexOnBoundary( level, idx ) )
+            {
+               auto arrayIdx       = vertexdof::macroface::index( level, idx.x(), idx.y() );
+               _data_dst[arrayIdx] = real_t( 0 );
+            }
+         }
+
+         const auto   micro_edges_per_macro_edge       = (int64_t) levelinfo::num_microedges_per_edge( level );
+         const auto   micro_edges_per_macro_edge_float = (real_t) levelinfo::num_microedges_per_edge( level );
+         const real_t macro_vertex_coord_id_0comp0     = (real_t) face.getCoordinates()[0][0];
+         const real_t macro_vertex_coord_id_0comp1     = (real_t) face.getCoordinates()[0][1];
+         const real_t macro_vertex_coord_id_1comp0     = (real_t) face.getCoordinates()[1][0];
+         const real_t macro_vertex_coord_id_1comp1     = (real_t) face.getCoordinates()[1][1];
+         const real_t macro_vertex_coord_id_2comp0     = (real_t) face.getCoordinates()[2][0];
+         const real_t macro_vertex_coord_id_2comp1     = (real_t) face.getCoordinates()[2][1];
+
+         this->timingTree_->start( "kernel" );
+
+         apply_macro_2D(
+
+             _data_dst,
+             _data_kEdge,
+             _data_kVertex,
+             _data_srcEdge,
+             _data_srcVertex,
+             macro_vertex_coord_id_0comp0,
+             macro_vertex_coord_id_0comp1,
+             macro_vertex_coord_id_1comp0,
+             macro_vertex_coord_id_1comp1,
+             macro_vertex_coord_id_2comp0,
+             macro_vertex_coord_id_2comp1,
+             micro_edges_per_macro_edge,
+             micro_edges_per_macro_edge_float );
+         this->timingTree_->stop( "kernel" );
+      }
+
+      // Push result to lower-dimensional primitives
+      //
+      this->timingTree_->start( "post-communication" );
+      // Note: We could avoid communication here by implementing the apply() also for the respective
+      //       lower dimensional primitives!
+      dst.communicateAdditively< Face, Edge >( level, DoFType::All ^ flag, *storage_, updateType == Replace );
+      dst.communicateAdditively< Face, Vertex >( level, DoFType::All ^ flag, *storage_, updateType == Replace );
+      this->timingTree_->stop( "post-communication" );
+   }
+
+   this->stopTiming( "apply" );
+}
+void P2ToP1ElementwiseKMass::toMatrix( const std::shared_ptr< SparseMatrixProxy >& mat,
+                                       const P2Function< idx_t >&                  src,
+                                       const P1Function< idx_t >&                  dst,
+                                       uint_t                                      level,
+                                       DoFType                                     flag ) const
+{
+   this->startTiming( "toMatrix" );
+
+   // We currently ignore the flag provided!
+   if ( flag != All )
+   {
+      WALBERLA_LOG_WARNING_ON_ROOT( "Input flag ignored in toMatrix; using flag = All" );
+   }
+
+   if ( storage_->hasGlobalCells() )
+   {
+      this->timingTree_->start( "pre-communication" );
+      k.communicate< Face, Cell >( level );
+      k.communicate< Edge, Cell >( level );
+      k.communicate< Vertex, Cell >( level );
+      this->timingTree_->stop( "pre-communication" );
+
+      for ( auto& it : storage_->getCells() )
+      {
+         Cell& cell = *it.second;
+
+         // get hold of the actual numerical data
+         idx_t*  _data_srcVertex = cell.getData( src.getVertexDoFFunction().getCellDataID() )->getPointer( level );
+         idx_t*  _data_srcEdge   = cell.getData( src.getEdgeDoFFunction().getCellDataID() )->getPointer( level );
+         idx_t*  _data_dst       = cell.getData( dst.getCellDataID() )->getPointer( level );
+         real_t* _data_kVertex   = cell.getData( k.getVertexDoFFunction().getCellDataID() )->getPointer( level );
+         real_t* _data_kEdge     = cell.getData( k.getEdgeDoFFunction().getCellDataID() )->getPointer( level );
+
+         const auto   micro_edges_per_macro_edge       = (int64_t) levelinfo::num_microedges_per_edge( level );
+         const auto   micro_edges_per_macro_edge_float = (real_t) levelinfo::num_microedges_per_edge( level );
+         const real_t macro_vertex_coord_id_0comp0     = (real_t) cell.getCoordinates()[0][0];
+         const real_t macro_vertex_coord_id_0comp1     = (real_t) cell.getCoordinates()[0][1];
+         const real_t macro_vertex_coord_id_0comp2     = (real_t) cell.getCoordinates()[0][2];
+         const real_t macro_vertex_coord_id_1comp0     = (real_t) cell.getCoordinates()[1][0];
+         const real_t macro_vertex_coord_id_1comp1     = (real_t) cell.getCoordinates()[1][1];
+         const real_t macro_vertex_coord_id_1comp2     = (real_t) cell.getCoordinates()[1][2];
+         const real_t macro_vertex_coord_id_2comp0     = (real_t) cell.getCoordinates()[2][0];
+         const real_t macro_vertex_coord_id_2comp1     = (real_t) cell.getCoordinates()[2][1];
+         const real_t macro_vertex_coord_id_2comp2     = (real_t) cell.getCoordinates()[2][2];
+         const real_t macro_vertex_coord_id_3comp0     = (real_t) cell.getCoordinates()[3][0];
+         const real_t macro_vertex_coord_id_3comp1     = (real_t) cell.getCoordinates()[3][1];
+         const real_t macro_vertex_coord_id_3comp2     = (real_t) cell.getCoordinates()[3][2];
+
+         this->timingTree_->start( "kernel" );
+
+         toMatrix_macro_3D(
+
+             _data_dst,
+             _data_kEdge,
+             _data_kVertex,
+             _data_srcEdge,
+             _data_srcVertex,
+             macro_vertex_coord_id_0comp0,
+             macro_vertex_coord_id_0comp1,
+             macro_vertex_coord_id_0comp2,
+             macro_vertex_coord_id_1comp0,
+             macro_vertex_coord_id_1comp1,
+             macro_vertex_coord_id_1comp2,
+             macro_vertex_coord_id_2comp0,
+             macro_vertex_coord_id_2comp1,
+             macro_vertex_coord_id_2comp2,
+             macro_vertex_coord_id_3comp0,
+             macro_vertex_coord_id_3comp1,
+             macro_vertex_coord_id_3comp2,
+             mat,
+             micro_edges_per_macro_edge,
+             micro_edges_per_macro_edge_float );
+         this->timingTree_->stop( "kernel" );
+      }
+   }
+   else
+   {
+      this->timingTree_->start( "pre-communication" );
+      communication::syncFunctionBetweenPrimitives( k, level, communication::syncDirection_t::LOW2HIGH );
+      this->timingTree_->stop( "pre-communication" );
+
+      for ( auto& it : storage_->getFaces() )
+      {
+         Face& face = *it.second;
+
+         // get hold of the actual numerical data
+         idx_t*  _data_srcVertex = face.getData( src.getVertexDoFFunction().getFaceDataID() )->getPointer( level );
+         idx_t*  _data_srcEdge   = face.getData( src.getEdgeDoFFunction().getFaceDataID() )->getPointer( level );
+         idx_t*  _data_dst       = face.getData( dst.getFaceDataID() )->getPointer( level );
+         real_t* _data_kVertex   = face.getData( k.getVertexDoFFunction().getFaceDataID() )->getPointer( level );
+         real_t* _data_kEdge     = face.getData( k.getEdgeDoFFunction().getFaceDataID() )->getPointer( level );
+
+         const auto   micro_edges_per_macro_edge       = (int64_t) levelinfo::num_microedges_per_edge( level );
+         const auto   micro_edges_per_macro_edge_float = (real_t) levelinfo::num_microedges_per_edge( level );
+         const real_t macro_vertex_coord_id_0comp0     = (real_t) face.getCoordinates()[0][0];
+         const real_t macro_vertex_coord_id_0comp1     = (real_t) face.getCoordinates()[0][1];
+         const real_t macro_vertex_coord_id_1comp0     = (real_t) face.getCoordinates()[1][0];
+         const real_t macro_vertex_coord_id_1comp1     = (real_t) face.getCoordinates()[1][1];
+         const real_t macro_vertex_coord_id_2comp0     = (real_t) face.getCoordinates()[2][0];
+         const real_t macro_vertex_coord_id_2comp1     = (real_t) face.getCoordinates()[2][1];
+
+         this->timingTree_->start( "kernel" );
+
+         toMatrix_macro_2D(
+
+             _data_dst,
+             _data_kEdge,
+             _data_kVertex,
+             _data_srcEdge,
+             _data_srcVertex,
+             macro_vertex_coord_id_0comp0,
+             macro_vertex_coord_id_0comp1,
+             macro_vertex_coord_id_1comp0,
+             macro_vertex_coord_id_1comp1,
+             macro_vertex_coord_id_2comp0,
+             macro_vertex_coord_id_2comp1,
+             mat,
+             micro_edges_per_macro_edge,
+             micro_edges_per_macro_edge_float );
+         this->timingTree_->stop( "kernel" );
+      }
+   }
+   this->stopTiming( "toMatrix" );
+}
+
+} // namespace operatorgeneration
+
+} // namespace hyteg
diff --git a/operators/k_mass/P2ToP1ElementwiseKMass.hpp b/operators/k_mass/P2ToP1ElementwiseKMass.hpp
new file mode 100644
index 0000000000000000000000000000000000000000..d997c743004a9959e46c90a64b69a998fd049e76
--- /dev/null
+++ b/operators/k_mass/P2ToP1ElementwiseKMass.hpp
@@ -0,0 +1,176 @@
+/*
+* Copyright (c) 2017-2024 Nils Kohl, Daniel Bauer, Fabian Böhm.
+*
+* This file is part of HyTeG
+* (see https://i10git.cs.fau.de/hyteg/hyteg).
+*
+* This program is free software: you can redistribute it and/or modify
+* it under the terms of the GNU General Public License as published by
+* the Free Software Foundation, either version 3 of the License, or
+* (at your option) any later version.
+*
+* This program is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+* GNU General Public License for more details.
+*
+* You should have received a copy of the GNU General Public License
+* along with this program. If not, see <http://www.gnu.org/licenses/>.
+*/
+
+/*
+* The entire file was generated with the HyTeG form generator.
+*
+* Avoid modifying this file. If buggy, consider fixing the generator itself.
+*/
+
+#pragma once
+
+#include "core/DataTypes.h"
+
+#include "hyteg/LikwidWrapper.hpp"
+#include "hyteg/communication/Syncing.hpp"
+#include "hyteg/edgedofspace/EdgeDoFMacroCell.hpp"
+#include "hyteg/operators/Operator.hpp"
+#include "hyteg/p1functionspace/P1Function.hpp"
+#include "hyteg/p2functionspace/P2Function.hpp"
+#include "hyteg/primitivestorage/PrimitiveStorage.hpp"
+#include "hyteg/sparseassembly/SparseMatrixProxy.hpp"
+
+#define FUNC_PREFIX
+
+namespace hyteg {
+
+namespace operatorgeneration {
+
+/// Diffusion operator with a scalar coefficient.
+///
+/// Geometry map: IdentityMap
+///
+/// Weak formulation
+///
+///     u: trial function (space: Lagrange, degree: 2)
+///     v: test function  (space: Lagrange, degree: 1)
+///     k: coefficient    (space: Lagrange, degree: 2)
+///
+///     ∫ k uv
+
+class P2ToP1ElementwiseKMass : public Operator< P2Function< real_t >, P1Function< real_t > >
+{
+ public:
+   P2ToP1ElementwiseKMass( const std::shared_ptr< PrimitiveStorage >& storage,
+                           size_t                                     minLevel,
+                           size_t                                     maxLevel,
+                           const P2Function< real_t >&                _k );
+
+   void apply( const P2Function< real_t >& src,
+               const P1Function< real_t >& dst,
+               uint_t                      level,
+               DoFType                     flag,
+               UpdateType                  updateType = Replace ) const;
+
+   void toMatrix( const std::shared_ptr< SparseMatrixProxy >& mat,
+                  const P2Function< idx_t >&                  src,
+                  const P1Function< idx_t >&                  dst,
+                  uint_t                                      level,
+                  DoFType                                     flag ) const;
+
+ protected:
+ private:
+   /// Kernel type: apply
+   /// - quadrature rule: Dunavant 3 | points: 4, degree: 3
+   /// - operations per element:
+   ///   adds    muls    divs    pows    abs    assignments    function_calls    unknown_ops
+   /// ------  ------  ------  ------  -----  -------------  ----------------  -------------
+   ///    154     166       0       0      0              0                 0              0
+   void apply_macro_2D( real_t* RESTRICT _data_dst,
+                        real_t* RESTRICT _data_kEdge,
+                        real_t* RESTRICT _data_kVertex,
+                        real_t* RESTRICT _data_srcEdge,
+                        real_t* RESTRICT _data_srcVertex,
+                        real_t           macro_vertex_coord_id_0comp0,
+                        real_t           macro_vertex_coord_id_0comp1,
+                        real_t           macro_vertex_coord_id_1comp0,
+                        real_t           macro_vertex_coord_id_1comp1,
+                        real_t           macro_vertex_coord_id_2comp0,
+                        real_t           macro_vertex_coord_id_2comp1,
+                        int64_t          micro_edges_per_macro_edge,
+                        real_t           micro_edges_per_macro_edge_float ) const;
+   /// Kernel type: apply
+   /// - quadrature rule: Hammer-Marlowe-Stroud 3 | points: 5, degree: 3
+   /// - operations per element:
+   ///   adds    muls    divs    pows    abs    assignments    function_calls    unknown_ops
+   /// ------  ------  ------  ------  -----  -------------  ----------------  -------------
+   ///    385     385       0       0      0              0                 0              0
+   void apply_macro_3D( real_t* RESTRICT _data_dst,
+                        real_t* RESTRICT _data_kEdge,
+                        real_t* RESTRICT _data_kVertex,
+                        real_t* RESTRICT _data_srcEdge,
+                        real_t* RESTRICT _data_srcVertex,
+                        real_t           macro_vertex_coord_id_0comp0,
+                        real_t           macro_vertex_coord_id_0comp1,
+                        real_t           macro_vertex_coord_id_0comp2,
+                        real_t           macro_vertex_coord_id_1comp0,
+                        real_t           macro_vertex_coord_id_1comp1,
+                        real_t           macro_vertex_coord_id_1comp2,
+                        real_t           macro_vertex_coord_id_2comp0,
+                        real_t           macro_vertex_coord_id_2comp1,
+                        real_t           macro_vertex_coord_id_2comp2,
+                        real_t           macro_vertex_coord_id_3comp0,
+                        real_t           macro_vertex_coord_id_3comp1,
+                        real_t           macro_vertex_coord_id_3comp2,
+                        int64_t          micro_edges_per_macro_edge,
+                        real_t           micro_edges_per_macro_edge_float ) const;
+   /// Kernel type: toMatrix
+   /// - quadrature rule: Dunavant 3 | points: 4, degree: 3
+   /// - operations per element:
+   ///   adds    muls    divs    pows    abs    assignments    function_calls    unknown_ops
+   /// ------  ------  ------  ------  -----  -------------  ----------------  -------------
+   ///    136     148       0       0      0              0                 0              3
+   void toMatrix_macro_2D( idx_t* RESTRICT                      _data_dst,
+                           real_t* RESTRICT                     _data_kEdge,
+                           real_t* RESTRICT                     _data_kVertex,
+                           idx_t* RESTRICT                      _data_srcEdge,
+                           idx_t* RESTRICT                      _data_srcVertex,
+                           real_t                               macro_vertex_coord_id_0comp0,
+                           real_t                               macro_vertex_coord_id_0comp1,
+                           real_t                               macro_vertex_coord_id_1comp0,
+                           real_t                               macro_vertex_coord_id_1comp1,
+                           real_t                               macro_vertex_coord_id_2comp0,
+                           real_t                               macro_vertex_coord_id_2comp1,
+                           std::shared_ptr< SparseMatrixProxy > mat,
+                           int64_t                              micro_edges_per_macro_edge,
+                           real_t                               micro_edges_per_macro_edge_float ) const;
+   /// Kernel type: toMatrix
+   /// - quadrature rule: Hammer-Marlowe-Stroud 3 | points: 5, degree: 3
+   /// - operations per element:
+   ///   adds    muls    divs    pows    abs    assignments    function_calls    unknown_ops
+   /// ------  ------  ------  ------  -----  -------------  ----------------  -------------
+   ///    345     345       0       0      0              0                 0              3
+   void toMatrix_macro_3D( idx_t* RESTRICT                      _data_dst,
+                           real_t* RESTRICT                     _data_kEdge,
+                           real_t* RESTRICT                     _data_kVertex,
+                           idx_t* RESTRICT                      _data_srcEdge,
+                           idx_t* RESTRICT                      _data_srcVertex,
+                           real_t                               macro_vertex_coord_id_0comp0,
+                           real_t                               macro_vertex_coord_id_0comp1,
+                           real_t                               macro_vertex_coord_id_0comp2,
+                           real_t                               macro_vertex_coord_id_1comp0,
+                           real_t                               macro_vertex_coord_id_1comp1,
+                           real_t                               macro_vertex_coord_id_1comp2,
+                           real_t                               macro_vertex_coord_id_2comp0,
+                           real_t                               macro_vertex_coord_id_2comp1,
+                           real_t                               macro_vertex_coord_id_2comp2,
+                           real_t                               macro_vertex_coord_id_3comp0,
+                           real_t                               macro_vertex_coord_id_3comp1,
+                           real_t                               macro_vertex_coord_id_3comp2,
+                           std::shared_ptr< SparseMatrixProxy > mat,
+                           int64_t                              micro_edges_per_macro_edge,
+                           real_t                               micro_edges_per_macro_edge_float ) const;
+
+   P2Function< real_t > k;
+};
+
+} // namespace operatorgeneration
+
+} // namespace hyteg
diff --git a/operators/k_mass/P2ToP1ElementwiseKMassAnnulusMap.cpp b/operators/k_mass/P2ToP1ElementwiseKMassAnnulusMap.cpp
new file mode 100644
index 0000000000000000000000000000000000000000..60df33ae07801114a3e7f8de0fd654e1e1a4d9c3
--- /dev/null
+++ b/operators/k_mass/P2ToP1ElementwiseKMassAnnulusMap.cpp
@@ -0,0 +1,273 @@
+/*
+* Copyright (c) 2017-2024 Nils Kohl, Daniel Bauer, Fabian Böhm.
+*
+* This file is part of HyTeG
+* (see https://i10git.cs.fau.de/hyteg/hyteg).
+*
+* This program is free software: you can redistribute it and/or modify
+* it under the terms of the GNU General Public License as published by
+* the Free Software Foundation, either version 3 of the License, or
+* (at your option) any later version.
+*
+* This program is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+* GNU General Public License for more details.
+*
+* You should have received a copy of the GNU General Public License
+* along with this program. If not, see <http://www.gnu.org/licenses/>.
+*/
+
+/*
+* The entire file was generated with the HyTeG form generator.
+*
+* Avoid modifying this file. If buggy, consider fixing the generator itself.
+*/
+
+// Unfortunately, the inverse diagonal kernel wrapper triggers a GCC bug (maybe
+// (related to) https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107087) causing a
+// warning in an internal standard library header (bits/stl_algobase.h). As a
+// workaround, we disable the warning and include this header indirectly through
+// a public header.
+#include <waLBerlaDefinitions.h>
+#ifdef WALBERLA_CXX_COMPILER_IS_GNU
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Wnonnull"
+#endif
+#include <cmath>
+#ifdef WALBERLA_CXX_COMPILER_IS_GNU
+#pragma GCC diagnostic pop
+#endif
+
+#include "P2ToP1ElementwiseKMassAnnulusMap.hpp"
+
+#define FUNC_PREFIX
+
+namespace hyteg {
+
+namespace operatorgeneration {
+
+P2ToP1ElementwiseKMassAnnulusMap::P2ToP1ElementwiseKMassAnnulusMap( const std::shared_ptr< PrimitiveStorage >& storage,
+                                                                    size_t                                     minLevel,
+                                                                    size_t                                     maxLevel,
+                                                                    const P2Function< real_t >&                _k )
+: Operator( storage, minLevel, maxLevel )
+, k( _k )
+{}
+
+void P2ToP1ElementwiseKMassAnnulusMap::apply( const P2Function< real_t >& src,
+                                              const P1Function< real_t >& dst,
+                                              uint_t                      level,
+                                              DoFType                     flag,
+                                              UpdateType                  updateType ) const
+{
+   this->startTiming( "apply" );
+
+   // Make sure that halos are up-to-date
+   this->timingTree_->start( "pre-communication" );
+   if ( this->storage_->hasGlobalCells() )
+   {
+      WALBERLA_ABORT( "Not implemented." );
+   }
+   else
+   {
+      communication::syncFunctionBetweenPrimitives( src, level, communication::syncDirection_t::LOW2HIGH );
+      communication::syncFunctionBetweenPrimitives( k, level, communication::syncDirection_t::LOW2HIGH );
+   }
+   this->timingTree_->stop( "pre-communication" );
+
+   if ( updateType == Replace )
+   {
+      // We need to zero the destination array (including halos).
+      // However, we must not zero out anything that is not flagged with the specified BCs.
+      // Therefore, we first zero out everything that flagged, and then, later,
+      // the halos of the highest dim primitives.
+      dst.interpolate( walberla::numeric_cast< real_t >( 0 ), level, flag );
+   }
+
+   if ( storage_->hasGlobalCells() )
+   {
+      WALBERLA_ABORT( "Not implemented." );
+   }
+   else
+   {
+      for ( auto& it : storage_->getFaces() )
+      {
+         Face& face = *it.second;
+
+         // get hold of the actual numerical data in the functions
+         real_t* _data_srcVertex = face.getData( src.getVertexDoFFunction().getFaceDataID() )->getPointer( level );
+         real_t* _data_srcEdge   = face.getData( src.getEdgeDoFFunction().getFaceDataID() )->getPointer( level );
+         real_t* _data_dst       = face.getData( dst.getFaceDataID() )->getPointer( level );
+         real_t* _data_kVertex   = face.getData( k.getVertexDoFFunction().getFaceDataID() )->getPointer( level );
+         real_t* _data_kEdge     = face.getData( k.getEdgeDoFFunction().getFaceDataID() )->getPointer( level );
+
+         // Zero out dst halos only
+         //
+         // This is also necessary when using update type == Add.
+         // During additive comm we then skip zeroing the data on the lower-dim primitives.
+         for ( const auto& idx : vertexdof::macroface::Iterator( level ) )
+         {
+            if ( vertexdof::macroface::isVertexOnBoundary( level, idx ) )
+            {
+               auto arrayIdx       = vertexdof::macroface::index( level, idx.x(), idx.y() );
+               _data_dst[arrayIdx] = real_t( 0 );
+            }
+         }
+
+         const auto   micro_edges_per_macro_edge       = (int64_t) levelinfo::num_microedges_per_edge( level );
+         const auto   micro_edges_per_macro_edge_float = (real_t) levelinfo::num_microedges_per_edge( level );
+         const real_t macro_vertex_coord_id_0comp0     = (real_t) face.getCoordinates()[0][0];
+         const real_t macro_vertex_coord_id_0comp1     = (real_t) face.getCoordinates()[0][1];
+         const real_t macro_vertex_coord_id_1comp0     = (real_t) face.getCoordinates()[1][0];
+         const real_t macro_vertex_coord_id_1comp1     = (real_t) face.getCoordinates()[1][1];
+         const real_t macro_vertex_coord_id_2comp0     = (real_t) face.getCoordinates()[2][0];
+         const real_t macro_vertex_coord_id_2comp1     = (real_t) face.getCoordinates()[2][1];
+         WALBERLA_CHECK_NOT_NULLPTR(
+             std::dynamic_pointer_cast< AnnulusMap >( face.getGeometryMap() ),
+             "This operator requires the AnnulusMap to be registered as GeometryMap on every macro-cell." )
+         real_t radRefVertex = std::dynamic_pointer_cast< AnnulusMap >( face.getGeometryMap() )->radRefVertex();
+         real_t radRayVertex = std::dynamic_pointer_cast< AnnulusMap >( face.getGeometryMap() )->radRayVertex();
+         real_t refVertex_0  = std::dynamic_pointer_cast< AnnulusMap >( face.getGeometryMap() )->refVertex()[0];
+         real_t rayVertex_0  = std::dynamic_pointer_cast< AnnulusMap >( face.getGeometryMap() )->rayVertex()[0];
+         real_t thrVertex_0  = std::dynamic_pointer_cast< AnnulusMap >( face.getGeometryMap() )->thrVertex()[0];
+         real_t refVertex_1  = std::dynamic_pointer_cast< AnnulusMap >( face.getGeometryMap() )->refVertex()[1];
+         real_t rayVertex_1  = std::dynamic_pointer_cast< AnnulusMap >( face.getGeometryMap() )->rayVertex()[1];
+         real_t thrVertex_1  = std::dynamic_pointer_cast< AnnulusMap >( face.getGeometryMap() )->thrVertex()[1];
+
+         this->timingTree_->start( "kernel" );
+
+         apply_macro_2D(
+
+             _data_dst,
+             _data_kEdge,
+             _data_kVertex,
+             _data_srcEdge,
+             _data_srcVertex,
+             macro_vertex_coord_id_0comp0,
+             macro_vertex_coord_id_0comp1,
+             macro_vertex_coord_id_1comp0,
+             macro_vertex_coord_id_1comp1,
+             macro_vertex_coord_id_2comp0,
+             macro_vertex_coord_id_2comp1,
+             micro_edges_per_macro_edge,
+             micro_edges_per_macro_edge_float,
+             radRayVertex,
+             radRefVertex,
+             rayVertex_0,
+             rayVertex_1,
+             refVertex_0,
+             refVertex_1,
+             thrVertex_0,
+             thrVertex_1 );
+         this->timingTree_->stop( "kernel" );
+      }
+
+      // Push result to lower-dimensional primitives
+      //
+      this->timingTree_->start( "post-communication" );
+      // Note: We could avoid communication here by implementing the apply() also for the respective
+      //       lower dimensional primitives!
+      dst.communicateAdditively< Face, Edge >( level, DoFType::All ^ flag, *storage_, updateType == Replace );
+      dst.communicateAdditively< Face, Vertex >( level, DoFType::All ^ flag, *storage_, updateType == Replace );
+      this->timingTree_->stop( "post-communication" );
+   }
+
+   this->stopTiming( "apply" );
+}
+void P2ToP1ElementwiseKMassAnnulusMap::toMatrix( const std::shared_ptr< SparseMatrixProxy >& mat,
+                                                 const P2Function< idx_t >&                  src,
+                                                 const P1Function< idx_t >&                  dst,
+                                                 uint_t                                      level,
+                                                 DoFType                                     flag ) const
+{
+   this->startTiming( "toMatrix" );
+
+   // We currently ignore the flag provided!
+   if ( flag != All )
+   {
+      WALBERLA_LOG_WARNING_ON_ROOT( "Input flag ignored in toMatrix; using flag = All" );
+   }
+
+   if ( storage_->hasGlobalCells() )
+   {
+      this->timingTree_->start( "pre-communication" );
+      k.communicate< Face, Cell >( level );
+      k.communicate< Edge, Cell >( level );
+      k.communicate< Vertex, Cell >( level );
+      this->timingTree_->stop( "pre-communication" );
+
+      WALBERLA_ABORT( "Not implemented." );
+   }
+   else
+   {
+      this->timingTree_->start( "pre-communication" );
+      communication::syncFunctionBetweenPrimitives( k, level, communication::syncDirection_t::LOW2HIGH );
+      this->timingTree_->stop( "pre-communication" );
+
+      for ( auto& it : storage_->getFaces() )
+      {
+         Face& face = *it.second;
+
+         // get hold of the actual numerical data
+         idx_t*  _data_srcVertex = face.getData( src.getVertexDoFFunction().getFaceDataID() )->getPointer( level );
+         idx_t*  _data_srcEdge   = face.getData( src.getEdgeDoFFunction().getFaceDataID() )->getPointer( level );
+         idx_t*  _data_dst       = face.getData( dst.getFaceDataID() )->getPointer( level );
+         real_t* _data_kVertex   = face.getData( k.getVertexDoFFunction().getFaceDataID() )->getPointer( level );
+         real_t* _data_kEdge     = face.getData( k.getEdgeDoFFunction().getFaceDataID() )->getPointer( level );
+
+         const auto   micro_edges_per_macro_edge       = (int64_t) levelinfo::num_microedges_per_edge( level );
+         const auto   micro_edges_per_macro_edge_float = (real_t) levelinfo::num_microedges_per_edge( level );
+         const real_t macro_vertex_coord_id_0comp0     = (real_t) face.getCoordinates()[0][0];
+         const real_t macro_vertex_coord_id_0comp1     = (real_t) face.getCoordinates()[0][1];
+         const real_t macro_vertex_coord_id_1comp0     = (real_t) face.getCoordinates()[1][0];
+         const real_t macro_vertex_coord_id_1comp1     = (real_t) face.getCoordinates()[1][1];
+         const real_t macro_vertex_coord_id_2comp0     = (real_t) face.getCoordinates()[2][0];
+         const real_t macro_vertex_coord_id_2comp1     = (real_t) face.getCoordinates()[2][1];
+         WALBERLA_CHECK_NOT_NULLPTR(
+             std::dynamic_pointer_cast< AnnulusMap >( face.getGeometryMap() ),
+             "This operator requires the AnnulusMap to be registered as GeometryMap on every macro-cell." )
+         real_t radRefVertex = std::dynamic_pointer_cast< AnnulusMap >( face.getGeometryMap() )->radRefVertex();
+         real_t radRayVertex = std::dynamic_pointer_cast< AnnulusMap >( face.getGeometryMap() )->radRayVertex();
+         real_t refVertex_0  = std::dynamic_pointer_cast< AnnulusMap >( face.getGeometryMap() )->refVertex()[0];
+         real_t rayVertex_0  = std::dynamic_pointer_cast< AnnulusMap >( face.getGeometryMap() )->rayVertex()[0];
+         real_t thrVertex_0  = std::dynamic_pointer_cast< AnnulusMap >( face.getGeometryMap() )->thrVertex()[0];
+         real_t refVertex_1  = std::dynamic_pointer_cast< AnnulusMap >( face.getGeometryMap() )->refVertex()[1];
+         real_t rayVertex_1  = std::dynamic_pointer_cast< AnnulusMap >( face.getGeometryMap() )->rayVertex()[1];
+         real_t thrVertex_1  = std::dynamic_pointer_cast< AnnulusMap >( face.getGeometryMap() )->thrVertex()[1];
+
+         this->timingTree_->start( "kernel" );
+
+         toMatrix_macro_2D(
+
+             _data_dst,
+             _data_kEdge,
+             _data_kVertex,
+             _data_srcEdge,
+             _data_srcVertex,
+             macro_vertex_coord_id_0comp0,
+             macro_vertex_coord_id_0comp1,
+             macro_vertex_coord_id_1comp0,
+             macro_vertex_coord_id_1comp1,
+             macro_vertex_coord_id_2comp0,
+             macro_vertex_coord_id_2comp1,
+             mat,
+             micro_edges_per_macro_edge,
+             micro_edges_per_macro_edge_float,
+             radRayVertex,
+             radRefVertex,
+             rayVertex_0,
+             rayVertex_1,
+             refVertex_0,
+             refVertex_1,
+             thrVertex_0,
+             thrVertex_1 );
+         this->timingTree_->stop( "kernel" );
+      }
+   }
+   this->stopTiming( "toMatrix" );
+}
+
+} // namespace operatorgeneration
+
+} // namespace hyteg
diff --git a/operators/k_mass/P2ToP1ElementwiseKMassAnnulusMap.hpp b/operators/k_mass/P2ToP1ElementwiseKMassAnnulusMap.hpp
new file mode 100644
index 0000000000000000000000000000000000000000..9924a202771b45c293a2f29d95c94d79cbf9fff5
--- /dev/null
+++ b/operators/k_mass/P2ToP1ElementwiseKMassAnnulusMap.hpp
@@ -0,0 +1,142 @@
+/*
+* Copyright (c) 2017-2024 Nils Kohl, Daniel Bauer, Fabian Böhm.
+*
+* This file is part of HyTeG
+* (see https://i10git.cs.fau.de/hyteg/hyteg).
+*
+* This program is free software: you can redistribute it and/or modify
+* it under the terms of the GNU General Public License as published by
+* the Free Software Foundation, either version 3 of the License, or
+* (at your option) any later version.
+*
+* This program is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+* GNU General Public License for more details.
+*
+* You should have received a copy of the GNU General Public License
+* along with this program. If not, see <http://www.gnu.org/licenses/>.
+*/
+
+/*
+* The entire file was generated with the HyTeG form generator.
+*
+* Avoid modifying this file. If buggy, consider fixing the generator itself.
+*/
+
+#pragma once
+
+#include "core/DataTypes.h"
+
+#include "hyteg/LikwidWrapper.hpp"
+#include "hyteg/communication/Syncing.hpp"
+#include "hyteg/edgedofspace/EdgeDoFMacroCell.hpp"
+#include "hyteg/geometry/AnnulusMap.hpp"
+#include "hyteg/operators/Operator.hpp"
+#include "hyteg/p1functionspace/P1Function.hpp"
+#include "hyteg/p2functionspace/P2Function.hpp"
+#include "hyteg/primitivestorage/PrimitiveStorage.hpp"
+#include "hyteg/sparseassembly/SparseMatrixProxy.hpp"
+
+#define FUNC_PREFIX
+
+namespace hyteg {
+
+namespace operatorgeneration {
+
+/// Diffusion operator with a scalar coefficient.
+///
+/// Geometry map: AnnulusMap
+///
+/// Weak formulation
+///
+///     u: trial function (space: Lagrange, degree: 2)
+///     v: test function  (space: Lagrange, degree: 1)
+///     k: coefficient    (space: Lagrange, degree: 2)
+///
+///     ∫ k uv
+
+class P2ToP1ElementwiseKMassAnnulusMap : public Operator< P2Function< real_t >, P1Function< real_t > >
+{
+ public:
+   P2ToP1ElementwiseKMassAnnulusMap( const std::shared_ptr< PrimitiveStorage >& storage,
+                                     size_t                                     minLevel,
+                                     size_t                                     maxLevel,
+                                     const P2Function< real_t >&                _k );
+
+   void apply( const P2Function< real_t >& src,
+               const P1Function< real_t >& dst,
+               uint_t                      level,
+               DoFType                     flag,
+               UpdateType                  updateType = Replace ) const;
+
+   void toMatrix( const std::shared_ptr< SparseMatrixProxy >& mat,
+                  const P2Function< idx_t >&                  src,
+                  const P1Function< idx_t >&                  dst,
+                  uint_t                                      level,
+                  DoFType                                     flag ) const;
+
+ protected:
+ private:
+   /// Kernel type: apply
+   /// - quadrature rule: Dunavant 4 | points: 6, degree: 4
+   /// - operations per element:
+   ///   adds    muls    divs    pows    abs    assignments    function_calls    unknown_ops
+   /// ------  ------  ------  ------  -----  -------------  ----------------  -------------
+   ///    404     444      18      12      6              0                 0              1
+   void apply_macro_2D( real_t* RESTRICT _data_dst,
+                        real_t* RESTRICT _data_kEdge,
+                        real_t* RESTRICT _data_kVertex,
+                        real_t* RESTRICT _data_srcEdge,
+                        real_t* RESTRICT _data_srcVertex,
+                        real_t           macro_vertex_coord_id_0comp0,
+                        real_t           macro_vertex_coord_id_0comp1,
+                        real_t           macro_vertex_coord_id_1comp0,
+                        real_t           macro_vertex_coord_id_1comp1,
+                        real_t           macro_vertex_coord_id_2comp0,
+                        real_t           macro_vertex_coord_id_2comp1,
+                        int64_t          micro_edges_per_macro_edge,
+                        real_t           micro_edges_per_macro_edge_float,
+                        real_t           radRayVertex,
+                        real_t           radRefVertex,
+                        real_t           rayVertex_0,
+                        real_t           rayVertex_1,
+                        real_t           refVertex_0,
+                        real_t           refVertex_1,
+                        real_t           thrVertex_0,
+                        real_t           thrVertex_1 ) const;
+   /// Kernel type: toMatrix
+   /// - quadrature rule: Dunavant 4 | points: 6, degree: 4
+   /// - operations per element:
+   ///   adds    muls    divs    pows    abs    assignments    function_calls    unknown_ops
+   /// ------  ------  ------  ------  -----  -------------  ----------------  -------------
+   ///    386     426      18      12      6              0                 0              4
+   void toMatrix_macro_2D( idx_t* RESTRICT                      _data_dst,
+                           real_t* RESTRICT                     _data_kEdge,
+                           real_t* RESTRICT                     _data_kVertex,
+                           idx_t* RESTRICT                      _data_srcEdge,
+                           idx_t* RESTRICT                      _data_srcVertex,
+                           real_t                               macro_vertex_coord_id_0comp0,
+                           real_t                               macro_vertex_coord_id_0comp1,
+                           real_t                               macro_vertex_coord_id_1comp0,
+                           real_t                               macro_vertex_coord_id_1comp1,
+                           real_t                               macro_vertex_coord_id_2comp0,
+                           real_t                               macro_vertex_coord_id_2comp1,
+                           std::shared_ptr< SparseMatrixProxy > mat,
+                           int64_t                              micro_edges_per_macro_edge,
+                           real_t                               micro_edges_per_macro_edge_float,
+                           real_t                               radRayVertex,
+                           real_t                               radRefVertex,
+                           real_t                               rayVertex_0,
+                           real_t                               rayVertex_1,
+                           real_t                               refVertex_0,
+                           real_t                               refVertex_1,
+                           real_t                               thrVertex_0,
+                           real_t                               thrVertex_1 ) const;
+
+   P2Function< real_t > k;
+};
+
+} // namespace operatorgeneration
+
+} // namespace hyteg
diff --git a/operators/k_mass/P2ToP1ElementwiseKMassIcosahedralShellMap.cpp b/operators/k_mass/P2ToP1ElementwiseKMassIcosahedralShellMap.cpp
new file mode 100644
index 0000000000000000000000000000000000000000..c76482abe4e796ac67ea3cf97017134733c5e069
--- /dev/null
+++ b/operators/k_mass/P2ToP1ElementwiseKMassIcosahedralShellMap.cpp
@@ -0,0 +1,329 @@
+/*
+* Copyright (c) 2017-2024 Nils Kohl, Daniel Bauer, Fabian Böhm.
+*
+* This file is part of HyTeG
+* (see https://i10git.cs.fau.de/hyteg/hyteg).
+*
+* This program is free software: you can redistribute it and/or modify
+* it under the terms of the GNU General Public License as published by
+* the Free Software Foundation, either version 3 of the License, or
+* (at your option) any later version.
+*
+* This program is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+* GNU General Public License for more details.
+*
+* You should have received a copy of the GNU General Public License
+* along with this program. If not, see <http://www.gnu.org/licenses/>.
+*/
+
+/*
+* The entire file was generated with the HyTeG form generator.
+*
+* Avoid modifying this file. If buggy, consider fixing the generator itself.
+*/
+
+// Unfortunately, the inverse diagonal kernel wrapper triggers a GCC bug (maybe
+// (related to) https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107087) causing a
+// warning in an internal standard library header (bits/stl_algobase.h). As a
+// workaround, we disable the warning and include this header indirectly through
+// a public header.
+#include <waLBerlaDefinitions.h>
+#ifdef WALBERLA_CXX_COMPILER_IS_GNU
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Wnonnull"
+#endif
+#include <cmath>
+#ifdef WALBERLA_CXX_COMPILER_IS_GNU
+#pragma GCC diagnostic pop
+#endif
+
+#include "P2ToP1ElementwiseKMassIcosahedralShellMap.hpp"
+
+#define FUNC_PREFIX
+
+namespace hyteg {
+
+namespace operatorgeneration {
+
+P2ToP1ElementwiseKMassIcosahedralShellMap::P2ToP1ElementwiseKMassIcosahedralShellMap(
+    const std::shared_ptr< PrimitiveStorage >& storage,
+    size_t                                     minLevel,
+    size_t                                     maxLevel,
+    const P2Function< real_t >&                _k )
+: Operator( storage, minLevel, maxLevel )
+, k( _k )
+{}
+
+void P2ToP1ElementwiseKMassIcosahedralShellMap::apply( const P2Function< real_t >& src,
+                                                       const P1Function< real_t >& dst,
+                                                       uint_t                      level,
+                                                       DoFType                     flag,
+                                                       UpdateType                  updateType ) const
+{
+   this->startTiming( "apply" );
+
+   // Make sure that halos are up-to-date
+   this->timingTree_->start( "pre-communication" );
+   if ( this->storage_->hasGlobalCells() )
+   {
+      // Note that the order of communication is important, since the face -> cell communication may overwrite
+      // parts of the halos that carry the macro-vertex and macro-edge unknowns.
+      src.communicate< Face, Cell >( level );
+      src.communicate< Edge, Cell >( level );
+      src.communicate< Vertex, Cell >( level );
+      k.communicate< Face, Cell >( level );
+      k.communicate< Edge, Cell >( level );
+      k.communicate< Vertex, Cell >( level );
+   }
+   else
+   {
+      WALBERLA_ABORT( "Not implemented." );
+   }
+   this->timingTree_->stop( "pre-communication" );
+
+   if ( updateType == Replace )
+   {
+      // We need to zero the destination array (including halos).
+      // However, we must not zero out anything that is not flagged with the specified BCs.
+      // Therefore, we first zero out everything that flagged, and then, later,
+      // the halos of the highest dim primitives.
+      dst.interpolate( walberla::numeric_cast< real_t >( 0 ), level, flag );
+   }
+
+   if ( storage_->hasGlobalCells() )
+   {
+      for ( auto& it : storage_->getCells() )
+      {
+         Cell& cell = *it.second;
+
+         // get hold of the actual numerical data in the functions
+         real_t* _data_srcVertex = cell.getData( src.getVertexDoFFunction().getCellDataID() )->getPointer( level );
+         real_t* _data_srcEdge   = cell.getData( src.getEdgeDoFFunction().getCellDataID() )->getPointer( level );
+         real_t* _data_dst       = cell.getData( dst.getCellDataID() )->getPointer( level );
+         real_t* _data_kVertex   = cell.getData( k.getVertexDoFFunction().getCellDataID() )->getPointer( level );
+         real_t* _data_kEdge     = cell.getData( k.getEdgeDoFFunction().getCellDataID() )->getPointer( level );
+
+         // Zero out dst halos only
+         //
+         // This is also necessary when using update type == Add.
+         // During additive comm we then skip zeroing the data on the lower-dim primitives.
+         for ( const auto& idx : vertexdof::macrocell::Iterator( level ) )
+         {
+            if ( !vertexdof::macrocell::isOnCellFace( idx, level ).empty() )
+            {
+               auto arrayIdx       = vertexdof::macrocell::index( level, idx.x(), idx.y(), idx.z() );
+               _data_dst[arrayIdx] = real_t( 0 );
+            }
+         }
+
+         const auto   micro_edges_per_macro_edge       = (int64_t) levelinfo::num_microedges_per_edge( level );
+         const auto   micro_edges_per_macro_edge_float = (real_t) levelinfo::num_microedges_per_edge( level );
+         const real_t macro_vertex_coord_id_0comp0     = (real_t) cell.getCoordinates()[0][0];
+         const real_t macro_vertex_coord_id_0comp1     = (real_t) cell.getCoordinates()[0][1];
+         const real_t macro_vertex_coord_id_0comp2     = (real_t) cell.getCoordinates()[0][2];
+         const real_t macro_vertex_coord_id_1comp0     = (real_t) cell.getCoordinates()[1][0];
+         const real_t macro_vertex_coord_id_1comp1     = (real_t) cell.getCoordinates()[1][1];
+         const real_t macro_vertex_coord_id_1comp2     = (real_t) cell.getCoordinates()[1][2];
+         const real_t macro_vertex_coord_id_2comp0     = (real_t) cell.getCoordinates()[2][0];
+         const real_t macro_vertex_coord_id_2comp1     = (real_t) cell.getCoordinates()[2][1];
+         const real_t macro_vertex_coord_id_2comp2     = (real_t) cell.getCoordinates()[2][2];
+         const real_t macro_vertex_coord_id_3comp0     = (real_t) cell.getCoordinates()[3][0];
+         const real_t macro_vertex_coord_id_3comp1     = (real_t) cell.getCoordinates()[3][1];
+         const real_t macro_vertex_coord_id_3comp2     = (real_t) cell.getCoordinates()[3][2];
+         WALBERLA_CHECK_NOT_NULLPTR(
+             std::dynamic_pointer_cast< IcosahedralShellMap >( cell.getGeometryMap() ),
+             "This operator requires the IcosahedralShellMap to be registered as GeometryMap on every macro-cell." )
+         real_t radRefVertex = std::dynamic_pointer_cast< IcosahedralShellMap >( cell.getGeometryMap() )->radRefVertex();
+         real_t radRayVertex = std::dynamic_pointer_cast< IcosahedralShellMap >( cell.getGeometryMap() )->radRayVertex();
+         real_t refVertex_0  = std::dynamic_pointer_cast< IcosahedralShellMap >( cell.getGeometryMap() )->refVertex()[0];
+         real_t rayVertex_0  = std::dynamic_pointer_cast< IcosahedralShellMap >( cell.getGeometryMap() )->rayVertex()[0];
+         real_t thrVertex_0  = std::dynamic_pointer_cast< IcosahedralShellMap >( cell.getGeometryMap() )->thrVertex()[0];
+         real_t forVertex_0  = std::dynamic_pointer_cast< IcosahedralShellMap >( cell.getGeometryMap() )->forVertex()[0];
+         real_t refVertex_1  = std::dynamic_pointer_cast< IcosahedralShellMap >( cell.getGeometryMap() )->refVertex()[1];
+         real_t rayVertex_1  = std::dynamic_pointer_cast< IcosahedralShellMap >( cell.getGeometryMap() )->rayVertex()[1];
+         real_t thrVertex_1  = std::dynamic_pointer_cast< IcosahedralShellMap >( cell.getGeometryMap() )->thrVertex()[1];
+         real_t forVertex_1  = std::dynamic_pointer_cast< IcosahedralShellMap >( cell.getGeometryMap() )->forVertex()[1];
+         real_t refVertex_2  = std::dynamic_pointer_cast< IcosahedralShellMap >( cell.getGeometryMap() )->refVertex()[2];
+         real_t rayVertex_2  = std::dynamic_pointer_cast< IcosahedralShellMap >( cell.getGeometryMap() )->rayVertex()[2];
+         real_t thrVertex_2  = std::dynamic_pointer_cast< IcosahedralShellMap >( cell.getGeometryMap() )->thrVertex()[2];
+         real_t forVertex_2  = std::dynamic_pointer_cast< IcosahedralShellMap >( cell.getGeometryMap() )->forVertex()[2];
+
+         this->timingTree_->start( "kernel" );
+
+         apply_macro_3D(
+
+             _data_dst,
+             _data_kEdge,
+             _data_kVertex,
+             _data_srcEdge,
+             _data_srcVertex,
+             forVertex_0,
+             forVertex_1,
+             forVertex_2,
+             macro_vertex_coord_id_0comp0,
+             macro_vertex_coord_id_0comp1,
+             macro_vertex_coord_id_0comp2,
+             macro_vertex_coord_id_1comp0,
+             macro_vertex_coord_id_1comp1,
+             macro_vertex_coord_id_1comp2,
+             macro_vertex_coord_id_2comp0,
+             macro_vertex_coord_id_2comp1,
+             macro_vertex_coord_id_2comp2,
+             macro_vertex_coord_id_3comp0,
+             macro_vertex_coord_id_3comp1,
+             macro_vertex_coord_id_3comp2,
+             micro_edges_per_macro_edge,
+             micro_edges_per_macro_edge_float,
+             radRayVertex,
+             radRefVertex,
+             rayVertex_0,
+             rayVertex_1,
+             rayVertex_2,
+             refVertex_0,
+             refVertex_1,
+             refVertex_2,
+             thrVertex_0,
+             thrVertex_1,
+             thrVertex_2 );
+         this->timingTree_->stop( "kernel" );
+      }
+
+      // Push result to lower-dimensional primitives
+      //
+      this->timingTree_->start( "post-communication" );
+      // Note: We could avoid communication here by implementing the apply() also for the respective
+      //       lower dimensional primitives!
+      dst.communicateAdditively< Cell, Face >( level, DoFType::All ^ flag, *storage_, updateType == Replace );
+      dst.communicateAdditively< Cell, Edge >( level, DoFType::All ^ flag, *storage_, updateType == Replace );
+      dst.communicateAdditively< Cell, Vertex >( level, DoFType::All ^ flag, *storage_, updateType == Replace );
+      this->timingTree_->stop( "post-communication" );
+   }
+   else
+   {
+      WALBERLA_ABORT( "Not implemented." );
+   }
+
+   this->stopTiming( "apply" );
+}
+void P2ToP1ElementwiseKMassIcosahedralShellMap::toMatrix( const std::shared_ptr< SparseMatrixProxy >& mat,
+                                                          const P2Function< idx_t >&                  src,
+                                                          const P1Function< idx_t >&                  dst,
+                                                          uint_t                                      level,
+                                                          DoFType                                     flag ) const
+{
+   this->startTiming( "toMatrix" );
+
+   // We currently ignore the flag provided!
+   if ( flag != All )
+   {
+      WALBERLA_LOG_WARNING_ON_ROOT( "Input flag ignored in toMatrix; using flag = All" );
+   }
+
+   if ( storage_->hasGlobalCells() )
+   {
+      this->timingTree_->start( "pre-communication" );
+      k.communicate< Face, Cell >( level );
+      k.communicate< Edge, Cell >( level );
+      k.communicate< Vertex, Cell >( level );
+      this->timingTree_->stop( "pre-communication" );
+
+      for ( auto& it : storage_->getCells() )
+      {
+         Cell& cell = *it.second;
+
+         // get hold of the actual numerical data
+         idx_t*  _data_srcVertex = cell.getData( src.getVertexDoFFunction().getCellDataID() )->getPointer( level );
+         idx_t*  _data_srcEdge   = cell.getData( src.getEdgeDoFFunction().getCellDataID() )->getPointer( level );
+         idx_t*  _data_dst       = cell.getData( dst.getCellDataID() )->getPointer( level );
+         real_t* _data_kVertex   = cell.getData( k.getVertexDoFFunction().getCellDataID() )->getPointer( level );
+         real_t* _data_kEdge     = cell.getData( k.getEdgeDoFFunction().getCellDataID() )->getPointer( level );
+
+         const auto   micro_edges_per_macro_edge       = (int64_t) levelinfo::num_microedges_per_edge( level );
+         const auto   micro_edges_per_macro_edge_float = (real_t) levelinfo::num_microedges_per_edge( level );
+         const real_t macro_vertex_coord_id_0comp0     = (real_t) cell.getCoordinates()[0][0];
+         const real_t macro_vertex_coord_id_0comp1     = (real_t) cell.getCoordinates()[0][1];
+         const real_t macro_vertex_coord_id_0comp2     = (real_t) cell.getCoordinates()[0][2];
+         const real_t macro_vertex_coord_id_1comp0     = (real_t) cell.getCoordinates()[1][0];
+         const real_t macro_vertex_coord_id_1comp1     = (real_t) cell.getCoordinates()[1][1];
+         const real_t macro_vertex_coord_id_1comp2     = (real_t) cell.getCoordinates()[1][2];
+         const real_t macro_vertex_coord_id_2comp0     = (real_t) cell.getCoordinates()[2][0];
+         const real_t macro_vertex_coord_id_2comp1     = (real_t) cell.getCoordinates()[2][1];
+         const real_t macro_vertex_coord_id_2comp2     = (real_t) cell.getCoordinates()[2][2];
+         const real_t macro_vertex_coord_id_3comp0     = (real_t) cell.getCoordinates()[3][0];
+         const real_t macro_vertex_coord_id_3comp1     = (real_t) cell.getCoordinates()[3][1];
+         const real_t macro_vertex_coord_id_3comp2     = (real_t) cell.getCoordinates()[3][2];
+         WALBERLA_CHECK_NOT_NULLPTR(
+             std::dynamic_pointer_cast< IcosahedralShellMap >( cell.getGeometryMap() ),
+             "This operator requires the IcosahedralShellMap to be registered as GeometryMap on every macro-cell." )
+         real_t radRefVertex = std::dynamic_pointer_cast< IcosahedralShellMap >( cell.getGeometryMap() )->radRefVertex();
+         real_t radRayVertex = std::dynamic_pointer_cast< IcosahedralShellMap >( cell.getGeometryMap() )->radRayVertex();
+         real_t refVertex_0  = std::dynamic_pointer_cast< IcosahedralShellMap >( cell.getGeometryMap() )->refVertex()[0];
+         real_t rayVertex_0  = std::dynamic_pointer_cast< IcosahedralShellMap >( cell.getGeometryMap() )->rayVertex()[0];
+         real_t thrVertex_0  = std::dynamic_pointer_cast< IcosahedralShellMap >( cell.getGeometryMap() )->thrVertex()[0];
+         real_t forVertex_0  = std::dynamic_pointer_cast< IcosahedralShellMap >( cell.getGeometryMap() )->forVertex()[0];
+         real_t refVertex_1  = std::dynamic_pointer_cast< IcosahedralShellMap >( cell.getGeometryMap() )->refVertex()[1];
+         real_t rayVertex_1  = std::dynamic_pointer_cast< IcosahedralShellMap >( cell.getGeometryMap() )->rayVertex()[1];
+         real_t thrVertex_1  = std::dynamic_pointer_cast< IcosahedralShellMap >( cell.getGeometryMap() )->thrVertex()[1];
+         real_t forVertex_1  = std::dynamic_pointer_cast< IcosahedralShellMap >( cell.getGeometryMap() )->forVertex()[1];
+         real_t refVertex_2  = std::dynamic_pointer_cast< IcosahedralShellMap >( cell.getGeometryMap() )->refVertex()[2];
+         real_t rayVertex_2  = std::dynamic_pointer_cast< IcosahedralShellMap >( cell.getGeometryMap() )->rayVertex()[2];
+         real_t thrVertex_2  = std::dynamic_pointer_cast< IcosahedralShellMap >( cell.getGeometryMap() )->thrVertex()[2];
+         real_t forVertex_2  = std::dynamic_pointer_cast< IcosahedralShellMap >( cell.getGeometryMap() )->forVertex()[2];
+
+         this->timingTree_->start( "kernel" );
+
+         toMatrix_macro_3D(
+
+             _data_dst,
+             _data_kEdge,
+             _data_kVertex,
+             _data_srcEdge,
+             _data_srcVertex,
+             forVertex_0,
+             forVertex_1,
+             forVertex_2,
+             macro_vertex_coord_id_0comp0,
+             macro_vertex_coord_id_0comp1,
+             macro_vertex_coord_id_0comp2,
+             macro_vertex_coord_id_1comp0,
+             macro_vertex_coord_id_1comp1,
+             macro_vertex_coord_id_1comp2,
+             macro_vertex_coord_id_2comp0,
+             macro_vertex_coord_id_2comp1,
+             macro_vertex_coord_id_2comp2,
+             macro_vertex_coord_id_3comp0,
+             macro_vertex_coord_id_3comp1,
+             macro_vertex_coord_id_3comp2,
+             mat,
+             micro_edges_per_macro_edge,
+             micro_edges_per_macro_edge_float,
+             radRayVertex,
+             radRefVertex,
+             rayVertex_0,
+             rayVertex_1,
+             rayVertex_2,
+             refVertex_0,
+             refVertex_1,
+             refVertex_2,
+             thrVertex_0,
+             thrVertex_1,
+             thrVertex_2 );
+         this->timingTree_->stop( "kernel" );
+      }
+   }
+   else
+   {
+      this->timingTree_->start( "pre-communication" );
+      communication::syncFunctionBetweenPrimitives( k, level, communication::syncDirection_t::LOW2HIGH );
+      this->timingTree_->stop( "pre-communication" );
+
+      WALBERLA_ABORT( "Not implemented." );
+   }
+   this->stopTiming( "toMatrix" );
+}
+
+} // namespace operatorgeneration
+
+} // namespace hyteg
diff --git a/operators/k_mass/P2ToP1ElementwiseKMassIcosahedralShellMap.hpp b/operators/k_mass/P2ToP1ElementwiseKMassIcosahedralShellMap.hpp
new file mode 100644
index 0000000000000000000000000000000000000000..e60fcf2aec1e21753d519a8c3d65a45d5e6bbd96
--- /dev/null
+++ b/operators/k_mass/P2ToP1ElementwiseKMassIcosahedralShellMap.hpp
@@ -0,0 +1,166 @@
+/*
+* Copyright (c) 2017-2024 Nils Kohl, Daniel Bauer, Fabian Böhm.
+*
+* This file is part of HyTeG
+* (see https://i10git.cs.fau.de/hyteg/hyteg).
+*
+* This program is free software: you can redistribute it and/or modify
+* it under the terms of the GNU General Public License as published by
+* the Free Software Foundation, either version 3 of the License, or
+* (at your option) any later version.
+*
+* This program is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+* GNU General Public License for more details.
+*
+* You should have received a copy of the GNU General Public License
+* along with this program. If not, see <http://www.gnu.org/licenses/>.
+*/
+
+/*
+* The entire file was generated with the HyTeG form generator.
+*
+* Avoid modifying this file. If buggy, consider fixing the generator itself.
+*/
+
+#pragma once
+
+#include "core/DataTypes.h"
+
+#include "hyteg/LikwidWrapper.hpp"
+#include "hyteg/communication/Syncing.hpp"
+#include "hyteg/edgedofspace/EdgeDoFMacroCell.hpp"
+#include "hyteg/geometry/IcosahedralShellMap.hpp"
+#include "hyteg/operators/Operator.hpp"
+#include "hyteg/p1functionspace/P1Function.hpp"
+#include "hyteg/p2functionspace/P2Function.hpp"
+#include "hyteg/primitivestorage/PrimitiveStorage.hpp"
+#include "hyteg/sparseassembly/SparseMatrixProxy.hpp"
+
+#define FUNC_PREFIX
+
+namespace hyteg {
+
+namespace operatorgeneration {
+
+/// Diffusion operator with a scalar coefficient.
+///
+/// Geometry map: IcosahedralShellMap
+///
+/// Weak formulation
+///
+///     u: trial function (space: Lagrange, degree: 2)
+///     v: test function  (space: Lagrange, degree: 1)
+///     k: coefficient    (space: Lagrange, degree: 2)
+///
+///     ∫ k uv
+
+class P2ToP1ElementwiseKMassIcosahedralShellMap : public Operator< P2Function< real_t >, P1Function< real_t > >
+{
+ public:
+   P2ToP1ElementwiseKMassIcosahedralShellMap( const std::shared_ptr< PrimitiveStorage >& storage,
+                                              size_t                                     minLevel,
+                                              size_t                                     maxLevel,
+                                              const P2Function< real_t >&                _k );
+
+   void apply( const P2Function< real_t >& src,
+               const P1Function< real_t >& dst,
+               uint_t                      level,
+               DoFType                     flag,
+               UpdateType                  updateType = Replace ) const;
+
+   void toMatrix( const std::shared_ptr< SparseMatrixProxy >& mat,
+                  const P2Function< idx_t >&                  src,
+                  const P1Function< idx_t >&                  dst,
+                  uint_t                                      level,
+                  DoFType                                     flag ) const;
+
+ protected:
+ private:
+   /// Kernel type: apply
+   /// - quadrature rule: Jaśkowiec-Sukumar 04 | points: 11, degree: 4
+   /// - operations per element:
+   ///   adds    muls    divs    pows    abs    assignments    function_calls    unknown_ops
+   /// ------  ------  ------  ------  -----  -------------  ----------------  -------------
+   ///   1552    1795      47      11     11              0                 0              1
+   void apply_macro_3D( real_t* RESTRICT _data_dst,
+                        real_t* RESTRICT _data_kEdge,
+                        real_t* RESTRICT _data_kVertex,
+                        real_t* RESTRICT _data_srcEdge,
+                        real_t* RESTRICT _data_srcVertex,
+                        real_t           forVertex_0,
+                        real_t           forVertex_1,
+                        real_t           forVertex_2,
+                        real_t           macro_vertex_coord_id_0comp0,
+                        real_t           macro_vertex_coord_id_0comp1,
+                        real_t           macro_vertex_coord_id_0comp2,
+                        real_t           macro_vertex_coord_id_1comp0,
+                        real_t           macro_vertex_coord_id_1comp1,
+                        real_t           macro_vertex_coord_id_1comp2,
+                        real_t           macro_vertex_coord_id_2comp0,
+                        real_t           macro_vertex_coord_id_2comp1,
+                        real_t           macro_vertex_coord_id_2comp2,
+                        real_t           macro_vertex_coord_id_3comp0,
+                        real_t           macro_vertex_coord_id_3comp1,
+                        real_t           macro_vertex_coord_id_3comp2,
+                        int64_t          micro_edges_per_macro_edge,
+                        real_t           micro_edges_per_macro_edge_float,
+                        real_t           radRayVertex,
+                        real_t           radRefVertex,
+                        real_t           rayVertex_0,
+                        real_t           rayVertex_1,
+                        real_t           rayVertex_2,
+                        real_t           refVertex_0,
+                        real_t           refVertex_1,
+                        real_t           refVertex_2,
+                        real_t           thrVertex_0,
+                        real_t           thrVertex_1,
+                        real_t           thrVertex_2 ) const;
+   /// Kernel type: toMatrix
+   /// - quadrature rule: Jaśkowiec-Sukumar 04 | points: 11, degree: 4
+   /// - operations per element:
+   ///   adds    muls    divs    pows    abs    assignments    function_calls    unknown_ops
+   /// ------  ------  ------  ------  -----  -------------  ----------------  -------------
+   ///   1512    1755      47      11     11              0                 0              4
+   void toMatrix_macro_3D( idx_t* RESTRICT                      _data_dst,
+                           real_t* RESTRICT                     _data_kEdge,
+                           real_t* RESTRICT                     _data_kVertex,
+                           idx_t* RESTRICT                      _data_srcEdge,
+                           idx_t* RESTRICT                      _data_srcVertex,
+                           real_t                               forVertex_0,
+                           real_t                               forVertex_1,
+                           real_t                               forVertex_2,
+                           real_t                               macro_vertex_coord_id_0comp0,
+                           real_t                               macro_vertex_coord_id_0comp1,
+                           real_t                               macro_vertex_coord_id_0comp2,
+                           real_t                               macro_vertex_coord_id_1comp0,
+                           real_t                               macro_vertex_coord_id_1comp1,
+                           real_t                               macro_vertex_coord_id_1comp2,
+                           real_t                               macro_vertex_coord_id_2comp0,
+                           real_t                               macro_vertex_coord_id_2comp1,
+                           real_t                               macro_vertex_coord_id_2comp2,
+                           real_t                               macro_vertex_coord_id_3comp0,
+                           real_t                               macro_vertex_coord_id_3comp1,
+                           real_t                               macro_vertex_coord_id_3comp2,
+                           std::shared_ptr< SparseMatrixProxy > mat,
+                           int64_t                              micro_edges_per_macro_edge,
+                           real_t                               micro_edges_per_macro_edge_float,
+                           real_t                               radRayVertex,
+                           real_t                               radRefVertex,
+                           real_t                               rayVertex_0,
+                           real_t                               rayVertex_1,
+                           real_t                               rayVertex_2,
+                           real_t                               refVertex_0,
+                           real_t                               refVertex_1,
+                           real_t                               refVertex_2,
+                           real_t                               thrVertex_0,
+                           real_t                               thrVertex_1,
+                           real_t                               thrVertex_2 ) const;
+
+   P2Function< real_t > k;
+};
+
+} // namespace operatorgeneration
+
+} // namespace hyteg
diff --git a/operators/k_mass/avx/P2ToP1ElementwiseKMassAnnulusMap_apply_macro_2D.cpp b/operators/k_mass/avx/P2ToP1ElementwiseKMassAnnulusMap_apply_macro_2D.cpp
new file mode 100644
index 0000000000000000000000000000000000000000..56e42f882dd9c23dabd44d5f809da1f8def16abe
--- /dev/null
+++ b/operators/k_mass/avx/P2ToP1ElementwiseKMassAnnulusMap_apply_macro_2D.cpp
@@ -0,0 +1,585 @@
+/*
+* Copyright (c) 2017-2024 Nils Kohl, Daniel Bauer, Fabian Böhm.
+*
+* This file is part of HyTeG
+* (see https://i10git.cs.fau.de/hyteg/hyteg).
+*
+* This program is free software: you can redistribute it and/or modify
+* it under the terms of the GNU General Public License as published by
+* the Free Software Foundation, either version 3 of the License, or
+* (at your option) any later version.
+*
+* This program is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+* GNU General Public License for more details.
+*
+* You should have received a copy of the GNU General Public License
+* along with this program. If not, see <http://www.gnu.org/licenses/>.
+*/
+
+/*
+* The entire file was generated with the HyTeG form generator.
+*
+* Avoid modifying this file. If buggy, consider fixing the generator itself.
+*/
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+#include "../P2ToP1ElementwiseKMassAnnulusMap.hpp"
+
+#define FUNC_PREFIX  
+
+namespace hyteg {
+
+namespace operatorgeneration {
+
+void P2ToP1ElementwiseKMassAnnulusMap::apply_macro_2D( real_t * RESTRICT  _data_dst, real_t * RESTRICT  _data_kEdge, real_t * RESTRICT  _data_kVertex, real_t * RESTRICT  _data_srcEdge, real_t * RESTRICT  _data_srcVertex, real_t macro_vertex_coord_id_0comp0, real_t macro_vertex_coord_id_0comp1, real_t macro_vertex_coord_id_1comp0, real_t macro_vertex_coord_id_1comp1, real_t macro_vertex_coord_id_2comp0, real_t macro_vertex_coord_id_2comp1, int64_t micro_edges_per_macro_edge, real_t micro_edges_per_macro_edge_float, real_t radRayVertex, real_t radRefVertex, real_t rayVertex_0, real_t rayVertex_1, real_t refVertex_0, real_t refVertex_1, real_t thrVertex_0, real_t thrVertex_1 ) const
+{
+    {
+       const real_t _data_q_w [] = {0.11169079483900581, 0.054975871827660949, 0.11169079483900581, 0.054975871827660949, 0.11169079483900581, 0.054975871827660949};
+   
+       const real_t _data_q_p_0 [] = {0.44594849091596489, 0.091576213509770715, 0.10810301816807022, 0.81684757298045851, 0.44594849091596489, 0.091576213509770715};
+   
+       const real_t _data_q_p_1 [] = {0.10810301816807022, 0.81684757298045851, 0.44594849091596489, 0.091576213509770715, 0.44594849091596489, 0.091576213509770715};
+   
+       const real_t tmp_coords_jac_0_GRAY = 1.0 / (micro_edges_per_macro_edge_float)*1.0;
+       const real_t p_affine_const_0_0_GRAY = macro_vertex_coord_id_0comp0;
+       const real_t p_affine_const_0_1_GRAY = macro_vertex_coord_id_0comp1;
+       const real_t p_affine_const_1_0_GRAY = macro_vertex_coord_id_0comp0 + tmp_coords_jac_0_GRAY*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0);
+       const real_t p_affine_const_1_1_GRAY = macro_vertex_coord_id_0comp1 + tmp_coords_jac_0_GRAY*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1);
+       const real_t p_affine_const_2_0_GRAY = macro_vertex_coord_id_0comp0 + tmp_coords_jac_0_GRAY*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0);
+       const real_t p_affine_const_2_1_GRAY = macro_vertex_coord_id_0comp1 + tmp_coords_jac_0_GRAY*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1);
+       const real_t jac_affine_0_0_GRAY = -p_affine_const_0_0_GRAY + p_affine_const_1_0_GRAY;
+       const real_t jac_affine_0_1_GRAY = -p_affine_const_0_0_GRAY + p_affine_const_2_0_GRAY;
+       const real_t jac_affine_1_0_GRAY = -p_affine_const_0_1_GRAY + p_affine_const_1_1_GRAY;
+       const real_t jac_affine_1_1_GRAY = -p_affine_const_0_1_GRAY + p_affine_const_2_1_GRAY;
+       const real_t abs_det_jac_affine_GRAY = abs(jac_affine_0_0_GRAY*jac_affine_1_1_GRAY - jac_affine_0_1_GRAY*jac_affine_1_0_GRAY);
+       const real_t tmp_qloop_5 = rayVertex_1 - thrVertex_1;
+       const real_t tmp_qloop_11 = rayVertex_0 - thrVertex_0;
+       const real_t tmp_qloop_12 = (radRayVertex - radRefVertex)*1.0 / (-tmp_qloop_11*(rayVertex_1 - refVertex_1) + tmp_qloop_5*(rayVertex_0 - refVertex_0));
+       {
+          /* FaceType.GRAY */
+          const real_t _data_phi_psi_jac_affine_det_0_0_GRAY [] = {((real_t)(abs_det_jac_affine_GRAY*-0.021498453336334336)), ((real_t)(abs_det_jac_affine_GRAY*-0.021498453336334288)), ((real_t)(abs_det_jac_affine_GRAY*-0.037785435529825065)), ((real_t)(abs_det_jac_affine_GRAY*0.085993813345337122)), ((real_t)(abs_det_jac_affine_GRAY*0.085993813345337122)), ((real_t)(abs_det_jac_affine_GRAY*0.35474320642778434)), ((real_t)(abs_det_jac_affine_GRAY*-0.021498453336334336)), ((real_t)(abs_det_jac_affine_GRAY*-0.021498453336334288)), ((real_t)(abs_det_jac_affine_GRAY*-0.037785435529825065)), ((real_t)(abs_det_jac_affine_GRAY*0.085993813345337108)), ((real_t)(abs_det_jac_affine_GRAY*0.085993813345337122)), ((real_t)(abs_det_jac_affine_GRAY*0.35474320642778434)), ((real_t)(abs_det_jac_affine_GRAY*-0.0052114711428435066)), ((real_t)(abs_det_jac_affine_GRAY*-0.0052114711428434945)), ((real_t)(abs_det_jac_affine_GRAY*-0.0091596220343278505)), ((real_t)(abs_det_jac_affine_GRAY*0.020845884571373971)), ((real_t)(abs_det_jac_affine_GRAY*0.020845884571373971)), ((real_t)(abs_det_jac_affine_GRAY*0.085993813345337122)), ((real_t)(abs_det_jac_affine_GRAY*-0.0068502494696926711)), ((real_t)(abs_det_jac_affine_GRAY*-0.006850249469692685)), ((real_t)(abs_det_jac_affine_GRAY*0.047402809869425765)), ((real_t)(abs_det_jac_affine_GRAY*0.02740099787877074)), ((real_t)(abs_det_jac_affine_GRAY*0.02740099787877075)), ((real_t)(abs_det_jac_affine_GRAY*0.0030719068221888579)), ((real_t)(abs_det_jac_affine_GRAY*-0.0068502494696926685)), ((real_t)(abs_det_jac_affine_GRAY*-0.0068502494696926824)), ((real_t)(abs_det_jac_affine_GRAY*0.047402809869425751)), ((real_t)(abs_det_jac_affine_GRAY*0.02740099787877073)), ((real_t)(abs_det_jac_affine_GRAY*0.02740099787877074)), ((real_t)(abs_det_jac_affine_GRAY*0.0030719068221888566)), ((real_t)(abs_det_jac_affine_GRAY*-0.061103308808810999)), ((real_t)(abs_det_jac_affine_GRAY*-0.061103308808811124)), ((real_t)(abs_det_jac_affine_GRAY*0.42282672224882095)), ((real_t)(abs_det_jac_affine_GRAY*0.24441323523524447)), ((real_t)(abs_det_jac_affine_GRAY*0.24441323523524458)), ((real_t)(abs_det_jac_affine_GRAY*0.027400997878770705)), ((real_t)(abs_det_jac_affine_GRAY*-0.021498453336334326)), ((real_t)(abs_det_jac_affine_GRAY*-0.037785435529825065)), ((real_t)(abs_det_jac_affine_GRAY*-0.021498453336334288)), ((real_t)(abs_det_jac_affine_GRAY*0.085993813345337122)), ((real_t)(abs_det_jac_affine_GRAY*0.35474320642778434)), ((real_t)(abs_det_jac_affine_GRAY*0.085993813345337122)), ((real_t)(abs_det_jac_affine_GRAY*-0.005211471142843504)), ((real_t)(abs_det_jac_affine_GRAY*-0.0091596220343278505)), ((real_t)(abs_det_jac_affine_GRAY*-0.0052114711428434945)), ((real_t)(abs_det_jac_affine_GRAY*0.020845884571373971)), ((real_t)(abs_det_jac_affine_GRAY*0.085993813345337122)), ((real_t)(abs_det_jac_affine_GRAY*0.020845884571373971)), ((real_t)(abs_det_jac_affine_GRAY*-0.021498453336334326)), ((real_t)(abs_det_jac_affine_GRAY*-0.037785435529825065)), ((real_t)(abs_det_jac_affine_GRAY*-0.021498453336334288)), ((real_t)(abs_det_jac_affine_GRAY*0.085993813345337108)), ((real_t)(abs_det_jac_affine_GRAY*0.35474320642778434)), ((real_t)(abs_det_jac_affine_GRAY*0.085993813345337122)), ((real_t)(abs_det_jac_affine_GRAY*-0.0068502494696926625)), ((real_t)(abs_det_jac_affine_GRAY*0.047402809869425779)), ((real_t)(abs_det_jac_affine_GRAY*-0.0068502494696926867)), ((real_t)(abs_det_jac_affine_GRAY*0.027400997878770747)), ((real_t)(abs_det_jac_affine_GRAY*0.0030719068221888588)), ((real_t)(abs_det_jac_affine_GRAY*0.027400997878770757)), ((real_t)(abs_det_jac_affine_GRAY*-0.061103308808810909)), ((real_t)(abs_det_jac_affine_GRAY*0.42282672224882095)), ((real_t)(abs_det_jac_affine_GRAY*-0.061103308808811124)), ((real_t)(abs_det_jac_affine_GRAY*0.24441323523524447)), ((real_t)(abs_det_jac_affine_GRAY*0.027400997878770705)), ((real_t)(abs_det_jac_affine_GRAY*0.24441323523524458)), ((real_t)(abs_det_jac_affine_GRAY*-0.006850249469692659)), ((real_t)(abs_det_jac_affine_GRAY*0.047402809869425751)), ((real_t)(abs_det_jac_affine_GRAY*-0.0068502494696926824)), ((real_t)(abs_det_jac_affine_GRAY*0.02740099787877073)), ((real_t)(abs_det_jac_affine_GRAY*0.0030719068221888566)), ((real_t)(abs_det_jac_affine_GRAY*0.02740099787877074)), ((real_t)(abs_det_jac_affine_GRAY*-0.0091596220343278956)), ((real_t)(abs_det_jac_affine_GRAY*-0.0052114711428434945)), ((real_t)(abs_det_jac_affine_GRAY*-0.0052114711428434945)), ((real_t)(abs_det_jac_affine_GRAY*0.085993813345337108)), ((real_t)(abs_det_jac_affine_GRAY*0.020845884571373978)), ((real_t)(abs_det_jac_affine_GRAY*0.020845884571373978)), ((real_t)(abs_det_jac_affine_GRAY*-0.037785435529825252)), ((real_t)(abs_det_jac_affine_GRAY*-0.021498453336334288)), ((real_t)(abs_det_jac_affine_GRAY*-0.021498453336334288)), ((real_t)(abs_det_jac_affine_GRAY*0.35474320642778429)), ((real_t)(abs_det_jac_affine_GRAY*0.08599381334533715)), ((real_t)(abs_det_jac_affine_GRAY*0.08599381334533715)), ((real_t)(abs_det_jac_affine_GRAY*-0.037785435529825252)), ((real_t)(abs_det_jac_affine_GRAY*-0.021498453336334288)), ((real_t)(abs_det_jac_affine_GRAY*-0.021498453336334288)), ((real_t)(abs_det_jac_affine_GRAY*0.35474320642778429)), ((real_t)(abs_det_jac_affine_GRAY*0.08599381334533715)), ((real_t)(abs_det_jac_affine_GRAY*0.08599381334533715)), ((real_t)(abs_det_jac_affine_GRAY*0.42282672224882117)), ((real_t)(abs_det_jac_affine_GRAY*-0.061103308808811124)), ((real_t)(abs_det_jac_affine_GRAY*-0.061103308808811124)), ((real_t)(abs_det_jac_affine_GRAY*0.02740099787877073)), ((real_t)(abs_det_jac_affine_GRAY*0.24441323523524444)), ((real_t)(abs_det_jac_affine_GRAY*0.24441323523524444)), ((real_t)(abs_det_jac_affine_GRAY*0.047402809869425772)), ((real_t)(abs_det_jac_affine_GRAY*-0.0068502494696926824)), ((real_t)(abs_det_jac_affine_GRAY*-0.0068502494696926824)), ((real_t)(abs_det_jac_affine_GRAY*0.0030719068221888592)), ((real_t)(abs_det_jac_affine_GRAY*0.027400997878770726)), ((real_t)(abs_det_jac_affine_GRAY*0.027400997878770726)), ((real_t)(abs_det_jac_affine_GRAY*0.047402809869425772)), ((real_t)(abs_det_jac_affine_GRAY*-0.0068502494696926824)), ((real_t)(abs_det_jac_affine_GRAY*-0.0068502494696926824)), ((real_t)(abs_det_jac_affine_GRAY*0.0030719068221888592)), ((real_t)(abs_det_jac_affine_GRAY*0.027400997878770726)), ((real_t)(abs_det_jac_affine_GRAY*0.027400997878770726))};
+      
+          for (int64_t ctr_1 = 0; ctr_1 < micro_edges_per_macro_edge; ctr_1 += 1)
+          {
+             for (int64_t ctr_0 = 0; ctr_0 < (int64_t)((-ctr_1 + micro_edges_per_macro_edge) / (4)) * (4); ctr_0 += 4)
+             {
+            
+                const int64_t phantom_ctr_0 = ctr_0;
+                real_t _data_float_loop_ctr_array_dim_0[4];
+                _data_float_loop_ctr_array_dim_0[0] = (real_t) ctr_0+ 0;
+                _data_float_loop_ctr_array_dim_0[1] = (real_t) ctr_0+ 1;
+                _data_float_loop_ctr_array_dim_0[2] = (real_t) ctr_0+ 2;
+                _data_float_loop_ctr_array_dim_0[3] = (real_t) ctr_0+ 3;
+                real_t _data_float_loop_ctr_array_dim_1[4];
+                _data_float_loop_ctr_array_dim_1[0] = (real_t) ctr_1;
+                _data_float_loop_ctr_array_dim_1[1] = (real_t) ctr_1;
+                _data_float_loop_ctr_array_dim_1[2] = (real_t) ctr_1;
+                _data_float_loop_ctr_array_dim_1[3] = (real_t) ctr_1;
+            
+                const __m256d p_affine_0_0 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0)),_mm256_set_pd(macro_vertex_coord_id_1comp0,macro_vertex_coord_id_1comp0,macro_vertex_coord_id_1comp0,macro_vertex_coord_id_1comp0)),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0)),_mm256_set_pd(macro_vertex_coord_id_2comp0,macro_vertex_coord_id_2comp0,macro_vertex_coord_id_2comp0,macro_vertex_coord_id_2comp0)),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0));
+                const __m256d p_affine_0_1 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1)),_mm256_set_pd(macro_vertex_coord_id_1comp1,macro_vertex_coord_id_1comp1,macro_vertex_coord_id_1comp1,macro_vertex_coord_id_1comp1)),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1)),_mm256_set_pd(macro_vertex_coord_id_2comp1,macro_vertex_coord_id_2comp1,macro_vertex_coord_id_2comp1,macro_vertex_coord_id_2comp1)),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1));
+                const __m256d p_affine_1_0 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0)),_mm256_set_pd(macro_vertex_coord_id_1comp0,macro_vertex_coord_id_1comp0,macro_vertex_coord_id_1comp0,macro_vertex_coord_id_1comp0)),_mm256_add_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0)),_mm256_set_pd(macro_vertex_coord_id_2comp0,macro_vertex_coord_id_2comp0,macro_vertex_coord_id_2comp0,macro_vertex_coord_id_2comp0)),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0));
+                const __m256d p_affine_1_1 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1)),_mm256_set_pd(macro_vertex_coord_id_1comp1,macro_vertex_coord_id_1comp1,macro_vertex_coord_id_1comp1,macro_vertex_coord_id_1comp1)),_mm256_add_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1)),_mm256_set_pd(macro_vertex_coord_id_2comp1,macro_vertex_coord_id_2comp1,macro_vertex_coord_id_2comp1,macro_vertex_coord_id_2comp1)),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1));
+                const __m256d p_affine_2_0 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0)),_mm256_set_pd(macro_vertex_coord_id_1comp0,macro_vertex_coord_id_1comp0,macro_vertex_coord_id_1comp0,macro_vertex_coord_id_1comp0)),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0)),_mm256_set_pd(macro_vertex_coord_id_2comp0,macro_vertex_coord_id_2comp0,macro_vertex_coord_id_2comp0,macro_vertex_coord_id_2comp0)),_mm256_add_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float)))),_mm256_set_pd(macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0));
+                const __m256d p_affine_2_1 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1)),_mm256_set_pd(macro_vertex_coord_id_1comp1,macro_vertex_coord_id_1comp1,macro_vertex_coord_id_1comp1,macro_vertex_coord_id_1comp1)),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1)),_mm256_set_pd(macro_vertex_coord_id_2comp1,macro_vertex_coord_id_2comp1,macro_vertex_coord_id_2comp1,macro_vertex_coord_id_2comp1)),_mm256_add_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float)))),_mm256_set_pd(macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1));
+                const __m256d src_dof_0 = _mm256_loadu_pd(& _data_srcVertex[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2))]);
+                const __m256d src_dof_1 = _mm256_loadu_pd(& _data_srcVertex[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + 1]);
+                const __m256d src_dof_2 = _mm256_loadu_pd(& _data_srcVertex[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2))]);
+                const __m256d src_dof_3 = _mm256_loadu_pd(& _data_srcEdge[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)) / (2))]);
+                const __m256d src_dof_4 = _mm256_loadu_pd(& _data_srcEdge[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 2*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)) / (2))]);
+                const __m256d src_dof_5 = _mm256_loadu_pd(& _data_srcEdge[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2))]);
+                const __m256d k_dof_0 = _mm256_loadu_pd(& _data_kVertex[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2))]);
+                const __m256d k_dof_1 = _mm256_loadu_pd(& _data_kVertex[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + 1]);
+                const __m256d k_dof_2 = _mm256_loadu_pd(& _data_kVertex[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2))]);
+                const __m256d k_dof_3 = _mm256_loadu_pd(& _data_kEdge[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)) / (2))]);
+                const __m256d k_dof_4 = _mm256_loadu_pd(& _data_kEdge[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 2*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)) / (2))]);
+                const __m256d k_dof_5 = _mm256_loadu_pd(& _data_kEdge[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2))]);
+                __m256d q_acc_0_0 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_0_1 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_0_2 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_0_3 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_0_4 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_0_5 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_1_0 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_1_1 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_1_2 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_1_3 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_1_4 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_1_5 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_2_0 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_2_1 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_2_2 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_2_3 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_2_4 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_2_5 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                for (int64_t q = 0; q < 6; q += 1)
+                {
+                   const __m256d tmp_qloop_0 = _mm256_mul_pd(_mm256_mul_pd(_mm256_set_pd(4.0,4.0,4.0,4.0),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q])),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q]));
+                   const __m256d tmp_qloop_1 = _mm256_mul_pd(_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q]),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q]));
+                   const __m256d tmp_qloop_2 = _mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(2.0,2.0,2.0,2.0));
+                   const __m256d tmp_qloop_3 = _mm256_mul_pd(_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q]),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q]));
+                   const __m256d tmp_qloop_4 = _mm256_mul_pd(tmp_qloop_3,_mm256_set_pd(2.0,2.0,2.0,2.0));
+                   const __m256d tmp_qloop_6 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(p_affine_1_0,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),p_affine_0_0),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q])),_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(p_affine_2_0,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),p_affine_0_0),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q]))),_mm256_mul_pd(p_affine_0_0,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)));
+                   const __m256d tmp_qloop_7 = _mm256_mul_pd(tmp_qloop_6,tmp_qloop_6);
+                   const __m256d tmp_qloop_8 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(p_affine_1_1,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),p_affine_0_1),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q])),_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(p_affine_2_1,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),p_affine_0_1),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q]))),_mm256_mul_pd(p_affine_0_1,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)));
+                   const __m256d tmp_qloop_9 = _mm256_mul_pd(tmp_qloop_8,tmp_qloop_8);
+                   const __m256d tmp_qloop_10 = _mm256_add_pd(tmp_qloop_7,tmp_qloop_9);
+                   const __m256d tmp_qloop_13 = _mm256_mul_pd(_mm256_mul_pd(_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_sqrt_pd(tmp_qloop_10)),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_set_pd(tmp_qloop_12,tmp_qloop_12,tmp_qloop_12,tmp_qloop_12));
+                   const __m256d tmp_qloop_14 = _mm256_mul_pd(tmp_qloop_13,tmp_qloop_6);
+                   const __m256d tmp_qloop_15 = _mm256_add_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(rayVertex_1,rayVertex_1,rayVertex_1,rayVertex_1),tmp_qloop_8),_mm256_set_pd(tmp_qloop_11,tmp_qloop_11,tmp_qloop_11,tmp_qloop_11)),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(rayVertex_0,rayVertex_0,rayVertex_0,rayVertex_0),tmp_qloop_6),_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_set_pd(tmp_qloop_5,tmp_qloop_5,tmp_qloop_5,tmp_qloop_5)));
+                   const __m256d tmp_qloop_16 = _mm256_mul_pd(_mm256_div_pd(_mm256_sqrt_pd(tmp_qloop_10),_mm256_mul_pd(tmp_qloop_10,tmp_qloop_10)),_mm256_set_pd(1.0,1.0,1.0,1.0));
+                   const __m256d tmp_qloop_17 = _mm256_mul_pd(tmp_qloop_16,_mm256_add_pd(_mm256_mul_pd(tmp_qloop_15,_mm256_set_pd(tmp_qloop_12,tmp_qloop_12,tmp_qloop_12,tmp_qloop_12)),_mm256_set_pd(radRayVertex,radRayVertex,radRayVertex,radRayVertex)));
+                   const __m256d tmp_qloop_18 = _mm256_mul_pd(tmp_qloop_13,tmp_qloop_8);
+                   const __m256d tmp_qloop_19 = _mm256_mul_pd(tmp_qloop_16,_mm256_add_pd(_mm256_mul_pd(tmp_qloop_15,_mm256_set_pd(tmp_qloop_12,tmp_qloop_12,tmp_qloop_12,tmp_qloop_12)),_mm256_set_pd(radRayVertex,radRayVertex,radRayVertex,radRayVertex)));
+                   const __m256d tmp_qloop_20 = _mm256_mul_pd(tmp_qloop_6,tmp_qloop_8);
+                   const __m256d tmp_qloop_21 = _mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(k_dof_1,_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q])),tmp_qloop_2)),_mm256_mul_pd(k_dof_2,_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q])),tmp_qloop_4))),_mm256_mul_pd(k_dof_5,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(-4.0,-4.0,-4.0,-4.0)),_mm256_mul_pd(_mm256_set_pd(4.0,4.0,4.0,4.0),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q]))),_mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))))),_mm256_mul_pd(k_dof_4,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_3,_mm256_set_pd(-4.0,-4.0,-4.0,-4.0)),_mm256_mul_pd(_mm256_set_pd(4.0,4.0,4.0,4.0),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q]))),_mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))))),_mm256_mul_pd(k_dof_0,_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-3.0,-3.0,-3.0,-3.0),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q])),_mm256_mul_pd(_mm256_set_pd(-3.0,-3.0,-3.0,-3.0),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q]))),_mm256_set_pd(1.0,1.0,1.0,1.0)),tmp_qloop_0),tmp_qloop_2),tmp_qloop_4))),_mm256_mul_pd(k_dof_3,tmp_qloop_0)),_mm256_set_pd(_data_q_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q])),_mm256_castsi256_pd(_mm256_and_si256(_mm256_set1_epi64x(0x7fffffffffffffff), _mm256_castpd_si256(_mm256_add_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_14,_mm256_set_pd(tmp_qloop_11,tmp_qloop_11,tmp_qloop_11,tmp_qloop_11)),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_19,tmp_qloop_20),_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_add_pd(_mm256_mul_pd(tmp_qloop_18,_mm256_set_pd(tmp_qloop_5,tmp_qloop_5,tmp_qloop_5,tmp_qloop_5)),_mm256_mul_pd(tmp_qloop_17,tmp_qloop_20))),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_14,_mm256_set_pd(tmp_qloop_5,tmp_qloop_5,tmp_qloop_5,tmp_qloop_5)),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_17,tmp_qloop_9),_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_add_pd(_mm256_mul_pd(tmp_qloop_18,_mm256_set_pd(tmp_qloop_11,tmp_qloop_11,tmp_qloop_11,tmp_qloop_11)),_mm256_mul_pd(tmp_qloop_19,tmp_qloop_7))),_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)))))));
+                   const __m256d q_tmp_0_0 = _mm256_mul_pd(tmp_qloop_21,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GRAY[18*q],_data_phi_psi_jac_affine_det_0_0_GRAY[18*q],_data_phi_psi_jac_affine_det_0_0_GRAY[18*q],_data_phi_psi_jac_affine_det_0_0_GRAY[18*q]));
+                   const __m256d q_tmp_0_1 = _mm256_mul_pd(tmp_qloop_21,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 1],_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 1],_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 1],_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 1]));
+                   const __m256d q_tmp_0_2 = _mm256_mul_pd(tmp_qloop_21,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 2],_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 2],_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 2],_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 2]));
+                   const __m256d q_tmp_0_3 = _mm256_mul_pd(tmp_qloop_21,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 3],_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 3],_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 3],_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 3]));
+                   const __m256d q_tmp_0_4 = _mm256_mul_pd(tmp_qloop_21,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 4],_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 4],_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 4],_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 4]));
+                   const __m256d q_tmp_0_5 = _mm256_mul_pd(tmp_qloop_21,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 5],_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 5],_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 5],_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 5]));
+                   const __m256d q_tmp_1_0 = _mm256_mul_pd(tmp_qloop_21,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 6],_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 6],_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 6],_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 6]));
+                   const __m256d q_tmp_1_1 = _mm256_mul_pd(tmp_qloop_21,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 7],_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 7],_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 7],_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 7]));
+                   const __m256d q_tmp_1_2 = _mm256_mul_pd(tmp_qloop_21,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 8],_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 8],_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 8],_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 8]));
+                   const __m256d q_tmp_1_3 = _mm256_mul_pd(tmp_qloop_21,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 9],_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 9],_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 9],_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 9]));
+                   const __m256d q_tmp_1_4 = _mm256_mul_pd(tmp_qloop_21,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 10],_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 10],_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 10],_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 10]));
+                   const __m256d q_tmp_1_5 = _mm256_mul_pd(tmp_qloop_21,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 11],_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 11],_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 11],_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 11]));
+                   const __m256d q_tmp_2_0 = _mm256_mul_pd(tmp_qloop_21,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 12],_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 12],_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 12],_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 12]));
+                   const __m256d q_tmp_2_1 = _mm256_mul_pd(tmp_qloop_21,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 13],_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 13],_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 13],_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 13]));
+                   const __m256d q_tmp_2_2 = _mm256_mul_pd(tmp_qloop_21,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 14],_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 14],_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 14],_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 14]));
+                   const __m256d q_tmp_2_3 = _mm256_mul_pd(tmp_qloop_21,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 15],_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 15],_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 15],_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 15]));
+                   const __m256d q_tmp_2_4 = _mm256_mul_pd(tmp_qloop_21,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 16],_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 16],_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 16],_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 16]));
+                   const __m256d q_tmp_2_5 = _mm256_mul_pd(tmp_qloop_21,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 17],_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 17],_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 17],_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 17]));
+                   q_acc_0_0 = _mm256_add_pd(q_acc_0_0,q_tmp_0_0);
+                   q_acc_0_1 = _mm256_add_pd(q_acc_0_1,q_tmp_0_1);
+                   q_acc_0_2 = _mm256_add_pd(q_acc_0_2,q_tmp_0_2);
+                   q_acc_0_3 = _mm256_add_pd(q_acc_0_3,q_tmp_0_3);
+                   q_acc_0_4 = _mm256_add_pd(q_acc_0_4,q_tmp_0_4);
+                   q_acc_0_5 = _mm256_add_pd(q_acc_0_5,q_tmp_0_5);
+                   q_acc_1_0 = _mm256_add_pd(q_acc_1_0,q_tmp_1_0);
+                   q_acc_1_1 = _mm256_add_pd(q_acc_1_1,q_tmp_1_1);
+                   q_acc_1_2 = _mm256_add_pd(q_acc_1_2,q_tmp_1_2);
+                   q_acc_1_3 = _mm256_add_pd(q_acc_1_3,q_tmp_1_3);
+                   q_acc_1_4 = _mm256_add_pd(q_acc_1_4,q_tmp_1_4);
+                   q_acc_1_5 = _mm256_add_pd(q_acc_1_5,q_tmp_1_5);
+                   q_acc_2_0 = _mm256_add_pd(q_acc_2_0,q_tmp_2_0);
+                   q_acc_2_1 = _mm256_add_pd(q_acc_2_1,q_tmp_2_1);
+                   q_acc_2_2 = _mm256_add_pd(q_acc_2_2,q_tmp_2_2);
+                   q_acc_2_3 = _mm256_add_pd(q_acc_2_3,q_tmp_2_3);
+                   q_acc_2_4 = _mm256_add_pd(q_acc_2_4,q_tmp_2_4);
+                   q_acc_2_5 = _mm256_add_pd(q_acc_2_5,q_tmp_2_5);
+                }
+                const __m256d elMatVec_0 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(q_acc_0_0,src_dof_0),_mm256_mul_pd(q_acc_0_1,src_dof_1)),_mm256_mul_pd(q_acc_0_2,src_dof_2)),_mm256_mul_pd(q_acc_0_3,src_dof_3)),_mm256_mul_pd(q_acc_0_4,src_dof_4)),_mm256_mul_pd(q_acc_0_5,src_dof_5));
+                const __m256d elMatVec_1 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(q_acc_1_0,src_dof_0),_mm256_mul_pd(q_acc_1_1,src_dof_1)),_mm256_mul_pd(q_acc_1_2,src_dof_2)),_mm256_mul_pd(q_acc_1_3,src_dof_3)),_mm256_mul_pd(q_acc_1_4,src_dof_4)),_mm256_mul_pd(q_acc_1_5,src_dof_5));
+                const __m256d elMatVec_2 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(q_acc_2_0,src_dof_0),_mm256_mul_pd(q_acc_2_1,src_dof_1)),_mm256_mul_pd(q_acc_2_2,src_dof_2)),_mm256_mul_pd(q_acc_2_3,src_dof_3)),_mm256_mul_pd(q_acc_2_4,src_dof_4)),_mm256_mul_pd(q_acc_2_5,src_dof_5));
+                _mm256_storeu_pd(&_data_dst[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2))],_mm256_add_pd(elMatVec_0,_mm256_loadu_pd(& _data_dst[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2))])));
+                _mm256_storeu_pd(&_data_dst[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + 1],_mm256_add_pd(elMatVec_1,_mm256_loadu_pd(& _data_dst[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + 1])));
+                _mm256_storeu_pd(&_data_dst[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2))],_mm256_add_pd(elMatVec_2,_mm256_loadu_pd(& _data_dst[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2))])));
+             }
+             for (int64_t ctr_0 = (int64_t)((-ctr_1 + micro_edges_per_macro_edge) / (4)) * (4); ctr_0 < -ctr_1 + micro_edges_per_macro_edge; ctr_0 += 1)
+             {
+            
+                const int64_t phantom_ctr_0 = ctr_0;
+                real_t _data_float_loop_ctr_array_dim_0[4];
+                _data_float_loop_ctr_array_dim_0[0] = (real_t) ctr_0+ 0;
+                _data_float_loop_ctr_array_dim_0[1] = (real_t) ctr_0+ 1;
+                _data_float_loop_ctr_array_dim_0[2] = (real_t) ctr_0+ 2;
+                _data_float_loop_ctr_array_dim_0[3] = (real_t) ctr_0+ 3;
+                real_t _data_float_loop_ctr_array_dim_1[4];
+                _data_float_loop_ctr_array_dim_1[0] = (real_t) ctr_1;
+                _data_float_loop_ctr_array_dim_1[1] = (real_t) ctr_1;
+                _data_float_loop_ctr_array_dim_1[2] = (real_t) ctr_1;
+                _data_float_loop_ctr_array_dim_1[3] = (real_t) ctr_1;
+            
+                const real_t p_affine_0_0 = macro_vertex_coord_id_0comp0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0)*1.0*_data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0)*1.0*_data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0];
+                const real_t p_affine_0_1 = macro_vertex_coord_id_0comp1 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1)*1.0*_data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1)*1.0*_data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0];
+                const real_t p_affine_1_0 = macro_vertex_coord_id_0comp0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0)*(1.0 + _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0)*1.0*_data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0];
+                const real_t p_affine_1_1 = macro_vertex_coord_id_0comp1 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1)*(1.0 + _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1)*1.0*_data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0];
+                const real_t p_affine_2_0 = macro_vertex_coord_id_0comp0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0)*1.0*_data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0)*(1.0 + _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0])*1.0;
+                const real_t p_affine_2_1 = macro_vertex_coord_id_0comp1 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1)*1.0*_data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1)*(1.0 + _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0])*1.0;
+                const real_t src_dof_0 = _data_srcVertex[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2))];
+                const real_t src_dof_1 = _data_srcVertex[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + 1];
+                const real_t src_dof_2 = _data_srcVertex[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2))];
+                const real_t src_dof_3 = _data_srcEdge[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)) / (2))];
+                const real_t src_dof_4 = _data_srcEdge[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 2*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)) / (2))];
+                const real_t src_dof_5 = _data_srcEdge[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2))];
+                const real_t k_dof_0 = _data_kVertex[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2))];
+                const real_t k_dof_1 = _data_kVertex[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + 1];
+                const real_t k_dof_2 = _data_kVertex[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2))];
+                const real_t k_dof_3 = _data_kEdge[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)) / (2))];
+                const real_t k_dof_4 = _data_kEdge[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 2*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)) / (2))];
+                const real_t k_dof_5 = _data_kEdge[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2))];
+                real_t q_acc_0_0 = 0.0;
+                real_t q_acc_0_1 = 0.0;
+                real_t q_acc_0_2 = 0.0;
+                real_t q_acc_0_3 = 0.0;
+                real_t q_acc_0_4 = 0.0;
+                real_t q_acc_0_5 = 0.0;
+                real_t q_acc_1_0 = 0.0;
+                real_t q_acc_1_1 = 0.0;
+                real_t q_acc_1_2 = 0.0;
+                real_t q_acc_1_3 = 0.0;
+                real_t q_acc_1_4 = 0.0;
+                real_t q_acc_1_5 = 0.0;
+                real_t q_acc_2_0 = 0.0;
+                real_t q_acc_2_1 = 0.0;
+                real_t q_acc_2_2 = 0.0;
+                real_t q_acc_2_3 = 0.0;
+                real_t q_acc_2_4 = 0.0;
+                real_t q_acc_2_5 = 0.0;
+                for (int64_t q = 0; q < 6; q += 1)
+                {
+                   const real_t tmp_qloop_0 = 4.0*_data_q_p_0[q]*_data_q_p_1[q];
+                   const real_t tmp_qloop_1 = (_data_q_p_0[q]*_data_q_p_0[q]);
+                   const real_t tmp_qloop_2 = tmp_qloop_1*2.0;
+                   const real_t tmp_qloop_3 = (_data_q_p_1[q]*_data_q_p_1[q]);
+                   const real_t tmp_qloop_4 = tmp_qloop_3*2.0;
+                   const real_t tmp_qloop_6 = -p_affine_0_0 + (p_affine_0_0 - p_affine_1_0)*_data_q_p_0[q] + (p_affine_0_0 - p_affine_2_0)*_data_q_p_1[q];
+                   const real_t tmp_qloop_7 = (tmp_qloop_6*tmp_qloop_6);
+                   const real_t tmp_qloop_8 = -p_affine_0_1 + (p_affine_0_1 - p_affine_1_1)*_data_q_p_0[q] + (p_affine_0_1 - p_affine_2_1)*_data_q_p_1[q];
+                   const real_t tmp_qloop_9 = (tmp_qloop_8*tmp_qloop_8);
+                   const real_t tmp_qloop_10 = tmp_qloop_7 + tmp_qloop_9;
+                   const real_t tmp_qloop_13 = pow(tmp_qloop_10, -0.50000000000000000)*tmp_qloop_12*1.0;
+                   const real_t tmp_qloop_14 = tmp_qloop_13*tmp_qloop_6;
+                   const real_t tmp_qloop_15 = tmp_qloop_11*(rayVertex_1 + tmp_qloop_8) - tmp_qloop_5*(rayVertex_0 + tmp_qloop_6);
+                   const real_t tmp_qloop_16 = pow(tmp_qloop_10, -1.5000000000000000)*1.0;
+                   const real_t tmp_qloop_17 = tmp_qloop_16*(radRayVertex + tmp_qloop_12*tmp_qloop_15);
+                   const real_t tmp_qloop_18 = tmp_qloop_13*tmp_qloop_8;
+                   const real_t tmp_qloop_19 = tmp_qloop_16*(radRayVertex + tmp_qloop_12*tmp_qloop_15);
+                   const real_t tmp_qloop_20 = tmp_qloop_6*tmp_qloop_8;
+                   const real_t tmp_qloop_21 = (k_dof_0*(tmp_qloop_0 + tmp_qloop_2 + tmp_qloop_4 - 3.0*_data_q_p_0[q] - 3.0*_data_q_p_1[q] + 1.0) + k_dof_1*(tmp_qloop_2 - _data_q_p_0[q]) + k_dof_2*(tmp_qloop_4 - _data_q_p_1[q]) + k_dof_3*tmp_qloop_0 + k_dof_4*(-tmp_qloop_0 + tmp_qloop_3*-4.0 + 4.0*_data_q_p_1[q]) + k_dof_5*(-tmp_qloop_0 + tmp_qloop_1*-4.0 + 4.0*_data_q_p_0[q]))*abs((tmp_qloop_11*tmp_qloop_14 - tmp_qloop_19*tmp_qloop_20)*(tmp_qloop_17*tmp_qloop_20 + tmp_qloop_18*tmp_qloop_5) - (tmp_qloop_11*tmp_qloop_18 + tmp_qloop_19*tmp_qloop_7)*(tmp_qloop_14*tmp_qloop_5 - tmp_qloop_17*tmp_qloop_9))*_data_q_w[q];
+                   const real_t q_tmp_0_0 = tmp_qloop_21*_data_phi_psi_jac_affine_det_0_0_GRAY[18*q];
+                   const real_t q_tmp_0_1 = tmp_qloop_21*_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 1];
+                   const real_t q_tmp_0_2 = tmp_qloop_21*_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 2];
+                   const real_t q_tmp_0_3 = tmp_qloop_21*_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 3];
+                   const real_t q_tmp_0_4 = tmp_qloop_21*_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 4];
+                   const real_t q_tmp_0_5 = tmp_qloop_21*_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 5];
+                   const real_t q_tmp_1_0 = tmp_qloop_21*_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 6];
+                   const real_t q_tmp_1_1 = tmp_qloop_21*_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 7];
+                   const real_t q_tmp_1_2 = tmp_qloop_21*_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 8];
+                   const real_t q_tmp_1_3 = tmp_qloop_21*_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 9];
+                   const real_t q_tmp_1_4 = tmp_qloop_21*_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 10];
+                   const real_t q_tmp_1_5 = tmp_qloop_21*_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 11];
+                   const real_t q_tmp_2_0 = tmp_qloop_21*_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 12];
+                   const real_t q_tmp_2_1 = tmp_qloop_21*_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 13];
+                   const real_t q_tmp_2_2 = tmp_qloop_21*_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 14];
+                   const real_t q_tmp_2_3 = tmp_qloop_21*_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 15];
+                   const real_t q_tmp_2_4 = tmp_qloop_21*_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 16];
+                   const real_t q_tmp_2_5 = tmp_qloop_21*_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 17];
+                   q_acc_0_0 = q_acc_0_0 + q_tmp_0_0;
+                   q_acc_0_1 = q_acc_0_1 + q_tmp_0_1;
+                   q_acc_0_2 = q_acc_0_2 + q_tmp_0_2;
+                   q_acc_0_3 = q_acc_0_3 + q_tmp_0_3;
+                   q_acc_0_4 = q_acc_0_4 + q_tmp_0_4;
+                   q_acc_0_5 = q_acc_0_5 + q_tmp_0_5;
+                   q_acc_1_0 = q_acc_1_0 + q_tmp_1_0;
+                   q_acc_1_1 = q_acc_1_1 + q_tmp_1_1;
+                   q_acc_1_2 = q_acc_1_2 + q_tmp_1_2;
+                   q_acc_1_3 = q_acc_1_3 + q_tmp_1_3;
+                   q_acc_1_4 = q_acc_1_4 + q_tmp_1_4;
+                   q_acc_1_5 = q_acc_1_5 + q_tmp_1_5;
+                   q_acc_2_0 = q_acc_2_0 + q_tmp_2_0;
+                   q_acc_2_1 = q_acc_2_1 + q_tmp_2_1;
+                   q_acc_2_2 = q_acc_2_2 + q_tmp_2_2;
+                   q_acc_2_3 = q_acc_2_3 + q_tmp_2_3;
+                   q_acc_2_4 = q_acc_2_4 + q_tmp_2_4;
+                   q_acc_2_5 = q_acc_2_5 + q_tmp_2_5;
+                }
+                const real_t elMatVec_0 = q_acc_0_0*src_dof_0 + q_acc_0_1*src_dof_1 + q_acc_0_2*src_dof_2 + q_acc_0_3*src_dof_3 + q_acc_0_4*src_dof_4 + q_acc_0_5*src_dof_5;
+                const real_t elMatVec_1 = q_acc_1_0*src_dof_0 + q_acc_1_1*src_dof_1 + q_acc_1_2*src_dof_2 + q_acc_1_3*src_dof_3 + q_acc_1_4*src_dof_4 + q_acc_1_5*src_dof_5;
+                const real_t elMatVec_2 = q_acc_2_0*src_dof_0 + q_acc_2_1*src_dof_1 + q_acc_2_2*src_dof_2 + q_acc_2_3*src_dof_3 + q_acc_2_4*src_dof_4 + q_acc_2_5*src_dof_5;
+                _data_dst[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2))] = elMatVec_0 + _data_dst[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2))];
+                _data_dst[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + 1] = elMatVec_1 + _data_dst[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + 1];
+                _data_dst[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2))] = elMatVec_2 + _data_dst[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2))];
+             }
+          }
+       }
+       const real_t tmp_coords_jac_0_BLUE = 1.0 / (micro_edges_per_macro_edge_float)*1.0;
+       const real_t tmp_coords_jac_1_BLUE = macro_vertex_coord_id_0comp0 + tmp_coords_jac_0_BLUE*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0);
+       const real_t tmp_coords_jac_2_BLUE = macro_vertex_coord_id_0comp1 + tmp_coords_jac_0_BLUE*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1);
+       const real_t tmp_coords_jac_3_BLUE = tmp_coords_jac_0_BLUE*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0);
+       const real_t tmp_coords_jac_4_BLUE = tmp_coords_jac_0_BLUE*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1);
+       const real_t p_affine_const_0_0_BLUE = tmp_coords_jac_1_BLUE;
+       const real_t p_affine_const_0_1_BLUE = tmp_coords_jac_2_BLUE;
+       const real_t p_affine_const_1_0_BLUE = macro_vertex_coord_id_0comp0 + tmp_coords_jac_3_BLUE;
+       const real_t p_affine_const_1_1_BLUE = macro_vertex_coord_id_0comp1 + tmp_coords_jac_4_BLUE;
+       const real_t p_affine_const_2_0_BLUE = tmp_coords_jac_1_BLUE + tmp_coords_jac_3_BLUE;
+       const real_t p_affine_const_2_1_BLUE = tmp_coords_jac_2_BLUE + tmp_coords_jac_4_BLUE;
+       const real_t jac_affine_0_0_BLUE = -p_affine_const_0_0_BLUE + p_affine_const_1_0_BLUE;
+       const real_t jac_affine_0_1_BLUE = -p_affine_const_0_0_BLUE + p_affine_const_2_0_BLUE;
+       const real_t jac_affine_1_0_BLUE = -p_affine_const_0_1_BLUE + p_affine_const_1_1_BLUE;
+       const real_t jac_affine_1_1_BLUE = -p_affine_const_0_1_BLUE + p_affine_const_2_1_BLUE;
+       const real_t abs_det_jac_affine_BLUE = abs(jac_affine_0_0_BLUE*jac_affine_1_1_BLUE - jac_affine_0_1_BLUE*jac_affine_1_0_BLUE);
+       {
+          /* FaceType.BLUE */
+          const real_t _data_phi_psi_jac_affine_det_0_0_BLUE [] = {((real_t)(abs_det_jac_affine_BLUE*-0.021498453336334336)), ((real_t)(abs_det_jac_affine_BLUE*-0.021498453336334288)), ((real_t)(abs_det_jac_affine_BLUE*-0.037785435529825065)), ((real_t)(abs_det_jac_affine_BLUE*0.085993813345337122)), ((real_t)(abs_det_jac_affine_BLUE*0.085993813345337122)), ((real_t)(abs_det_jac_affine_BLUE*0.35474320642778434)), ((real_t)(abs_det_jac_affine_BLUE*-0.021498453336334336)), ((real_t)(abs_det_jac_affine_BLUE*-0.021498453336334288)), ((real_t)(abs_det_jac_affine_BLUE*-0.037785435529825065)), ((real_t)(abs_det_jac_affine_BLUE*0.085993813345337108)), ((real_t)(abs_det_jac_affine_BLUE*0.085993813345337122)), ((real_t)(abs_det_jac_affine_BLUE*0.35474320642778434)), ((real_t)(abs_det_jac_affine_BLUE*-0.0052114711428435066)), ((real_t)(abs_det_jac_affine_BLUE*-0.0052114711428434945)), ((real_t)(abs_det_jac_affine_BLUE*-0.0091596220343278505)), ((real_t)(abs_det_jac_affine_BLUE*0.020845884571373971)), ((real_t)(abs_det_jac_affine_BLUE*0.020845884571373971)), ((real_t)(abs_det_jac_affine_BLUE*0.085993813345337122)), ((real_t)(abs_det_jac_affine_BLUE*-0.0068502494696926711)), ((real_t)(abs_det_jac_affine_BLUE*-0.006850249469692685)), ((real_t)(abs_det_jac_affine_BLUE*0.047402809869425765)), ((real_t)(abs_det_jac_affine_BLUE*0.02740099787877074)), ((real_t)(abs_det_jac_affine_BLUE*0.02740099787877075)), ((real_t)(abs_det_jac_affine_BLUE*0.0030719068221888579)), ((real_t)(abs_det_jac_affine_BLUE*-0.0068502494696926685)), ((real_t)(abs_det_jac_affine_BLUE*-0.0068502494696926824)), ((real_t)(abs_det_jac_affine_BLUE*0.047402809869425751)), ((real_t)(abs_det_jac_affine_BLUE*0.02740099787877073)), ((real_t)(abs_det_jac_affine_BLUE*0.02740099787877074)), ((real_t)(abs_det_jac_affine_BLUE*0.0030719068221888566)), ((real_t)(abs_det_jac_affine_BLUE*-0.061103308808810999)), ((real_t)(abs_det_jac_affine_BLUE*-0.061103308808811124)), ((real_t)(abs_det_jac_affine_BLUE*0.42282672224882095)), ((real_t)(abs_det_jac_affine_BLUE*0.24441323523524447)), ((real_t)(abs_det_jac_affine_BLUE*0.24441323523524458)), ((real_t)(abs_det_jac_affine_BLUE*0.027400997878770705)), ((real_t)(abs_det_jac_affine_BLUE*-0.021498453336334326)), ((real_t)(abs_det_jac_affine_BLUE*-0.037785435529825065)), ((real_t)(abs_det_jac_affine_BLUE*-0.021498453336334288)), ((real_t)(abs_det_jac_affine_BLUE*0.085993813345337122)), ((real_t)(abs_det_jac_affine_BLUE*0.35474320642778434)), ((real_t)(abs_det_jac_affine_BLUE*0.085993813345337122)), ((real_t)(abs_det_jac_affine_BLUE*-0.005211471142843504)), ((real_t)(abs_det_jac_affine_BLUE*-0.0091596220343278505)), ((real_t)(abs_det_jac_affine_BLUE*-0.0052114711428434945)), ((real_t)(abs_det_jac_affine_BLUE*0.020845884571373971)), ((real_t)(abs_det_jac_affine_BLUE*0.085993813345337122)), ((real_t)(abs_det_jac_affine_BLUE*0.020845884571373971)), ((real_t)(abs_det_jac_affine_BLUE*-0.021498453336334326)), ((real_t)(abs_det_jac_affine_BLUE*-0.037785435529825065)), ((real_t)(abs_det_jac_affine_BLUE*-0.021498453336334288)), ((real_t)(abs_det_jac_affine_BLUE*0.085993813345337108)), ((real_t)(abs_det_jac_affine_BLUE*0.35474320642778434)), ((real_t)(abs_det_jac_affine_BLUE*0.085993813345337122)), ((real_t)(abs_det_jac_affine_BLUE*-0.0068502494696926625)), ((real_t)(abs_det_jac_affine_BLUE*0.047402809869425779)), ((real_t)(abs_det_jac_affine_BLUE*-0.0068502494696926867)), ((real_t)(abs_det_jac_affine_BLUE*0.027400997878770747)), ((real_t)(abs_det_jac_affine_BLUE*0.0030719068221888588)), ((real_t)(abs_det_jac_affine_BLUE*0.027400997878770757)), ((real_t)(abs_det_jac_affine_BLUE*-0.061103308808810909)), ((real_t)(abs_det_jac_affine_BLUE*0.42282672224882095)), ((real_t)(abs_det_jac_affine_BLUE*-0.061103308808811124)), ((real_t)(abs_det_jac_affine_BLUE*0.24441323523524447)), ((real_t)(abs_det_jac_affine_BLUE*0.027400997878770705)), ((real_t)(abs_det_jac_affine_BLUE*0.24441323523524458)), ((real_t)(abs_det_jac_affine_BLUE*-0.006850249469692659)), ((real_t)(abs_det_jac_affine_BLUE*0.047402809869425751)), ((real_t)(abs_det_jac_affine_BLUE*-0.0068502494696926824)), ((real_t)(abs_det_jac_affine_BLUE*0.02740099787877073)), ((real_t)(abs_det_jac_affine_BLUE*0.0030719068221888566)), ((real_t)(abs_det_jac_affine_BLUE*0.02740099787877074)), ((real_t)(abs_det_jac_affine_BLUE*-0.0091596220343278956)), ((real_t)(abs_det_jac_affine_BLUE*-0.0052114711428434945)), ((real_t)(abs_det_jac_affine_BLUE*-0.0052114711428434945)), ((real_t)(abs_det_jac_affine_BLUE*0.085993813345337108)), ((real_t)(abs_det_jac_affine_BLUE*0.020845884571373978)), ((real_t)(abs_det_jac_affine_BLUE*0.020845884571373978)), ((real_t)(abs_det_jac_affine_BLUE*-0.037785435529825252)), ((real_t)(abs_det_jac_affine_BLUE*-0.021498453336334288)), ((real_t)(abs_det_jac_affine_BLUE*-0.021498453336334288)), ((real_t)(abs_det_jac_affine_BLUE*0.35474320642778429)), ((real_t)(abs_det_jac_affine_BLUE*0.08599381334533715)), ((real_t)(abs_det_jac_affine_BLUE*0.08599381334533715)), ((real_t)(abs_det_jac_affine_BLUE*-0.037785435529825252)), ((real_t)(abs_det_jac_affine_BLUE*-0.021498453336334288)), ((real_t)(abs_det_jac_affine_BLUE*-0.021498453336334288)), ((real_t)(abs_det_jac_affine_BLUE*0.35474320642778429)), ((real_t)(abs_det_jac_affine_BLUE*0.08599381334533715)), ((real_t)(abs_det_jac_affine_BLUE*0.08599381334533715)), ((real_t)(abs_det_jac_affine_BLUE*0.42282672224882117)), ((real_t)(abs_det_jac_affine_BLUE*-0.061103308808811124)), ((real_t)(abs_det_jac_affine_BLUE*-0.061103308808811124)), ((real_t)(abs_det_jac_affine_BLUE*0.02740099787877073)), ((real_t)(abs_det_jac_affine_BLUE*0.24441323523524444)), ((real_t)(abs_det_jac_affine_BLUE*0.24441323523524444)), ((real_t)(abs_det_jac_affine_BLUE*0.047402809869425772)), ((real_t)(abs_det_jac_affine_BLUE*-0.0068502494696926824)), ((real_t)(abs_det_jac_affine_BLUE*-0.0068502494696926824)), ((real_t)(abs_det_jac_affine_BLUE*0.0030719068221888592)), ((real_t)(abs_det_jac_affine_BLUE*0.027400997878770726)), ((real_t)(abs_det_jac_affine_BLUE*0.027400997878770726)), ((real_t)(abs_det_jac_affine_BLUE*0.047402809869425772)), ((real_t)(abs_det_jac_affine_BLUE*-0.0068502494696926824)), ((real_t)(abs_det_jac_affine_BLUE*-0.0068502494696926824)), ((real_t)(abs_det_jac_affine_BLUE*0.0030719068221888592)), ((real_t)(abs_det_jac_affine_BLUE*0.027400997878770726)), ((real_t)(abs_det_jac_affine_BLUE*0.027400997878770726))};
+      
+          for (int64_t ctr_1 = 0; ctr_1 < micro_edges_per_macro_edge; ctr_1 += 1)
+          {
+             for (int64_t ctr_0 = 0; ctr_0 < (int64_t)((-ctr_1 + micro_edges_per_macro_edge - 1) / (4)) * (4); ctr_0 += 4)
+             {
+            
+                const int64_t phantom_ctr_0 = ctr_0;
+                real_t _data_float_loop_ctr_array_dim_0[4];
+                _data_float_loop_ctr_array_dim_0[0] = (real_t) ctr_0+ 0;
+                _data_float_loop_ctr_array_dim_0[1] = (real_t) ctr_0+ 1;
+                _data_float_loop_ctr_array_dim_0[2] = (real_t) ctr_0+ 2;
+                _data_float_loop_ctr_array_dim_0[3] = (real_t) ctr_0+ 3;
+                real_t _data_float_loop_ctr_array_dim_1[4];
+                _data_float_loop_ctr_array_dim_1[0] = (real_t) ctr_1;
+                _data_float_loop_ctr_array_dim_1[1] = (real_t) ctr_1;
+                _data_float_loop_ctr_array_dim_1[2] = (real_t) ctr_1;
+                _data_float_loop_ctr_array_dim_1[3] = (real_t) ctr_1;
+            
+                const __m256d p_affine_0_0 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0)),_mm256_set_pd(macro_vertex_coord_id_1comp0,macro_vertex_coord_id_1comp0,macro_vertex_coord_id_1comp0,macro_vertex_coord_id_1comp0)),_mm256_add_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0)),_mm256_set_pd(macro_vertex_coord_id_2comp0,macro_vertex_coord_id_2comp0,macro_vertex_coord_id_2comp0,macro_vertex_coord_id_2comp0)),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0));
+                const __m256d p_affine_0_1 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1)),_mm256_set_pd(macro_vertex_coord_id_1comp1,macro_vertex_coord_id_1comp1,macro_vertex_coord_id_1comp1,macro_vertex_coord_id_1comp1)),_mm256_add_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1)),_mm256_set_pd(macro_vertex_coord_id_2comp1,macro_vertex_coord_id_2comp1,macro_vertex_coord_id_2comp1,macro_vertex_coord_id_2comp1)),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1));
+                const __m256d p_affine_1_0 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0)),_mm256_set_pd(macro_vertex_coord_id_1comp0,macro_vertex_coord_id_1comp0,macro_vertex_coord_id_1comp0,macro_vertex_coord_id_1comp0)),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0)),_mm256_set_pd(macro_vertex_coord_id_2comp0,macro_vertex_coord_id_2comp0,macro_vertex_coord_id_2comp0,macro_vertex_coord_id_2comp0)),_mm256_add_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float)))),_mm256_set_pd(macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0));
+                const __m256d p_affine_1_1 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1)),_mm256_set_pd(macro_vertex_coord_id_1comp1,macro_vertex_coord_id_1comp1,macro_vertex_coord_id_1comp1,macro_vertex_coord_id_1comp1)),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1)),_mm256_set_pd(macro_vertex_coord_id_2comp1,macro_vertex_coord_id_2comp1,macro_vertex_coord_id_2comp1,macro_vertex_coord_id_2comp1)),_mm256_add_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float)))),_mm256_set_pd(macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1));
+                const __m256d p_affine_2_0 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0)),_mm256_set_pd(macro_vertex_coord_id_1comp0,macro_vertex_coord_id_1comp0,macro_vertex_coord_id_1comp0,macro_vertex_coord_id_1comp0)),_mm256_add_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0)),_mm256_set_pd(macro_vertex_coord_id_2comp0,macro_vertex_coord_id_2comp0,macro_vertex_coord_id_2comp0,macro_vertex_coord_id_2comp0)),_mm256_add_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float)))),_mm256_set_pd(macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0));
+                const __m256d p_affine_2_1 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1)),_mm256_set_pd(macro_vertex_coord_id_1comp1,macro_vertex_coord_id_1comp1,macro_vertex_coord_id_1comp1,macro_vertex_coord_id_1comp1)),_mm256_add_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1)),_mm256_set_pd(macro_vertex_coord_id_2comp1,macro_vertex_coord_id_2comp1,macro_vertex_coord_id_2comp1,macro_vertex_coord_id_2comp1)),_mm256_add_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float)))),_mm256_set_pd(macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1));
+                const __m256d src_dof_0 = _mm256_loadu_pd(& _data_srcVertex[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + 1]);
+                const __m256d src_dof_1 = _mm256_loadu_pd(& _data_srcVertex[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2))]);
+                const __m256d src_dof_2 = _mm256_loadu_pd(& _data_srcVertex[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 1]);
+                const __m256d src_dof_3 = _mm256_loadu_pd(& _data_srcEdge[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2))]);
+                const __m256d src_dof_4 = _mm256_loadu_pd(& _data_srcEdge[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 2*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)) / (2)) + 1]);
+                const __m256d src_dof_5 = _mm256_loadu_pd(& _data_srcEdge[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)) / (2))]);
+                const __m256d k_dof_0 = _mm256_loadu_pd(& _data_kVertex[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + 1]);
+                const __m256d k_dof_1 = _mm256_loadu_pd(& _data_kVertex[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2))]);
+                const __m256d k_dof_2 = _mm256_loadu_pd(& _data_kVertex[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 1]);
+                const __m256d k_dof_3 = _mm256_loadu_pd(& _data_kEdge[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2))]);
+                const __m256d k_dof_4 = _mm256_loadu_pd(& _data_kEdge[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 2*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)) / (2)) + 1]);
+                const __m256d k_dof_5 = _mm256_loadu_pd(& _data_kEdge[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)) / (2))]);
+                __m256d q_acc_0_0 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_0_1 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_0_2 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_0_3 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_0_4 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_0_5 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_1_0 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_1_1 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_1_2 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_1_3 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_1_4 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_1_5 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_2_0 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_2_1 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_2_2 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_2_3 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_2_4 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_2_5 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                for (int64_t q = 0; q < 6; q += 1)
+                {
+                   const __m256d tmp_qloop_0 = _mm256_mul_pd(_mm256_mul_pd(_mm256_set_pd(4.0,4.0,4.0,4.0),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q])),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q]));
+                   const __m256d tmp_qloop_1 = _mm256_mul_pd(_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q]),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q]));
+                   const __m256d tmp_qloop_2 = _mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(2.0,2.0,2.0,2.0));
+                   const __m256d tmp_qloop_3 = _mm256_mul_pd(_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q]),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q]));
+                   const __m256d tmp_qloop_4 = _mm256_mul_pd(tmp_qloop_3,_mm256_set_pd(2.0,2.0,2.0,2.0));
+                   const __m256d tmp_qloop_6 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(p_affine_1_0,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),p_affine_0_0),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q])),_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(p_affine_2_0,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),p_affine_0_0),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q]))),_mm256_mul_pd(p_affine_0_0,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)));
+                   const __m256d tmp_qloop_7 = _mm256_mul_pd(tmp_qloop_6,tmp_qloop_6);
+                   const __m256d tmp_qloop_8 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(p_affine_1_1,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),p_affine_0_1),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q])),_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(p_affine_2_1,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),p_affine_0_1),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q]))),_mm256_mul_pd(p_affine_0_1,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)));
+                   const __m256d tmp_qloop_9 = _mm256_mul_pd(tmp_qloop_8,tmp_qloop_8);
+                   const __m256d tmp_qloop_10 = _mm256_add_pd(tmp_qloop_7,tmp_qloop_9);
+                   const __m256d tmp_qloop_13 = _mm256_mul_pd(_mm256_mul_pd(_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_sqrt_pd(tmp_qloop_10)),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_set_pd(tmp_qloop_12,tmp_qloop_12,tmp_qloop_12,tmp_qloop_12));
+                   const __m256d tmp_qloop_14 = _mm256_mul_pd(tmp_qloop_13,tmp_qloop_6);
+                   const __m256d tmp_qloop_15 = _mm256_add_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(rayVertex_1,rayVertex_1,rayVertex_1,rayVertex_1),tmp_qloop_8),_mm256_set_pd(tmp_qloop_11,tmp_qloop_11,tmp_qloop_11,tmp_qloop_11)),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(rayVertex_0,rayVertex_0,rayVertex_0,rayVertex_0),tmp_qloop_6),_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_set_pd(tmp_qloop_5,tmp_qloop_5,tmp_qloop_5,tmp_qloop_5)));
+                   const __m256d tmp_qloop_16 = _mm256_mul_pd(_mm256_div_pd(_mm256_sqrt_pd(tmp_qloop_10),_mm256_mul_pd(tmp_qloop_10,tmp_qloop_10)),_mm256_set_pd(1.0,1.0,1.0,1.0));
+                   const __m256d tmp_qloop_17 = _mm256_mul_pd(tmp_qloop_16,_mm256_add_pd(_mm256_mul_pd(tmp_qloop_15,_mm256_set_pd(tmp_qloop_12,tmp_qloop_12,tmp_qloop_12,tmp_qloop_12)),_mm256_set_pd(radRayVertex,radRayVertex,radRayVertex,radRayVertex)));
+                   const __m256d tmp_qloop_18 = _mm256_mul_pd(tmp_qloop_13,tmp_qloop_8);
+                   const __m256d tmp_qloop_19 = _mm256_mul_pd(tmp_qloop_16,_mm256_add_pd(_mm256_mul_pd(tmp_qloop_15,_mm256_set_pd(tmp_qloop_12,tmp_qloop_12,tmp_qloop_12,tmp_qloop_12)),_mm256_set_pd(radRayVertex,radRayVertex,radRayVertex,radRayVertex)));
+                   const __m256d tmp_qloop_20 = _mm256_mul_pd(tmp_qloop_6,tmp_qloop_8);
+                   const __m256d tmp_qloop_21 = _mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(k_dof_1,_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q])),tmp_qloop_2)),_mm256_mul_pd(k_dof_2,_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q])),tmp_qloop_4))),_mm256_mul_pd(k_dof_5,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(-4.0,-4.0,-4.0,-4.0)),_mm256_mul_pd(_mm256_set_pd(4.0,4.0,4.0,4.0),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q]))),_mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))))),_mm256_mul_pd(k_dof_4,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_3,_mm256_set_pd(-4.0,-4.0,-4.0,-4.0)),_mm256_mul_pd(_mm256_set_pd(4.0,4.0,4.0,4.0),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q]))),_mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))))),_mm256_mul_pd(k_dof_0,_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-3.0,-3.0,-3.0,-3.0),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q])),_mm256_mul_pd(_mm256_set_pd(-3.0,-3.0,-3.0,-3.0),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q]))),_mm256_set_pd(1.0,1.0,1.0,1.0)),tmp_qloop_0),tmp_qloop_2),tmp_qloop_4))),_mm256_mul_pd(k_dof_3,tmp_qloop_0)),_mm256_set_pd(_data_q_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q])),_mm256_castsi256_pd(_mm256_and_si256(_mm256_set1_epi64x(0x7fffffffffffffff), _mm256_castpd_si256(_mm256_add_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_14,_mm256_set_pd(tmp_qloop_11,tmp_qloop_11,tmp_qloop_11,tmp_qloop_11)),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_19,tmp_qloop_20),_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_add_pd(_mm256_mul_pd(tmp_qloop_18,_mm256_set_pd(tmp_qloop_5,tmp_qloop_5,tmp_qloop_5,tmp_qloop_5)),_mm256_mul_pd(tmp_qloop_17,tmp_qloop_20))),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_14,_mm256_set_pd(tmp_qloop_5,tmp_qloop_5,tmp_qloop_5,tmp_qloop_5)),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_17,tmp_qloop_9),_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_add_pd(_mm256_mul_pd(tmp_qloop_18,_mm256_set_pd(tmp_qloop_11,tmp_qloop_11,tmp_qloop_11,tmp_qloop_11)),_mm256_mul_pd(tmp_qloop_19,tmp_qloop_7))),_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)))))));
+                   const __m256d q_tmp_0_0 = _mm256_mul_pd(tmp_qloop_21,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE[18*q],_data_phi_psi_jac_affine_det_0_0_BLUE[18*q],_data_phi_psi_jac_affine_det_0_0_BLUE[18*q],_data_phi_psi_jac_affine_det_0_0_BLUE[18*q]));
+                   const __m256d q_tmp_0_1 = _mm256_mul_pd(tmp_qloop_21,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 1],_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 1],_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 1],_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 1]));
+                   const __m256d q_tmp_0_2 = _mm256_mul_pd(tmp_qloop_21,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 2],_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 2],_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 2],_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 2]));
+                   const __m256d q_tmp_0_3 = _mm256_mul_pd(tmp_qloop_21,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 3],_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 3],_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 3],_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 3]));
+                   const __m256d q_tmp_0_4 = _mm256_mul_pd(tmp_qloop_21,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 4],_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 4],_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 4],_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 4]));
+                   const __m256d q_tmp_0_5 = _mm256_mul_pd(tmp_qloop_21,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 5],_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 5],_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 5],_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 5]));
+                   const __m256d q_tmp_1_0 = _mm256_mul_pd(tmp_qloop_21,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 6],_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 6],_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 6],_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 6]));
+                   const __m256d q_tmp_1_1 = _mm256_mul_pd(tmp_qloop_21,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 7],_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 7],_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 7],_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 7]));
+                   const __m256d q_tmp_1_2 = _mm256_mul_pd(tmp_qloop_21,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 8],_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 8],_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 8],_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 8]));
+                   const __m256d q_tmp_1_3 = _mm256_mul_pd(tmp_qloop_21,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 9],_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 9],_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 9],_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 9]));
+                   const __m256d q_tmp_1_4 = _mm256_mul_pd(tmp_qloop_21,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 10],_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 10],_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 10],_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 10]));
+                   const __m256d q_tmp_1_5 = _mm256_mul_pd(tmp_qloop_21,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 11],_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 11],_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 11],_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 11]));
+                   const __m256d q_tmp_2_0 = _mm256_mul_pd(tmp_qloop_21,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 12],_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 12],_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 12],_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 12]));
+                   const __m256d q_tmp_2_1 = _mm256_mul_pd(tmp_qloop_21,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 13],_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 13],_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 13],_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 13]));
+                   const __m256d q_tmp_2_2 = _mm256_mul_pd(tmp_qloop_21,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 14],_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 14],_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 14],_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 14]));
+                   const __m256d q_tmp_2_3 = _mm256_mul_pd(tmp_qloop_21,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 15],_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 15],_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 15],_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 15]));
+                   const __m256d q_tmp_2_4 = _mm256_mul_pd(tmp_qloop_21,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 16],_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 16],_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 16],_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 16]));
+                   const __m256d q_tmp_2_5 = _mm256_mul_pd(tmp_qloop_21,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 17],_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 17],_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 17],_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 17]));
+                   q_acc_0_0 = _mm256_add_pd(q_acc_0_0,q_tmp_0_0);
+                   q_acc_0_1 = _mm256_add_pd(q_acc_0_1,q_tmp_0_1);
+                   q_acc_0_2 = _mm256_add_pd(q_acc_0_2,q_tmp_0_2);
+                   q_acc_0_3 = _mm256_add_pd(q_acc_0_3,q_tmp_0_3);
+                   q_acc_0_4 = _mm256_add_pd(q_acc_0_4,q_tmp_0_4);
+                   q_acc_0_5 = _mm256_add_pd(q_acc_0_5,q_tmp_0_5);
+                   q_acc_1_0 = _mm256_add_pd(q_acc_1_0,q_tmp_1_0);
+                   q_acc_1_1 = _mm256_add_pd(q_acc_1_1,q_tmp_1_1);
+                   q_acc_1_2 = _mm256_add_pd(q_acc_1_2,q_tmp_1_2);
+                   q_acc_1_3 = _mm256_add_pd(q_acc_1_3,q_tmp_1_3);
+                   q_acc_1_4 = _mm256_add_pd(q_acc_1_4,q_tmp_1_4);
+                   q_acc_1_5 = _mm256_add_pd(q_acc_1_5,q_tmp_1_5);
+                   q_acc_2_0 = _mm256_add_pd(q_acc_2_0,q_tmp_2_0);
+                   q_acc_2_1 = _mm256_add_pd(q_acc_2_1,q_tmp_2_1);
+                   q_acc_2_2 = _mm256_add_pd(q_acc_2_2,q_tmp_2_2);
+                   q_acc_2_3 = _mm256_add_pd(q_acc_2_3,q_tmp_2_3);
+                   q_acc_2_4 = _mm256_add_pd(q_acc_2_4,q_tmp_2_4);
+                   q_acc_2_5 = _mm256_add_pd(q_acc_2_5,q_tmp_2_5);
+                }
+                const __m256d elMatVec_0 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(q_acc_0_0,src_dof_0),_mm256_mul_pd(q_acc_0_1,src_dof_1)),_mm256_mul_pd(q_acc_0_2,src_dof_2)),_mm256_mul_pd(q_acc_0_3,src_dof_3)),_mm256_mul_pd(q_acc_0_4,src_dof_4)),_mm256_mul_pd(q_acc_0_5,src_dof_5));
+                const __m256d elMatVec_1 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(q_acc_1_0,src_dof_0),_mm256_mul_pd(q_acc_1_1,src_dof_1)),_mm256_mul_pd(q_acc_1_2,src_dof_2)),_mm256_mul_pd(q_acc_1_3,src_dof_3)),_mm256_mul_pd(q_acc_1_4,src_dof_4)),_mm256_mul_pd(q_acc_1_5,src_dof_5));
+                const __m256d elMatVec_2 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(q_acc_2_0,src_dof_0),_mm256_mul_pd(q_acc_2_1,src_dof_1)),_mm256_mul_pd(q_acc_2_2,src_dof_2)),_mm256_mul_pd(q_acc_2_3,src_dof_3)),_mm256_mul_pd(q_acc_2_4,src_dof_4)),_mm256_mul_pd(q_acc_2_5,src_dof_5));
+                _mm256_storeu_pd(&_data_dst[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + 1],_mm256_add_pd(elMatVec_0,_mm256_loadu_pd(& _data_dst[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + 1])));
+                _mm256_storeu_pd(&_data_dst[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2))],_mm256_add_pd(elMatVec_1,_mm256_loadu_pd(& _data_dst[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2))])));
+                _mm256_storeu_pd(&_data_dst[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 1],_mm256_add_pd(elMatVec_2,_mm256_loadu_pd(& _data_dst[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 1])));
+             }
+             for (int64_t ctr_0 = (int64_t)((-ctr_1 + micro_edges_per_macro_edge - 1) / (4)) * (4); ctr_0 < -ctr_1 + micro_edges_per_macro_edge - 1; ctr_0 += 1)
+             {
+            
+                const int64_t phantom_ctr_0 = ctr_0;
+                real_t _data_float_loop_ctr_array_dim_0[4];
+                _data_float_loop_ctr_array_dim_0[0] = (real_t) ctr_0+ 0;
+                _data_float_loop_ctr_array_dim_0[1] = (real_t) ctr_0+ 1;
+                _data_float_loop_ctr_array_dim_0[2] = (real_t) ctr_0+ 2;
+                _data_float_loop_ctr_array_dim_0[3] = (real_t) ctr_0+ 3;
+                real_t _data_float_loop_ctr_array_dim_1[4];
+                _data_float_loop_ctr_array_dim_1[0] = (real_t) ctr_1;
+                _data_float_loop_ctr_array_dim_1[1] = (real_t) ctr_1;
+                _data_float_loop_ctr_array_dim_1[2] = (real_t) ctr_1;
+                _data_float_loop_ctr_array_dim_1[3] = (real_t) ctr_1;
+            
+                const real_t p_affine_0_0 = macro_vertex_coord_id_0comp0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0)*(1.0 + _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0)*1.0*_data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0];
+                const real_t p_affine_0_1 = macro_vertex_coord_id_0comp1 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1)*(1.0 + _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1)*1.0*_data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0];
+                const real_t p_affine_1_0 = macro_vertex_coord_id_0comp0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0)*1.0*_data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0)*(1.0 + _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0])*1.0;
+                const real_t p_affine_1_1 = macro_vertex_coord_id_0comp1 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1)*1.0*_data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1)*(1.0 + _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0])*1.0;
+                const real_t p_affine_2_0 = macro_vertex_coord_id_0comp0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0)*(1.0 + _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0)*(1.0 + _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0])*1.0;
+                const real_t p_affine_2_1 = macro_vertex_coord_id_0comp1 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1)*(1.0 + _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1)*(1.0 + _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0])*1.0;
+                const real_t src_dof_0 = _data_srcVertex[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + 1];
+                const real_t src_dof_1 = _data_srcVertex[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2))];
+                const real_t src_dof_2 = _data_srcVertex[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 1];
+                const real_t src_dof_3 = _data_srcEdge[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2))];
+                const real_t src_dof_4 = _data_srcEdge[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 2*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)) / (2)) + 1];
+                const real_t src_dof_5 = _data_srcEdge[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)) / (2))];
+                const real_t k_dof_0 = _data_kVertex[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + 1];
+                const real_t k_dof_1 = _data_kVertex[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2))];
+                const real_t k_dof_2 = _data_kVertex[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 1];
+                const real_t k_dof_3 = _data_kEdge[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2))];
+                const real_t k_dof_4 = _data_kEdge[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 2*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)) / (2)) + 1];
+                const real_t k_dof_5 = _data_kEdge[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)) / (2))];
+                real_t q_acc_0_0 = 0.0;
+                real_t q_acc_0_1 = 0.0;
+                real_t q_acc_0_2 = 0.0;
+                real_t q_acc_0_3 = 0.0;
+                real_t q_acc_0_4 = 0.0;
+                real_t q_acc_0_5 = 0.0;
+                real_t q_acc_1_0 = 0.0;
+                real_t q_acc_1_1 = 0.0;
+                real_t q_acc_1_2 = 0.0;
+                real_t q_acc_1_3 = 0.0;
+                real_t q_acc_1_4 = 0.0;
+                real_t q_acc_1_5 = 0.0;
+                real_t q_acc_2_0 = 0.0;
+                real_t q_acc_2_1 = 0.0;
+                real_t q_acc_2_2 = 0.0;
+                real_t q_acc_2_3 = 0.0;
+                real_t q_acc_2_4 = 0.0;
+                real_t q_acc_2_5 = 0.0;
+                for (int64_t q = 0; q < 6; q += 1)
+                {
+                   const real_t tmp_qloop_0 = 4.0*_data_q_p_0[q]*_data_q_p_1[q];
+                   const real_t tmp_qloop_1 = (_data_q_p_0[q]*_data_q_p_0[q]);
+                   const real_t tmp_qloop_2 = tmp_qloop_1*2.0;
+                   const real_t tmp_qloop_3 = (_data_q_p_1[q]*_data_q_p_1[q]);
+                   const real_t tmp_qloop_4 = tmp_qloop_3*2.0;
+                   const real_t tmp_qloop_6 = -p_affine_0_0 + (p_affine_0_0 - p_affine_1_0)*_data_q_p_0[q] + (p_affine_0_0 - p_affine_2_0)*_data_q_p_1[q];
+                   const real_t tmp_qloop_7 = (tmp_qloop_6*tmp_qloop_6);
+                   const real_t tmp_qloop_8 = -p_affine_0_1 + (p_affine_0_1 - p_affine_1_1)*_data_q_p_0[q] + (p_affine_0_1 - p_affine_2_1)*_data_q_p_1[q];
+                   const real_t tmp_qloop_9 = (tmp_qloop_8*tmp_qloop_8);
+                   const real_t tmp_qloop_10 = tmp_qloop_7 + tmp_qloop_9;
+                   const real_t tmp_qloop_13 = pow(tmp_qloop_10, -0.50000000000000000)*tmp_qloop_12*1.0;
+                   const real_t tmp_qloop_14 = tmp_qloop_13*tmp_qloop_6;
+                   const real_t tmp_qloop_15 = tmp_qloop_11*(rayVertex_1 + tmp_qloop_8) - tmp_qloop_5*(rayVertex_0 + tmp_qloop_6);
+                   const real_t tmp_qloop_16 = pow(tmp_qloop_10, -1.5000000000000000)*1.0;
+                   const real_t tmp_qloop_17 = tmp_qloop_16*(radRayVertex + tmp_qloop_12*tmp_qloop_15);
+                   const real_t tmp_qloop_18 = tmp_qloop_13*tmp_qloop_8;
+                   const real_t tmp_qloop_19 = tmp_qloop_16*(radRayVertex + tmp_qloop_12*tmp_qloop_15);
+                   const real_t tmp_qloop_20 = tmp_qloop_6*tmp_qloop_8;
+                   const real_t tmp_qloop_21 = (k_dof_0*(tmp_qloop_0 + tmp_qloop_2 + tmp_qloop_4 - 3.0*_data_q_p_0[q] - 3.0*_data_q_p_1[q] + 1.0) + k_dof_1*(tmp_qloop_2 - _data_q_p_0[q]) + k_dof_2*(tmp_qloop_4 - _data_q_p_1[q]) + k_dof_3*tmp_qloop_0 + k_dof_4*(-tmp_qloop_0 + tmp_qloop_3*-4.0 + 4.0*_data_q_p_1[q]) + k_dof_5*(-tmp_qloop_0 + tmp_qloop_1*-4.0 + 4.0*_data_q_p_0[q]))*abs((tmp_qloop_11*tmp_qloop_14 - tmp_qloop_19*tmp_qloop_20)*(tmp_qloop_17*tmp_qloop_20 + tmp_qloop_18*tmp_qloop_5) - (tmp_qloop_11*tmp_qloop_18 + tmp_qloop_19*tmp_qloop_7)*(tmp_qloop_14*tmp_qloop_5 - tmp_qloop_17*tmp_qloop_9))*_data_q_w[q];
+                   const real_t q_tmp_0_0 = tmp_qloop_21*_data_phi_psi_jac_affine_det_0_0_BLUE[18*q];
+                   const real_t q_tmp_0_1 = tmp_qloop_21*_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 1];
+                   const real_t q_tmp_0_2 = tmp_qloop_21*_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 2];
+                   const real_t q_tmp_0_3 = tmp_qloop_21*_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 3];
+                   const real_t q_tmp_0_4 = tmp_qloop_21*_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 4];
+                   const real_t q_tmp_0_5 = tmp_qloop_21*_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 5];
+                   const real_t q_tmp_1_0 = tmp_qloop_21*_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 6];
+                   const real_t q_tmp_1_1 = tmp_qloop_21*_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 7];
+                   const real_t q_tmp_1_2 = tmp_qloop_21*_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 8];
+                   const real_t q_tmp_1_3 = tmp_qloop_21*_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 9];
+                   const real_t q_tmp_1_4 = tmp_qloop_21*_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 10];
+                   const real_t q_tmp_1_5 = tmp_qloop_21*_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 11];
+                   const real_t q_tmp_2_0 = tmp_qloop_21*_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 12];
+                   const real_t q_tmp_2_1 = tmp_qloop_21*_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 13];
+                   const real_t q_tmp_2_2 = tmp_qloop_21*_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 14];
+                   const real_t q_tmp_2_3 = tmp_qloop_21*_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 15];
+                   const real_t q_tmp_2_4 = tmp_qloop_21*_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 16];
+                   const real_t q_tmp_2_5 = tmp_qloop_21*_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 17];
+                   q_acc_0_0 = q_acc_0_0 + q_tmp_0_0;
+                   q_acc_0_1 = q_acc_0_1 + q_tmp_0_1;
+                   q_acc_0_2 = q_acc_0_2 + q_tmp_0_2;
+                   q_acc_0_3 = q_acc_0_3 + q_tmp_0_3;
+                   q_acc_0_4 = q_acc_0_4 + q_tmp_0_4;
+                   q_acc_0_5 = q_acc_0_5 + q_tmp_0_5;
+                   q_acc_1_0 = q_acc_1_0 + q_tmp_1_0;
+                   q_acc_1_1 = q_acc_1_1 + q_tmp_1_1;
+                   q_acc_1_2 = q_acc_1_2 + q_tmp_1_2;
+                   q_acc_1_3 = q_acc_1_3 + q_tmp_1_3;
+                   q_acc_1_4 = q_acc_1_4 + q_tmp_1_4;
+                   q_acc_1_5 = q_acc_1_5 + q_tmp_1_5;
+                   q_acc_2_0 = q_acc_2_0 + q_tmp_2_0;
+                   q_acc_2_1 = q_acc_2_1 + q_tmp_2_1;
+                   q_acc_2_2 = q_acc_2_2 + q_tmp_2_2;
+                   q_acc_2_3 = q_acc_2_3 + q_tmp_2_3;
+                   q_acc_2_4 = q_acc_2_4 + q_tmp_2_4;
+                   q_acc_2_5 = q_acc_2_5 + q_tmp_2_5;
+                }
+                const real_t elMatVec_0 = q_acc_0_0*src_dof_0 + q_acc_0_1*src_dof_1 + q_acc_0_2*src_dof_2 + q_acc_0_3*src_dof_3 + q_acc_0_4*src_dof_4 + q_acc_0_5*src_dof_5;
+                const real_t elMatVec_1 = q_acc_1_0*src_dof_0 + q_acc_1_1*src_dof_1 + q_acc_1_2*src_dof_2 + q_acc_1_3*src_dof_3 + q_acc_1_4*src_dof_4 + q_acc_1_5*src_dof_5;
+                const real_t elMatVec_2 = q_acc_2_0*src_dof_0 + q_acc_2_1*src_dof_1 + q_acc_2_2*src_dof_2 + q_acc_2_3*src_dof_3 + q_acc_2_4*src_dof_4 + q_acc_2_5*src_dof_5;
+                _data_dst[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + 1] = elMatVec_0 + _data_dst[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + 1];
+                _data_dst[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2))] = elMatVec_1 + _data_dst[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2))];
+                _data_dst[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 1] = elMatVec_2 + _data_dst[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 1];
+             }
+          }
+       }
+    }
+}
+} // namespace operatorgeneration
+
+} // namespace hyteg
diff --git a/operators/k_mass/avx/P2ToP1ElementwiseKMassIcosahedralShellMap_apply_macro_3D.cpp b/operators/k_mass/avx/P2ToP1ElementwiseKMassIcosahedralShellMap_apply_macro_3D.cpp
new file mode 100644
index 0000000000000000000000000000000000000000..62491f0c64a8301598031b85211ff60b48fcbf71
--- /dev/null
+++ b/operators/k_mass/avx/P2ToP1ElementwiseKMassIcosahedralShellMap_apply_macro_3D.cpp
@@ -0,0 +1,2972 @@
+/*
+* Copyright (c) 2017-2024 Nils Kohl, Daniel Bauer, Fabian Böhm.
+*
+* This file is part of HyTeG
+* (see https://i10git.cs.fau.de/hyteg/hyteg).
+*
+* This program is free software: you can redistribute it and/or modify
+* it under the terms of the GNU General Public License as published by
+* the Free Software Foundation, either version 3 of the License, or
+* (at your option) any later version.
+*
+* This program is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+* GNU General Public License for more details.
+*
+* You should have received a copy of the GNU General Public License
+* along with this program. If not, see <http://www.gnu.org/licenses/>.
+*/
+
+/*
+* The entire file was generated with the HyTeG form generator.
+*
+* Avoid modifying this file. If buggy, consider fixing the generator itself.
+*/
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+#include "../P2ToP1ElementwiseKMassIcosahedralShellMap.hpp"
+
+#define FUNC_PREFIX  
+
+namespace hyteg {
+
+namespace operatorgeneration {
+
+void P2ToP1ElementwiseKMassIcosahedralShellMap::apply_macro_3D( real_t * RESTRICT  _data_dst, real_t * RESTRICT  _data_kEdge, real_t * RESTRICT  _data_kVertex, real_t * RESTRICT  _data_srcEdge, real_t * RESTRICT  _data_srcVertex, real_t forVertex_0, real_t forVertex_1, real_t forVertex_2, real_t macro_vertex_coord_id_0comp0, real_t macro_vertex_coord_id_0comp1, real_t macro_vertex_coord_id_0comp2, real_t macro_vertex_coord_id_1comp0, real_t macro_vertex_coord_id_1comp1, real_t macro_vertex_coord_id_1comp2, real_t macro_vertex_coord_id_2comp0, real_t macro_vertex_coord_id_2comp1, real_t macro_vertex_coord_id_2comp2, real_t macro_vertex_coord_id_3comp0, real_t macro_vertex_coord_id_3comp1, real_t macro_vertex_coord_id_3comp2, int64_t micro_edges_per_macro_edge, real_t micro_edges_per_macro_edge_float, real_t radRayVertex, real_t radRefVertex, real_t rayVertex_0, real_t rayVertex_1, real_t rayVertex_2, real_t refVertex_0, real_t refVertex_1, real_t refVertex_2, real_t thrVertex_0, real_t thrVertex_1, real_t thrVertex_2 ) const
+{
+    {
+       const real_t _data_q_w [] = {0.02364442875776411, 0.0041220137385117907, 0.025486503738822306, 0.0091363578885896128, 0.0052827872295400091, 0.02526054964096567, 0.01949470769240411, 0.0094909452962763929, 0.019522077110586403, 0.018549261128954084, 0.0066770344442521412};
+   
+       const real_t _data_q_p_0 [] = {0.4881393122183349, 0.028620108024415062, 0.12011493111997025, 0.19015055018870972, 0.81934505243836264, 0.33721826230431567, 0.086557484679865959, 0.079692524193577793, 0.061206893331017434, 0.43957887847117094, 0.085226802665704912};
+   
+       const real_t _data_q_p_1 [] = {0.31081202744417918, 0.1144811451032984, 0.33248812467264544, 0.58529107547132619, 0.026719351714152292, 0.11264913310739497, 0.079391877387070833, 0.063296594113889035, 0.44299746808745322, 0.057741550565775693, 0.77428400209089154};
+   
+       const real_t _data_q_p_2 [] = {0.082320586256909412, 0.85148303380032098, 0.10040383353811888, 0.21187112908079075, 0.11113976289693195, 0.45821473775386756, 0.49383422023194623, 0.10603293862052354, 0.35074787972985066, 0.10858823393329198, 0.0088057690417862045};
+   
+       const real_t tmp_coords_jac_0_WHITE_UP = 1.0 / (micro_edges_per_macro_edge_float)*1.0;
+       const real_t p_affine_const_0_0_WHITE_UP = macro_vertex_coord_id_0comp0;
+       const real_t p_affine_const_0_1_WHITE_UP = macro_vertex_coord_id_0comp1;
+       const real_t p_affine_const_0_2_WHITE_UP = macro_vertex_coord_id_0comp2;
+       const real_t p_affine_const_1_0_WHITE_UP = macro_vertex_coord_id_0comp0 + tmp_coords_jac_0_WHITE_UP*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0);
+       const real_t p_affine_const_1_1_WHITE_UP = macro_vertex_coord_id_0comp1 + tmp_coords_jac_0_WHITE_UP*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1);
+       const real_t p_affine_const_1_2_WHITE_UP = macro_vertex_coord_id_0comp2 + tmp_coords_jac_0_WHITE_UP*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2);
+       const real_t p_affine_const_2_0_WHITE_UP = macro_vertex_coord_id_0comp0 + tmp_coords_jac_0_WHITE_UP*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0);
+       const real_t p_affine_const_2_1_WHITE_UP = macro_vertex_coord_id_0comp1 + tmp_coords_jac_0_WHITE_UP*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1);
+       const real_t p_affine_const_2_2_WHITE_UP = macro_vertex_coord_id_0comp2 + tmp_coords_jac_0_WHITE_UP*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2);
+       const real_t p_affine_const_3_0_WHITE_UP = macro_vertex_coord_id_0comp0 + tmp_coords_jac_0_WHITE_UP*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0);
+       const real_t p_affine_const_3_1_WHITE_UP = macro_vertex_coord_id_0comp1 + tmp_coords_jac_0_WHITE_UP*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1);
+       const real_t p_affine_const_3_2_WHITE_UP = macro_vertex_coord_id_0comp2 + tmp_coords_jac_0_WHITE_UP*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2);
+       const real_t jac_affine_0_0_WHITE_UP = -p_affine_const_0_0_WHITE_UP + p_affine_const_1_0_WHITE_UP;
+       const real_t jac_affine_0_1_WHITE_UP = -p_affine_const_0_0_WHITE_UP + p_affine_const_2_0_WHITE_UP;
+       const real_t jac_affine_0_2_WHITE_UP = -p_affine_const_0_0_WHITE_UP + p_affine_const_3_0_WHITE_UP;
+       const real_t jac_affine_1_0_WHITE_UP = -p_affine_const_0_1_WHITE_UP + p_affine_const_1_1_WHITE_UP;
+       const real_t jac_affine_1_1_WHITE_UP = -p_affine_const_0_1_WHITE_UP + p_affine_const_2_1_WHITE_UP;
+       const real_t jac_affine_1_2_WHITE_UP = -p_affine_const_0_1_WHITE_UP + p_affine_const_3_1_WHITE_UP;
+       const real_t jac_affine_2_0_WHITE_UP = -p_affine_const_0_2_WHITE_UP + p_affine_const_1_2_WHITE_UP;
+       const real_t jac_affine_2_1_WHITE_UP = -p_affine_const_0_2_WHITE_UP + p_affine_const_2_2_WHITE_UP;
+       const real_t jac_affine_2_2_WHITE_UP = -p_affine_const_0_2_WHITE_UP + p_affine_const_3_2_WHITE_UP;
+       const real_t abs_det_jac_affine_WHITE_UP = abs(jac_affine_0_0_WHITE_UP*jac_affine_1_1_WHITE_UP*jac_affine_2_2_WHITE_UP - jac_affine_0_0_WHITE_UP*jac_affine_1_2_WHITE_UP*jac_affine_2_1_WHITE_UP - jac_affine_0_1_WHITE_UP*jac_affine_1_0_WHITE_UP*jac_affine_2_2_WHITE_UP + jac_affine_0_1_WHITE_UP*jac_affine_1_2_WHITE_UP*jac_affine_2_0_WHITE_UP + jac_affine_0_2_WHITE_UP*jac_affine_1_0_WHITE_UP*jac_affine_2_1_WHITE_UP - jac_affine_0_2_WHITE_UP*jac_affine_1_1_WHITE_UP*jac_affine_2_0_WHITE_UP);
+       const real_t tmp_qloop_19 = rayVertex_1 - refVertex_1;
+       const real_t tmp_qloop_20 = -rayVertex_0;
+       const real_t tmp_qloop_21 = -forVertex_0 - tmp_qloop_20;
+       const real_t tmp_qloop_22 = rayVertex_2 - thrVertex_2;
+       const real_t tmp_qloop_23 = tmp_qloop_21*tmp_qloop_22;
+       const real_t tmp_qloop_24 = rayVertex_2 - refVertex_2;
+       const real_t tmp_qloop_25 = rayVertex_1 - thrVertex_1;
+       const real_t tmp_qloop_26 = tmp_qloop_21*tmp_qloop_25;
+       const real_t tmp_qloop_27 = -rayVertex_1;
+       const real_t tmp_qloop_28 = -forVertex_1 - tmp_qloop_27;
+       const real_t tmp_qloop_29 = rayVertex_0 - thrVertex_0;
+       const real_t tmp_qloop_30 = rayVertex_0 - refVertex_0;
+       const real_t tmp_qloop_31 = -rayVertex_2;
+       const real_t tmp_qloop_32 = -forVertex_2 - tmp_qloop_31;
+       const real_t tmp_qloop_33 = tmp_qloop_22*tmp_qloop_28;
+       const real_t tmp_qloop_34 = tmp_qloop_29*tmp_qloop_32;
+       const real_t tmp_qloop_35 = tmp_qloop_19*tmp_qloop_23 - tmp_qloop_19*tmp_qloop_34 - tmp_qloop_24*tmp_qloop_26 + tmp_qloop_24*tmp_qloop_28*tmp_qloop_29 + tmp_qloop_25*tmp_qloop_30*tmp_qloop_32 - tmp_qloop_30*tmp_qloop_33;
+       const real_t tmp_qloop_36 = 1.0 / (tmp_qloop_35*tmp_qloop_35*tmp_qloop_35);
+       const real_t tmp_qloop_37 = radRayVertex - radRefVertex;
+       const real_t tmp_qloop_38 = tmp_qloop_37*(-tmp_qloop_26 + tmp_qloop_28*tmp_qloop_29);
+       const real_t tmp_qloop_45 = tmp_qloop_37*(tmp_qloop_25*tmp_qloop_32 - tmp_qloop_33);
+       const real_t tmp_qloop_47 = -tmp_qloop_23 + tmp_qloop_29*tmp_qloop_32;
+       {
+          /* CellType.WHITE_UP */
+          const real_t _data_phi_psi_jac_affine_det_0_0_WHITE_UP [] = {((real_t)(abs_det_jac_affine_WHITE_UP*-0.010749089276961213)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0013747922567553051)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.01396287204173041)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.008164600589399525)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.012151214443257608)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.019083835042434261)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.072053489056043002)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0046416810200408439)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.017525267423213611)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.027523941260433657)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.044193869792483409)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0056523290877285)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0574070354280087)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.033567987580949914)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.049958575567593019)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.078461393265588306)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.29624114484395714)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.019083835042434251)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.072053489056042974)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.11316209633188964)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.02813947970791995)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0035989968838093011)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.036552673846023863)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.021373681684931475)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.031810029988819218)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.18862506775555832)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.012151214443257601)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.045878482755592566)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.07205348905604296)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0074529241534464254)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.00095321772406372263)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0096812133204938391)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0056609585582659784)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0084250932599439499)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.013231853551815916)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0032183281481346165)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.012151214443257603)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.019083835042434251)), ((real_t)(abs_det_jac_affine_WHITE_UP*-2.9012262911449775e-5)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.00014612615736184792)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.00047804109319682082)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0032416491456343029)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0021116678219306132)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.00052791366753715454)), ((real_t)(abs_det_jac_affine_WHITE_UP*7.0977528354966774e-5)), ((real_t)(abs_det_jac_affine_WHITE_UP*9.9895812682163066e-5)), ((real_t)(abs_det_jac_affine_WHITE_UP*1.3430904167093961e-5)), ((real_t)(abs_det_jac_affine_WHITE_UP*3.3577051293550935e-6)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.00015331944058422371)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.00077222451657154147)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0025262763269762738)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.017130957178208683)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.011159409734644826)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0027898350580443485)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.00037509087018302439)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.00052791366753715541)), ((real_t)(abs_det_jac_affine_WHITE_UP*7.0977528354966354e-5)), ((real_t)(abs_det_jac_affine_WHITE_UP*1.7744271574084403e-5)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.00061328158194601311)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0030889173045236238)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.010105168244399365)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.068524255492113287)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.044637916950180538)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0015003728252777238)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0021116678219306167)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.000283911881665389)), ((real_t)(abs_det_jac_affine_WHITE_UP*7.0977528354965283e-5)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0045614398903685138)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.022974618879299673)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.075159794270401023)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.50966681808331993)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.33200601647520916)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.083000987173061064)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.015706073884687172)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0021116678219306002)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.00052791366753714337)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.02118185416019976)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.040792474062018545)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.049791196691139579)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.035867609546541376)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.059688031245203839)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.021562946853404222)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.071405876738584673)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.080243884747120436)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.26572828761452333)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.095997217930328324)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.005691937733975882)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.010961657115556597)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.013379772569609637)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.009638259175114022)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.016039226535213912)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0057943440608341223)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.019188018251946451)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.021562946853404225)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0714058767385847)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.025796145274243024)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.015755757300754607)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.03034277906728966)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.037036323866953338)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.026679503441931235)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.044397913749511943)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.053114031247306501)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.059688031245203839)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.19765740883375349)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0714058767385847)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0047578795027626341)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0091628275191950465)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.011184125448277639)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0080566017962316674)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.013407157762204741)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0048434807489961713)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.018024424659562992)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.059688031245203853)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.021562946853404232)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.00015688175714697789)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0014950153325289843)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0012666972383742025)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0015490159490981592)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0062931924029516256)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0020445450956193246)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0056480276621754888)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.00013641635559728395)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.00037684830314454006)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0001224312400849633)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.002351271046368435)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.022406596720860313)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.018984670973016902)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.023215932927530856)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.094319450236798913)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.030642694050274453)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.084650020197820364)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0020445450956193168)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0056480276621755114)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0018349426677638542)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0072373072709378001)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.068968409922504109)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.058435584226493004)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.071459579463428277)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.29031907828914638)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.26055618198886238)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0062931924029516022)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.017384857321768536)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0056480276621755391)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0026198528001873307)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.024966064738678271)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.021153258143552994)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.025867850064795264)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.10509340307518385)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.034142957672569287)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0022780900577755898)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0062931924029516507)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0020445450956193428)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0016747236096797923)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.022395383667253931)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0010823709889014185)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0036990864559166563)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.00050834301173610229)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.015588264867481133)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0037476086033569342)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.00081420248681843786)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.00019574418772167287)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0060024671806827717)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.032063320402672957)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.42876947450525699)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.020722468836717273)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.070820637834037012)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.009732450635762396)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.29844418988237825)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.071749615697017544)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.015588264867481126)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0037476086033569277)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.1149198753205366)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0010456048186450997)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.013982439217157605)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.00067577259615595462)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0023095050434207478)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.00031738126788423253)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0023397995892677865)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.00050834301173610208)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.00012221184720903605)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0037476086033569355)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0043492174836919605)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.058160280082415236)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0028108917803285017)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0096064397699850354)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0013201547416997409)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.040482354049473784)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0021144645423690485)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.00050834301173610142)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.015588264867481138)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0068956855714663416)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.010091290281029655)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0080216243244021178)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0035198334831929206)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.018978279386089755)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.056811998632973766)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.01396686284573566)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.015485631440181358)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0038070424489360009)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.01139648574059631)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.025298140458325055)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.037021827096001436)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.029428861968758362)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.012913181862031289)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.069625445155635055)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.20842567519062763)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.051240105769272605)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.056811998632973738)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.013966862845735664)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.041810186095187066)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0084509467915105906)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.012367292031926986)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0098308311254096271)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0043137009617327136)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.023258663351751644)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.017116965895609845)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.018978279386089748)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0046656873831529451)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.01396686284573564)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.034375305526338835)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.050305540032273111)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.039988161309129681)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.017546529657219402)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.094607584046545581)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.28321039153111127)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.077196575526473174)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.018978279386089758)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.056811998632973676)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.036989007988906066)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.024350339729610097)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.022721604194642659)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0020718315986862396)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.053354679030800815)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.058170268354931241)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0093518161026560475)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.22863973450271471)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.036757553494219546)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.040075149727639509)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0094107024991835538)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0061951865002202629)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.005780805406949952)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.00052711310369534133)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.013574438423676774)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.014799615333023134)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0023792787088414437)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.058170268354931248)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.009351816102656051)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.010195875266786407)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0086316433720857837)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0056823218562164577)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0053022450428696702)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.00048347637471763576)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.012450687019346486)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0021823116073744556)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.053354679030800829)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0085776318491057792)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0093518161026560475)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.053690642094179834)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.035345240285608669)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.032981082352521167)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0030073250106582576)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.077445898974953548)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.084435869696849797)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.3318773554937019)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.053354679030800836)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.058170268354931241)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.2830869924348563)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.050308558644386672)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.041516821634179475)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.06274193203760102)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.020160825588817252)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.025383152182066201)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.015152528090816651)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.23919668259056145)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.14278898169094956)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.17977609281010931)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.030040718507945225)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0053386601615906274)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0044056957238823311)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0066580689659201985)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.002139433116273644)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0026936176861649991)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0016079609562587173)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.025383152182066195)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.015152528090816651)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.019077538505445499)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.023860144794362503)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0042402848796628178)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0034992684300787832)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0052882386796338152)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0016992664113091131)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0012771392678196903)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.020160825588817249)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.012035048833865587)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.01515252809081665)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.039969943152159265)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0071032236832497221)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0058618906729116316)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0088587307923610938)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0028465703978647464)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0035839271208240476)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.033772932211040815)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.020160825588817245)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.025383152182066191)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.014935575584147695)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.007791142568055953)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0073254854313094774)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.015186461110532538)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.090150328303510344)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.012455650259246793)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.015731589118882311)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.029517331411893867)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.037280633286332542)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0051508911658584714)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0063024771210085937)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0032876870064389215)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0030911901634452068)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0064083451728372039)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.038041411821271319)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0052560043865672946)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0066383769370158769)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.012455650259246798)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.015731589118882314)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0021735602717637636)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.045615473279886819)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.023795310306631609)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.022373124026687209)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.046381715060167777)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.27533253531028662)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.048046617223388682)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.090150328303510385)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.11386060898348732)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.015731589118882311)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.036116528170846006)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.018840185867421855)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.017714155002223078)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.036723208116341576)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.21799741519439725)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.030119685775736597)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.07137746553252089)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.090150328303510371)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.012455650259246793)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.032896921427909828)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.020934012679446525)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.020127575524041673)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.033499901528319088)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0098838942808698073)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.075244795478138254)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.040011251730840761)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.067458477890573201)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.035870894765649017)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.27308043404340754)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.036694010925042916)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.023350297128803515)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.022450777887903339)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.037366589313281677)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.011024731463671476)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.083929839859876898)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.044629504659074608)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.075244795478138254)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.040011251730840761)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.30460043053460045)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0048199974818136015)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0030672137093527801)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0029490559946009505)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0049083450365209726)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0014481703295155801)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.005862376301973493)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0098838942808698056)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0052557386811928905)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.040011251730840761)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.009064443351184925)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.005768174157623188)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0055459678357496689)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.009230588957667556)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0027234159279729726)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.020733009548559916)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.018587561536304909)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0098838942808698056)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.075244795478138254)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.012773605317404142)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0093099638314587951)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.055932196812816262)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0011391519589580709)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0035913578872906952)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.00039530708258920854)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.034759025419540214)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.00061078662356131824)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.053705963564394235)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0059115099192464755)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0082672024196058687)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0060254997396084128)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.036199865373541695)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.00073727030054430856)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0023243619853375876)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.00025584661404999347)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.022496381554864123)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.00039530708258920833)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.034759025419540221)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0038259870955407193)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.075107388466231287)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.054741559075980606)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.32887513974352289)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.006698087703317224)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.02111678772433076)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.20437923045390871)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0035913578872906935)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.31578513412249021)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.034759025419540214)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.00085418052598187596)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.00062256423341908954)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0037402277670030831)), ((real_t)(abs_det_jac_affine_WHITE_UP*-7.6175942132039452e-5)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.00024015678369014598)), ((real_t)(abs_det_jac_affine_WHITE_UP*2.6434479799555231e-5)), ((real_t)(abs_det_jac_affine_WHITE_UP*4.0843757608938361e-5)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0035913578872906957)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.00039530708258920849))};
+      
+          for (int64_t ctr_2 = 0; ctr_2 < micro_edges_per_macro_edge; ctr_2 += 1)
+          for (int64_t ctr_1 = 0; ctr_1 < -ctr_2 + micro_edges_per_macro_edge; ctr_1 += 1)
+          {
+             for (int64_t ctr_0 = 0; ctr_0 < (int64_t)((-ctr_1 - ctr_2 + micro_edges_per_macro_edge) / (4)) * (4); ctr_0 += 4)
+             {
+            
+                const int64_t phantom_ctr_0 = ctr_0;
+                real_t _data_float_loop_ctr_array_dim_0[4];
+                _data_float_loop_ctr_array_dim_0[0] = (real_t) ctr_0+ 0;
+                _data_float_loop_ctr_array_dim_0[1] = (real_t) ctr_0+ 1;
+                _data_float_loop_ctr_array_dim_0[2] = (real_t) ctr_0+ 2;
+                _data_float_loop_ctr_array_dim_0[3] = (real_t) ctr_0+ 3;
+                real_t _data_float_loop_ctr_array_dim_1[4];
+                _data_float_loop_ctr_array_dim_1[0] = (real_t) ctr_1;
+                _data_float_loop_ctr_array_dim_1[1] = (real_t) ctr_1;
+                _data_float_loop_ctr_array_dim_1[2] = (real_t) ctr_1;
+                _data_float_loop_ctr_array_dim_1[3] = (real_t) ctr_1;
+                real_t _data_float_loop_ctr_array_dim_2[4];
+                _data_float_loop_ctr_array_dim_2[0] = (real_t) ctr_2;
+                _data_float_loop_ctr_array_dim_2[1] = (real_t) ctr_2;
+                _data_float_loop_ctr_array_dim_2[2] = (real_t) ctr_2;
+                _data_float_loop_ctr_array_dim_2[3] = (real_t) ctr_2;
+            
+                const __m256d p_affine_0_0 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0)),_mm256_set_pd(macro_vertex_coord_id_1comp0,macro_vertex_coord_id_1comp0,macro_vertex_coord_id_1comp0,macro_vertex_coord_id_1comp0)),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0)),_mm256_set_pd(macro_vertex_coord_id_2comp0,macro_vertex_coord_id_2comp0,macro_vertex_coord_id_2comp0,macro_vertex_coord_id_2comp0)),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0]))),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0)),_mm256_set_pd(macro_vertex_coord_id_3comp0,macro_vertex_coord_id_3comp0,macro_vertex_coord_id_3comp0,macro_vertex_coord_id_3comp0)),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0));
+                const __m256d p_affine_0_1 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1)),_mm256_set_pd(macro_vertex_coord_id_1comp1,macro_vertex_coord_id_1comp1,macro_vertex_coord_id_1comp1,macro_vertex_coord_id_1comp1)),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1)),_mm256_set_pd(macro_vertex_coord_id_2comp1,macro_vertex_coord_id_2comp1,macro_vertex_coord_id_2comp1,macro_vertex_coord_id_2comp1)),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0]))),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1)),_mm256_set_pd(macro_vertex_coord_id_3comp1,macro_vertex_coord_id_3comp1,macro_vertex_coord_id_3comp1,macro_vertex_coord_id_3comp1)),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1));
+                const __m256d p_affine_0_2 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2)),_mm256_set_pd(macro_vertex_coord_id_1comp2,macro_vertex_coord_id_1comp2,macro_vertex_coord_id_1comp2,macro_vertex_coord_id_1comp2)),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2)),_mm256_set_pd(macro_vertex_coord_id_2comp2,macro_vertex_coord_id_2comp2,macro_vertex_coord_id_2comp2,macro_vertex_coord_id_2comp2)),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0]))),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2)),_mm256_set_pd(macro_vertex_coord_id_3comp2,macro_vertex_coord_id_3comp2,macro_vertex_coord_id_3comp2,macro_vertex_coord_id_3comp2)),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2));
+                const __m256d p_affine_1_0 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0)),_mm256_set_pd(macro_vertex_coord_id_1comp0,macro_vertex_coord_id_1comp0,macro_vertex_coord_id_1comp0,macro_vertex_coord_id_1comp0)),_mm256_add_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0)),_mm256_set_pd(macro_vertex_coord_id_2comp0,macro_vertex_coord_id_2comp0,macro_vertex_coord_id_2comp0,macro_vertex_coord_id_2comp0)),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0]))),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0)),_mm256_set_pd(macro_vertex_coord_id_3comp0,macro_vertex_coord_id_3comp0,macro_vertex_coord_id_3comp0,macro_vertex_coord_id_3comp0)),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0));
+                const __m256d p_affine_1_1 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1)),_mm256_set_pd(macro_vertex_coord_id_1comp1,macro_vertex_coord_id_1comp1,macro_vertex_coord_id_1comp1,macro_vertex_coord_id_1comp1)),_mm256_add_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1)),_mm256_set_pd(macro_vertex_coord_id_2comp1,macro_vertex_coord_id_2comp1,macro_vertex_coord_id_2comp1,macro_vertex_coord_id_2comp1)),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0]))),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1)),_mm256_set_pd(macro_vertex_coord_id_3comp1,macro_vertex_coord_id_3comp1,macro_vertex_coord_id_3comp1,macro_vertex_coord_id_3comp1)),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1));
+                const __m256d p_affine_1_2 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2)),_mm256_set_pd(macro_vertex_coord_id_1comp2,macro_vertex_coord_id_1comp2,macro_vertex_coord_id_1comp2,macro_vertex_coord_id_1comp2)),_mm256_add_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2)),_mm256_set_pd(macro_vertex_coord_id_2comp2,macro_vertex_coord_id_2comp2,macro_vertex_coord_id_2comp2,macro_vertex_coord_id_2comp2)),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0]))),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2)),_mm256_set_pd(macro_vertex_coord_id_3comp2,macro_vertex_coord_id_3comp2,macro_vertex_coord_id_3comp2,macro_vertex_coord_id_3comp2)),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2));
+                const __m256d p_affine_2_0 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0)),_mm256_set_pd(macro_vertex_coord_id_1comp0,macro_vertex_coord_id_1comp0,macro_vertex_coord_id_1comp0,macro_vertex_coord_id_1comp0)),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0)),_mm256_set_pd(macro_vertex_coord_id_2comp0,macro_vertex_coord_id_2comp0,macro_vertex_coord_id_2comp0,macro_vertex_coord_id_2comp0)),_mm256_add_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float)))),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0)),_mm256_set_pd(macro_vertex_coord_id_3comp0,macro_vertex_coord_id_3comp0,macro_vertex_coord_id_3comp0,macro_vertex_coord_id_3comp0)),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0));
+                const __m256d p_affine_2_1 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1)),_mm256_set_pd(macro_vertex_coord_id_1comp1,macro_vertex_coord_id_1comp1,macro_vertex_coord_id_1comp1,macro_vertex_coord_id_1comp1)),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1)),_mm256_set_pd(macro_vertex_coord_id_2comp1,macro_vertex_coord_id_2comp1,macro_vertex_coord_id_2comp1,macro_vertex_coord_id_2comp1)),_mm256_add_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float)))),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1)),_mm256_set_pd(macro_vertex_coord_id_3comp1,macro_vertex_coord_id_3comp1,macro_vertex_coord_id_3comp1,macro_vertex_coord_id_3comp1)),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1));
+                const __m256d p_affine_2_2 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2)),_mm256_set_pd(macro_vertex_coord_id_1comp2,macro_vertex_coord_id_1comp2,macro_vertex_coord_id_1comp2,macro_vertex_coord_id_1comp2)),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2)),_mm256_set_pd(macro_vertex_coord_id_2comp2,macro_vertex_coord_id_2comp2,macro_vertex_coord_id_2comp2,macro_vertex_coord_id_2comp2)),_mm256_add_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float)))),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2)),_mm256_set_pd(macro_vertex_coord_id_3comp2,macro_vertex_coord_id_3comp2,macro_vertex_coord_id_3comp2,macro_vertex_coord_id_3comp2)),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2));
+                const __m256d p_affine_3_0 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0)),_mm256_set_pd(macro_vertex_coord_id_1comp0,macro_vertex_coord_id_1comp0,macro_vertex_coord_id_1comp0,macro_vertex_coord_id_1comp0)),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0)),_mm256_set_pd(macro_vertex_coord_id_2comp0,macro_vertex_coord_id_2comp0,macro_vertex_coord_id_2comp0,macro_vertex_coord_id_2comp0)),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0]))),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0)),_mm256_set_pd(macro_vertex_coord_id_3comp0,macro_vertex_coord_id_3comp0,macro_vertex_coord_id_3comp0,macro_vertex_coord_id_3comp0)),_mm256_add_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float)))),_mm256_set_pd(macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0));
+                const __m256d p_affine_3_1 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1)),_mm256_set_pd(macro_vertex_coord_id_1comp1,macro_vertex_coord_id_1comp1,macro_vertex_coord_id_1comp1,macro_vertex_coord_id_1comp1)),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1)),_mm256_set_pd(macro_vertex_coord_id_2comp1,macro_vertex_coord_id_2comp1,macro_vertex_coord_id_2comp1,macro_vertex_coord_id_2comp1)),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0]))),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1)),_mm256_set_pd(macro_vertex_coord_id_3comp1,macro_vertex_coord_id_3comp1,macro_vertex_coord_id_3comp1,macro_vertex_coord_id_3comp1)),_mm256_add_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float)))),_mm256_set_pd(macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1));
+                const __m256d p_affine_3_2 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2)),_mm256_set_pd(macro_vertex_coord_id_1comp2,macro_vertex_coord_id_1comp2,macro_vertex_coord_id_1comp2,macro_vertex_coord_id_1comp2)),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2)),_mm256_set_pd(macro_vertex_coord_id_2comp2,macro_vertex_coord_id_2comp2,macro_vertex_coord_id_2comp2,macro_vertex_coord_id_2comp2)),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0]))),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2)),_mm256_set_pd(macro_vertex_coord_id_3comp2,macro_vertex_coord_id_3comp2,macro_vertex_coord_id_3comp2,macro_vertex_coord_id_3comp2)),_mm256_add_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float)))),_mm256_set_pd(macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2));
+                const __m256d src_dof_0 = _mm256_loadu_pd(& _data_srcVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]);
+                const __m256d src_dof_1 = _mm256_loadu_pd(& _data_srcVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]);
+                const __m256d src_dof_2 = _mm256_loadu_pd(& _data_srcVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]);
+                const __m256d src_dof_3 = _mm256_loadu_pd(& _data_srcVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]);
+                const __m256d src_dof_4 = _mm256_loadu_pd(& _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]);
+                const __m256d src_dof_5 = _mm256_loadu_pd(& _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 5*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]);
+                const __m256d src_dof_6 = _mm256_loadu_pd(& _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]);
+                const __m256d src_dof_7 = _mm256_loadu_pd(& _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]);
+                const __m256d src_dof_8 = _mm256_loadu_pd(& _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 2*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]);
+                const __m256d src_dof_9 = _mm256_loadu_pd(& _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]);
+                const __m256d k_dof_0 = _mm256_loadu_pd(& _data_kVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]);
+                const __m256d k_dof_1 = _mm256_loadu_pd(& _data_kVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]);
+                const __m256d k_dof_2 = _mm256_loadu_pd(& _data_kVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]);
+                const __m256d k_dof_3 = _mm256_loadu_pd(& _data_kVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]);
+                const __m256d k_dof_4 = _mm256_loadu_pd(& _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]);
+                const __m256d k_dof_5 = _mm256_loadu_pd(& _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 5*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]);
+                const __m256d k_dof_6 = _mm256_loadu_pd(& _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]);
+                const __m256d k_dof_7 = _mm256_loadu_pd(& _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]);
+                const __m256d k_dof_8 = _mm256_loadu_pd(& _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 2*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]);
+                const __m256d k_dof_9 = _mm256_loadu_pd(& _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]);
+                __m256d q_acc_0_0 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_0_1 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_0_2 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_0_3 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_0_4 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_0_5 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_0_6 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_0_7 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_0_8 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_0_9 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_1_0 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_1_1 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_1_2 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_1_3 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_1_4 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_1_5 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_1_6 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_1_7 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_1_8 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_1_9 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_2_0 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_2_1 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_2_2 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_2_3 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_2_4 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_2_5 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_2_6 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_2_7 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_2_8 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_2_9 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_3_0 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_3_1 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_3_2 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_3_3 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_3_4 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_3_5 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_3_6 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_3_7 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_3_8 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_3_9 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                for (int64_t q = 0; q < 11; q += 1)
+                {
+                   const __m256d tmp_qloop_0 = _mm256_mul_pd(_mm256_set_pd(4.0,4.0,4.0,4.0),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q]));
+                   const __m256d tmp_qloop_1 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q]));
+                   const __m256d tmp_qloop_2 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q]));
+                   const __m256d tmp_qloop_3 = _mm256_mul_pd(_mm256_mul_pd(_mm256_set_pd(4.0,4.0,4.0,4.0),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q])),_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q]));
+                   const __m256d tmp_qloop_4 = _mm256_mul_pd(_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q]),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q]));
+                   const __m256d tmp_qloop_5 = _mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(2.0,2.0,2.0,2.0));
+                   const __m256d tmp_qloop_6 = _mm256_mul_pd(_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q]),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q]));
+                   const __m256d tmp_qloop_7 = _mm256_mul_pd(tmp_qloop_6,_mm256_set_pd(2.0,2.0,2.0,2.0));
+                   const __m256d tmp_qloop_8 = _mm256_mul_pd(_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q]),_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q]));
+                   const __m256d tmp_qloop_9 = _mm256_mul_pd(tmp_qloop_8,_mm256_set_pd(2.0,2.0,2.0,2.0));
+                   const __m256d tmp_qloop_10 = _mm256_add_pd(tmp_qloop_1,tmp_qloop_2);
+                   const __m256d tmp_qloop_11 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(p_affine_0_0,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),p_affine_1_0),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q])),_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(p_affine_0_0,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),p_affine_2_0),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q]))),_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(p_affine_0_0,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),p_affine_3_0),_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q]))),p_affine_0_0);
+                   const __m256d tmp_qloop_12 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(p_affine_0_1,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),p_affine_1_1),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q])),_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(p_affine_0_1,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),p_affine_2_1),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q]))),_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(p_affine_0_1,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),p_affine_3_1),_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q]))),p_affine_0_1);
+                   const __m256d tmp_qloop_13 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(p_affine_0_2,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),p_affine_1_2),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q])),_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(p_affine_0_2,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),p_affine_2_2),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q]))),_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(p_affine_0_2,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),p_affine_3_2),_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q]))),p_affine_0_2);
+                   const __m256d tmp_qloop_14 = _mm256_mul_pd(tmp_qloop_11,tmp_qloop_11);
+                   const __m256d tmp_qloop_15 = _mm256_mul_pd(tmp_qloop_12,tmp_qloop_12);
+                   const __m256d tmp_qloop_16 = _mm256_mul_pd(tmp_qloop_13,tmp_qloop_13);
+                   const __m256d tmp_qloop_17 = _mm256_add_pd(_mm256_add_pd(tmp_qloop_14,tmp_qloop_15),tmp_qloop_16);
+                   const __m256d tmp_qloop_18 = _mm256_div_pd(_mm256_sqrt_pd(tmp_qloop_17),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_17,tmp_qloop_17),tmp_qloop_17),tmp_qloop_17),tmp_qloop_17));
+                   const __m256d tmp_qloop_39 = _mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_31,tmp_qloop_31,tmp_qloop_31,tmp_qloop_31)),_mm256_mul_pd(tmp_qloop_13,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)));
+                   const __m256d tmp_qloop_40 = _mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_20,tmp_qloop_20,tmp_qloop_20,tmp_qloop_20)),_mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)));
+                   const __m256d tmp_qloop_41 = _mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_27,tmp_qloop_27,tmp_qloop_27,tmp_qloop_27)),_mm256_mul_pd(tmp_qloop_12,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)));
+                   const __m256d tmp_qloop_42 = _mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(radRayVertex,radRayVertex,radRayVertex,radRayVertex),_mm256_set_pd(tmp_qloop_35,tmp_qloop_35,tmp_qloop_35,tmp_qloop_35)),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_39,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_set_pd(tmp_qloop_26,tmp_qloop_26,tmp_qloop_26,tmp_qloop_26)),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_40,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_set_pd(tmp_qloop_33,tmp_qloop_33,tmp_qloop_33,tmp_qloop_33))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_41,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_set_pd(tmp_qloop_34,tmp_qloop_34,tmp_qloop_34,tmp_qloop_34))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_41,_mm256_set_pd(tmp_qloop_21,tmp_qloop_21,tmp_qloop_21,tmp_qloop_21)),_mm256_set_pd(tmp_qloop_22,tmp_qloop_22,tmp_qloop_22,tmp_qloop_22))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_40,_mm256_set_pd(tmp_qloop_25,tmp_qloop_25,tmp_qloop_25,tmp_qloop_25)),_mm256_set_pd(tmp_qloop_32,tmp_qloop_32,tmp_qloop_32,tmp_qloop_32))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_39,_mm256_set_pd(tmp_qloop_28,tmp_qloop_28,tmp_qloop_28,tmp_qloop_28)),_mm256_set_pd(tmp_qloop_29,tmp_qloop_29,tmp_qloop_29,tmp_qloop_29))),_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_set_pd(tmp_qloop_37,tmp_qloop_37,tmp_qloop_37,tmp_qloop_37)));
+                   const __m256d tmp_qloop_43 = _mm256_mul_pd(tmp_qloop_42,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0));
+                   const __m256d tmp_qloop_44 = _mm256_add_pd(_mm256_mul_pd(tmp_qloop_17,_mm256_set_pd(tmp_qloop_38,tmp_qloop_38,tmp_qloop_38,tmp_qloop_38)),_mm256_mul_pd(tmp_qloop_13,tmp_qloop_43));
+                   const __m256d tmp_qloop_46 = _mm256_add_pd(_mm256_mul_pd(tmp_qloop_17,_mm256_set_pd(tmp_qloop_45,tmp_qloop_45,tmp_qloop_45,tmp_qloop_45)),_mm256_mul_pd(tmp_qloop_11,tmp_qloop_43));
+                   const __m256d tmp_qloop_48 = _mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_12,tmp_qloop_42),_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_17,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_set_pd(tmp_qloop_37,tmp_qloop_37,tmp_qloop_37,tmp_qloop_37)),_mm256_set_pd(tmp_qloop_47,tmp_qloop_47,tmp_qloop_47,tmp_qloop_47)));
+                   const __m256d tmp_qloop_49 = _mm256_add_pd(_mm256_mul_pd(tmp_qloop_17,_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_12,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_set_pd(tmp_qloop_37,tmp_qloop_37,tmp_qloop_37,tmp_qloop_37)),_mm256_set_pd(tmp_qloop_47,tmp_qloop_47,tmp_qloop_47,tmp_qloop_47)),tmp_qloop_42)),_mm256_mul_pd(tmp_qloop_15,tmp_qloop_43));
+                   const __m256d tmp_qloop_50 = _mm256_mul_pd(tmp_qloop_18,_mm256_set_pd(tmp_qloop_36,tmp_qloop_36,tmp_qloop_36,tmp_qloop_36));
+                   const __m256d tmp_qloop_51 = _mm256_mul_pd(tmp_qloop_11,tmp_qloop_46);
+                   const __m256d tmp_qloop_52 = _mm256_mul_pd(tmp_qloop_13,tmp_qloop_44);
+                   const __m256d tmp_qloop_53 = _mm256_add_pd(_mm256_mul_pd(tmp_qloop_17,_mm256_add_pd(_mm256_mul_pd(tmp_qloop_13,_mm256_set_pd(tmp_qloop_38,tmp_qloop_38,tmp_qloop_38,tmp_qloop_38)),tmp_qloop_42)),_mm256_mul_pd(tmp_qloop_16,tmp_qloop_43));
+                   const __m256d tmp_qloop_54 = _mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_12,tmp_qloop_48),tmp_qloop_50),_mm256_set_pd(1.0,1.0,1.0,1.0));
+                   const __m256d tmp_qloop_55 = _mm256_add_pd(_mm256_mul_pd(tmp_qloop_17,_mm256_add_pd(_mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(tmp_qloop_45,tmp_qloop_45,tmp_qloop_45,tmp_qloop_45)),tmp_qloop_42)),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_14,tmp_qloop_42),_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)));
+                   const __m256d tmp_qloop_56 = _mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(k_dof_1,_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q])),tmp_qloop_5)),_mm256_mul_pd(k_dof_2,_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q])),tmp_qloop_7))),_mm256_mul_pd(k_dof_3,_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q])),tmp_qloop_9))),_mm256_mul_pd(k_dof_9,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(4.0,4.0,4.0,4.0),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q])),_mm256_mul_pd(tmp_qloop_10,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(-4.0,-4.0,-4.0,-4.0))))),_mm256_mul_pd(k_dof_8,_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(4.0,4.0,4.0,4.0),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q])),_mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_3,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_6,_mm256_set_pd(-4.0,-4.0,-4.0,-4.0))))),_mm256_mul_pd(k_dof_7,_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(4.0,4.0,4.0,4.0),_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q])),_mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_3,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_8,_mm256_set_pd(-4.0,-4.0,-4.0,-4.0))))),_mm256_mul_pd(k_dof_0,_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-3.0,-3.0,-3.0,-3.0),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q])),_mm256_mul_pd(_mm256_set_pd(-3.0,-3.0,-3.0,-3.0),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q]))),_mm256_mul_pd(_mm256_set_pd(-3.0,-3.0,-3.0,-3.0),_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q]))),_mm256_set_pd(1.0,1.0,1.0,1.0)),tmp_qloop_10),tmp_qloop_3),tmp_qloop_5),tmp_qloop_7),tmp_qloop_9))),_mm256_mul_pd(k_dof_4,tmp_qloop_3)),_mm256_mul_pd(k_dof_5,tmp_qloop_2)),_mm256_mul_pd(k_dof_6,tmp_qloop_1)),_mm256_set_pd(_data_q_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q])),_mm256_castsi256_pd(_mm256_and_si256(_mm256_set1_epi64x(0x7fffffffffffffff), _mm256_castpd_si256(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_51,tmp_qloop_53),tmp_qloop_54),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_52,tmp_qloop_54),tmp_qloop_55)),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_49,tmp_qloop_50),tmp_qloop_51),tmp_qloop_52),_mm256_set_pd(1.0,1.0,1.0,1.0))),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_18,tmp_qloop_49),tmp_qloop_53),tmp_qloop_55),_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_set_pd(tmp_qloop_36,tmp_qloop_36,tmp_qloop_36,tmp_qloop_36))),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_11,tmp_qloop_12),tmp_qloop_13),tmp_qloop_18),tmp_qloop_44),tmp_qloop_46),tmp_qloop_48),_mm256_set_pd(-2.0,-2.0,-2.0,-2.0)),_mm256_set_pd(tmp_qloop_36,tmp_qloop_36,tmp_qloop_36,tmp_qloop_36)))))));
+                   const __m256d tmp_qloop_57 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 14],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 14],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 14],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 14]));
+                   const __m256d q_tmp_0_0 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q]));
+                   const __m256d q_tmp_0_1 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 1],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 1],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 1],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 1]));
+                   const __m256d q_tmp_0_2 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 2],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 2],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 2],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 2]));
+                   const __m256d q_tmp_0_3 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 3],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 3],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 3],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 3]));
+                   const __m256d q_tmp_0_4 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 4],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 4],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 4],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 4]));
+                   const __m256d q_tmp_0_5 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 5],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 5],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 5],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 5]));
+                   const __m256d q_tmp_0_6 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 6],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 6],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 6],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 6]));
+                   const __m256d q_tmp_0_7 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 7],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 7],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 7],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 7]));
+                   const __m256d q_tmp_0_8 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 8],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 8],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 8],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 8]));
+                   const __m256d q_tmp_0_9 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 9],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 9],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 9],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 9]));
+                   const __m256d q_tmp_1_0 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 10],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 10],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 10],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 10]));
+                   const __m256d q_tmp_1_1 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 11],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 11],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 11],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 11]));
+                   const __m256d q_tmp_1_2 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 12],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 12],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 12],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 12]));
+                   const __m256d q_tmp_1_3 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 13],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 13],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 13],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 13]));
+                   const __m256d q_tmp_1_4 = tmp_qloop_57;
+                   const __m256d q_tmp_1_5 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 15],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 15],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 15],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 15]));
+                   const __m256d q_tmp_1_6 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 16],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 16],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 16],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 16]));
+                   const __m256d q_tmp_1_7 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 17],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 17],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 17],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 17]));
+                   const __m256d q_tmp_1_8 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 18],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 18],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 18],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 18]));
+                   const __m256d q_tmp_1_9 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 19],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 19],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 19],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 19]));
+                   const __m256d q_tmp_2_0 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 20],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 20],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 20],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 20]));
+                   const __m256d q_tmp_2_1 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 21],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 21],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 21],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 21]));
+                   const __m256d q_tmp_2_2 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 22],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 22],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 22],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 22]));
+                   const __m256d q_tmp_2_3 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 23],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 23],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 23],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 23]));
+                   const __m256d q_tmp_2_4 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 24],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 24],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 24],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 24]));
+                   const __m256d q_tmp_2_5 = tmp_qloop_57;
+                   const __m256d q_tmp_2_6 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 25],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 25],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 25],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 25]));
+                   const __m256d q_tmp_2_7 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 26],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 26],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 26],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 26]));
+                   const __m256d q_tmp_2_8 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 27],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 27],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 27],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 27]));
+                   const __m256d q_tmp_2_9 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 28],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 28],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 28],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 28]));
+                   const __m256d q_tmp_3_0 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 29],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 29],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 29],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 29]));
+                   const __m256d q_tmp_3_1 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 30],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 30],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 30],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 30]));
+                   const __m256d q_tmp_3_2 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 31],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 31],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 31],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 31]));
+                   const __m256d q_tmp_3_3 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 32],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 32],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 32],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 32]));
+                   const __m256d q_tmp_3_4 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 33],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 33],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 33],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 33]));
+                   const __m256d q_tmp_3_5 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 34],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 34],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 34],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 34]));
+                   const __m256d q_tmp_3_6 = tmp_qloop_57;
+                   const __m256d q_tmp_3_7 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 35],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 35],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 35],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 35]));
+                   const __m256d q_tmp_3_8 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 36],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 36],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 36],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 36]));
+                   const __m256d q_tmp_3_9 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 37],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 37],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 37],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 37]));
+                   q_acc_0_0 = _mm256_add_pd(q_acc_0_0,q_tmp_0_0);
+                   q_acc_0_1 = _mm256_add_pd(q_acc_0_1,q_tmp_0_1);
+                   q_acc_0_2 = _mm256_add_pd(q_acc_0_2,q_tmp_0_2);
+                   q_acc_0_3 = _mm256_add_pd(q_acc_0_3,q_tmp_0_3);
+                   q_acc_0_4 = _mm256_add_pd(q_acc_0_4,q_tmp_0_4);
+                   q_acc_0_5 = _mm256_add_pd(q_acc_0_5,q_tmp_0_5);
+                   q_acc_0_6 = _mm256_add_pd(q_acc_0_6,q_tmp_0_6);
+                   q_acc_0_7 = _mm256_add_pd(q_acc_0_7,q_tmp_0_7);
+                   q_acc_0_8 = _mm256_add_pd(q_acc_0_8,q_tmp_0_8);
+                   q_acc_0_9 = _mm256_add_pd(q_acc_0_9,q_tmp_0_9);
+                   q_acc_1_0 = _mm256_add_pd(q_acc_1_0,q_tmp_1_0);
+                   q_acc_1_1 = _mm256_add_pd(q_acc_1_1,q_tmp_1_1);
+                   q_acc_1_2 = _mm256_add_pd(q_acc_1_2,q_tmp_1_2);
+                   q_acc_1_3 = _mm256_add_pd(q_acc_1_3,q_tmp_1_3);
+                   q_acc_1_4 = _mm256_add_pd(q_acc_1_4,q_tmp_1_4);
+                   q_acc_1_5 = _mm256_add_pd(q_acc_1_5,q_tmp_1_5);
+                   q_acc_1_6 = _mm256_add_pd(q_acc_1_6,q_tmp_1_6);
+                   q_acc_1_7 = _mm256_add_pd(q_acc_1_7,q_tmp_1_7);
+                   q_acc_1_8 = _mm256_add_pd(q_acc_1_8,q_tmp_1_8);
+                   q_acc_1_9 = _mm256_add_pd(q_acc_1_9,q_tmp_1_9);
+                   q_acc_2_0 = _mm256_add_pd(q_acc_2_0,q_tmp_2_0);
+                   q_acc_2_1 = _mm256_add_pd(q_acc_2_1,q_tmp_2_1);
+                   q_acc_2_2 = _mm256_add_pd(q_acc_2_2,q_tmp_2_2);
+                   q_acc_2_3 = _mm256_add_pd(q_acc_2_3,q_tmp_2_3);
+                   q_acc_2_4 = _mm256_add_pd(q_acc_2_4,q_tmp_2_4);
+                   q_acc_2_5 = _mm256_add_pd(q_acc_2_5,q_tmp_2_5);
+                   q_acc_2_6 = _mm256_add_pd(q_acc_2_6,q_tmp_2_6);
+                   q_acc_2_7 = _mm256_add_pd(q_acc_2_7,q_tmp_2_7);
+                   q_acc_2_8 = _mm256_add_pd(q_acc_2_8,q_tmp_2_8);
+                   q_acc_2_9 = _mm256_add_pd(q_acc_2_9,q_tmp_2_9);
+                   q_acc_3_0 = _mm256_add_pd(q_acc_3_0,q_tmp_3_0);
+                   q_acc_3_1 = _mm256_add_pd(q_acc_3_1,q_tmp_3_1);
+                   q_acc_3_2 = _mm256_add_pd(q_acc_3_2,q_tmp_3_2);
+                   q_acc_3_3 = _mm256_add_pd(q_acc_3_3,q_tmp_3_3);
+                   q_acc_3_4 = _mm256_add_pd(q_acc_3_4,q_tmp_3_4);
+                   q_acc_3_5 = _mm256_add_pd(q_acc_3_5,q_tmp_3_5);
+                   q_acc_3_6 = _mm256_add_pd(q_acc_3_6,q_tmp_3_6);
+                   q_acc_3_7 = _mm256_add_pd(q_acc_3_7,q_tmp_3_7);
+                   q_acc_3_8 = _mm256_add_pd(q_acc_3_8,q_tmp_3_8);
+                   q_acc_3_9 = _mm256_add_pd(q_acc_3_9,q_tmp_3_9);
+                }
+                const __m256d elMatVec_0 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(q_acc_0_0,src_dof_0),_mm256_mul_pd(q_acc_0_1,src_dof_1)),_mm256_mul_pd(q_acc_0_2,src_dof_2)),_mm256_mul_pd(q_acc_0_3,src_dof_3)),_mm256_mul_pd(q_acc_0_4,src_dof_4)),_mm256_mul_pd(q_acc_0_5,src_dof_5)),_mm256_mul_pd(q_acc_0_6,src_dof_6)),_mm256_mul_pd(q_acc_0_7,src_dof_7)),_mm256_mul_pd(q_acc_0_8,src_dof_8)),_mm256_mul_pd(q_acc_0_9,src_dof_9));
+                const __m256d elMatVec_1 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(q_acc_1_0,src_dof_0),_mm256_mul_pd(q_acc_1_1,src_dof_1)),_mm256_mul_pd(q_acc_1_2,src_dof_2)),_mm256_mul_pd(q_acc_1_3,src_dof_3)),_mm256_mul_pd(q_acc_1_4,src_dof_4)),_mm256_mul_pd(q_acc_1_5,src_dof_5)),_mm256_mul_pd(q_acc_1_6,src_dof_6)),_mm256_mul_pd(q_acc_1_7,src_dof_7)),_mm256_mul_pd(q_acc_1_8,src_dof_8)),_mm256_mul_pd(q_acc_1_9,src_dof_9));
+                const __m256d elMatVec_2 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(q_acc_2_0,src_dof_0),_mm256_mul_pd(q_acc_2_1,src_dof_1)),_mm256_mul_pd(q_acc_2_2,src_dof_2)),_mm256_mul_pd(q_acc_2_3,src_dof_3)),_mm256_mul_pd(q_acc_2_4,src_dof_4)),_mm256_mul_pd(q_acc_2_5,src_dof_5)),_mm256_mul_pd(q_acc_2_6,src_dof_6)),_mm256_mul_pd(q_acc_2_7,src_dof_7)),_mm256_mul_pd(q_acc_2_8,src_dof_8)),_mm256_mul_pd(q_acc_2_9,src_dof_9));
+                const __m256d elMatVec_3 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(q_acc_3_0,src_dof_0),_mm256_mul_pd(q_acc_3_1,src_dof_1)),_mm256_mul_pd(q_acc_3_2,src_dof_2)),_mm256_mul_pd(q_acc_3_3,src_dof_3)),_mm256_mul_pd(q_acc_3_4,src_dof_4)),_mm256_mul_pd(q_acc_3_5,src_dof_5)),_mm256_mul_pd(q_acc_3_6,src_dof_6)),_mm256_mul_pd(q_acc_3_7,src_dof_7)),_mm256_mul_pd(q_acc_3_8,src_dof_8)),_mm256_mul_pd(q_acc_3_9,src_dof_9));
+                _mm256_storeu_pd(&_data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))],_mm256_add_pd(elMatVec_0,_mm256_loadu_pd(& _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))])));
+                _mm256_storeu_pd(&_data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1],_mm256_add_pd(elMatVec_1,_mm256_loadu_pd(& _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1])));
+                _mm256_storeu_pd(&_data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))],_mm256_add_pd(elMatVec_2,_mm256_loadu_pd(& _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))])));
+                _mm256_storeu_pd(&_data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))],_mm256_add_pd(elMatVec_3,_mm256_loadu_pd(& _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))])));
+             }
+             for (int64_t ctr_0 = (int64_t)((-ctr_1 - ctr_2 + micro_edges_per_macro_edge) / (4)) * (4); ctr_0 < -ctr_1 - ctr_2 + micro_edges_per_macro_edge; ctr_0 += 1)
+             {
+            
+                const int64_t phantom_ctr_0 = ctr_0;
+                real_t _data_float_loop_ctr_array_dim_0[4];
+                _data_float_loop_ctr_array_dim_0[0] = (real_t) ctr_0+ 0;
+                _data_float_loop_ctr_array_dim_0[1] = (real_t) ctr_0+ 1;
+                _data_float_loop_ctr_array_dim_0[2] = (real_t) ctr_0+ 2;
+                _data_float_loop_ctr_array_dim_0[3] = (real_t) ctr_0+ 3;
+                real_t _data_float_loop_ctr_array_dim_1[4];
+                _data_float_loop_ctr_array_dim_1[0] = (real_t) ctr_1;
+                _data_float_loop_ctr_array_dim_1[1] = (real_t) ctr_1;
+                _data_float_loop_ctr_array_dim_1[2] = (real_t) ctr_1;
+                _data_float_loop_ctr_array_dim_1[3] = (real_t) ctr_1;
+                real_t _data_float_loop_ctr_array_dim_2[4];
+                _data_float_loop_ctr_array_dim_2[0] = (real_t) ctr_2;
+                _data_float_loop_ctr_array_dim_2[1] = (real_t) ctr_2;
+                _data_float_loop_ctr_array_dim_2[2] = (real_t) ctr_2;
+                _data_float_loop_ctr_array_dim_2[3] = (real_t) ctr_2;
+            
+                const real_t p_affine_0_0 = macro_vertex_coord_id_0comp0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0)*1.0*_data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0)*1.0*_data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0)*1.0*_data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0];
+                const real_t p_affine_0_1 = macro_vertex_coord_id_0comp1 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1)*1.0*_data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1)*1.0*_data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1)*1.0*_data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0];
+                const real_t p_affine_0_2 = macro_vertex_coord_id_0comp2 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2)*1.0*_data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2)*1.0*_data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2)*1.0*_data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0];
+                const real_t p_affine_1_0 = macro_vertex_coord_id_0comp0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0)*(1.0 + _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0)*1.0*_data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0)*1.0*_data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0];
+                const real_t p_affine_1_1 = macro_vertex_coord_id_0comp1 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1)*(1.0 + _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1)*1.0*_data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1)*1.0*_data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0];
+                const real_t p_affine_1_2 = macro_vertex_coord_id_0comp2 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2)*(1.0 + _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2)*1.0*_data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2)*1.0*_data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0];
+                const real_t p_affine_2_0 = macro_vertex_coord_id_0comp0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0)*1.0*_data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0)*(1.0 + _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0)*1.0*_data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0];
+                const real_t p_affine_2_1 = macro_vertex_coord_id_0comp1 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1)*1.0*_data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1)*(1.0 + _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1)*1.0*_data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0];
+                const real_t p_affine_2_2 = macro_vertex_coord_id_0comp2 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2)*1.0*_data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2)*(1.0 + _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2)*1.0*_data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0];
+                const real_t p_affine_3_0 = macro_vertex_coord_id_0comp0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0)*1.0*_data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0)*1.0*_data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0)*(1.0 + _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0])*1.0;
+                const real_t p_affine_3_1 = macro_vertex_coord_id_0comp1 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1)*1.0*_data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1)*1.0*_data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1)*(1.0 + _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0])*1.0;
+                const real_t p_affine_3_2 = macro_vertex_coord_id_0comp2 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2)*1.0*_data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2)*1.0*_data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2)*(1.0 + _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0])*1.0;
+                const real_t src_dof_0 = _data_srcVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))];
+                const real_t src_dof_1 = _data_srcVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1];
+                const real_t src_dof_2 = _data_srcVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))];
+                const real_t src_dof_3 = _data_srcVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))];
+                const real_t src_dof_4 = _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))];
+                const real_t src_dof_5 = _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 5*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))];
+                const real_t src_dof_6 = _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))];
+                const real_t src_dof_7 = _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))];
+                const real_t src_dof_8 = _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 2*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))];
+                const real_t src_dof_9 = _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))];
+                const real_t k_dof_0 = _data_kVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))];
+                const real_t k_dof_1 = _data_kVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1];
+                const real_t k_dof_2 = _data_kVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))];
+                const real_t k_dof_3 = _data_kVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))];
+                const real_t k_dof_4 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))];
+                const real_t k_dof_5 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 5*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))];
+                const real_t k_dof_6 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))];
+                const real_t k_dof_7 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))];
+                const real_t k_dof_8 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 2*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))];
+                const real_t k_dof_9 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))];
+                real_t q_acc_0_0 = 0.0;
+                real_t q_acc_0_1 = 0.0;
+                real_t q_acc_0_2 = 0.0;
+                real_t q_acc_0_3 = 0.0;
+                real_t q_acc_0_4 = 0.0;
+                real_t q_acc_0_5 = 0.0;
+                real_t q_acc_0_6 = 0.0;
+                real_t q_acc_0_7 = 0.0;
+                real_t q_acc_0_8 = 0.0;
+                real_t q_acc_0_9 = 0.0;
+                real_t q_acc_1_0 = 0.0;
+                real_t q_acc_1_1 = 0.0;
+                real_t q_acc_1_2 = 0.0;
+                real_t q_acc_1_3 = 0.0;
+                real_t q_acc_1_4 = 0.0;
+                real_t q_acc_1_5 = 0.0;
+                real_t q_acc_1_6 = 0.0;
+                real_t q_acc_1_7 = 0.0;
+                real_t q_acc_1_8 = 0.0;
+                real_t q_acc_1_9 = 0.0;
+                real_t q_acc_2_0 = 0.0;
+                real_t q_acc_2_1 = 0.0;
+                real_t q_acc_2_2 = 0.0;
+                real_t q_acc_2_3 = 0.0;
+                real_t q_acc_2_4 = 0.0;
+                real_t q_acc_2_5 = 0.0;
+                real_t q_acc_2_6 = 0.0;
+                real_t q_acc_2_7 = 0.0;
+                real_t q_acc_2_8 = 0.0;
+                real_t q_acc_2_9 = 0.0;
+                real_t q_acc_3_0 = 0.0;
+                real_t q_acc_3_1 = 0.0;
+                real_t q_acc_3_2 = 0.0;
+                real_t q_acc_3_3 = 0.0;
+                real_t q_acc_3_4 = 0.0;
+                real_t q_acc_3_5 = 0.0;
+                real_t q_acc_3_6 = 0.0;
+                real_t q_acc_3_7 = 0.0;
+                real_t q_acc_3_8 = 0.0;
+                real_t q_acc_3_9 = 0.0;
+                for (int64_t q = 0; q < 11; q += 1)
+                {
+                   const real_t tmp_qloop_0 = 4.0*_data_q_p_0[q];
+                   const real_t tmp_qloop_1 = tmp_qloop_0*_data_q_p_1[q];
+                   const real_t tmp_qloop_2 = tmp_qloop_0*_data_q_p_2[q];
+                   const real_t tmp_qloop_3 = 4.0*_data_q_p_1[q]*_data_q_p_2[q];
+                   const real_t tmp_qloop_4 = (_data_q_p_0[q]*_data_q_p_0[q]);
+                   const real_t tmp_qloop_5 = tmp_qloop_4*2.0;
+                   const real_t tmp_qloop_6 = (_data_q_p_1[q]*_data_q_p_1[q]);
+                   const real_t tmp_qloop_7 = tmp_qloop_6*2.0;
+                   const real_t tmp_qloop_8 = (_data_q_p_2[q]*_data_q_p_2[q]);
+                   const real_t tmp_qloop_9 = tmp_qloop_8*2.0;
+                   const real_t tmp_qloop_10 = tmp_qloop_1 + tmp_qloop_2;
+                   const real_t tmp_qloop_11 = p_affine_0_0 + (-p_affine_0_0 + p_affine_1_0)*_data_q_p_0[q] + (-p_affine_0_0 + p_affine_2_0)*_data_q_p_1[q] + (-p_affine_0_0 + p_affine_3_0)*_data_q_p_2[q];
+                   const real_t tmp_qloop_12 = p_affine_0_1 + (-p_affine_0_1 + p_affine_1_1)*_data_q_p_0[q] + (-p_affine_0_1 + p_affine_2_1)*_data_q_p_1[q] + (-p_affine_0_1 + p_affine_3_1)*_data_q_p_2[q];
+                   const real_t tmp_qloop_13 = p_affine_0_2 + (-p_affine_0_2 + p_affine_1_2)*_data_q_p_0[q] + (-p_affine_0_2 + p_affine_2_2)*_data_q_p_1[q] + (-p_affine_0_2 + p_affine_3_2)*_data_q_p_2[q];
+                   const real_t tmp_qloop_14 = (tmp_qloop_11*tmp_qloop_11);
+                   const real_t tmp_qloop_15 = (tmp_qloop_12*tmp_qloop_12);
+                   const real_t tmp_qloop_16 = (tmp_qloop_13*tmp_qloop_13);
+                   const real_t tmp_qloop_17 = tmp_qloop_14 + tmp_qloop_15 + tmp_qloop_16;
+                   const real_t tmp_qloop_18 = pow(tmp_qloop_17, -4.5000000000000000);
+                   const real_t tmp_qloop_39 = -tmp_qloop_13 - tmp_qloop_31;
+                   const real_t tmp_qloop_40 = -tmp_qloop_11 - tmp_qloop_20;
+                   const real_t tmp_qloop_41 = -tmp_qloop_12 - tmp_qloop_27;
+                   const real_t tmp_qloop_42 = radRayVertex*tmp_qloop_35 - tmp_qloop_37*(tmp_qloop_21*tmp_qloop_22*tmp_qloop_41 + tmp_qloop_25*tmp_qloop_32*tmp_qloop_40 - tmp_qloop_26*tmp_qloop_39 + tmp_qloop_28*tmp_qloop_29*tmp_qloop_39 - tmp_qloop_33*tmp_qloop_40 - tmp_qloop_34*tmp_qloop_41);
+                   const real_t tmp_qloop_43 = -tmp_qloop_42;
+                   const real_t tmp_qloop_44 = tmp_qloop_13*tmp_qloop_43 + tmp_qloop_17*tmp_qloop_38;
+                   const real_t tmp_qloop_46 = tmp_qloop_11*tmp_qloop_43 + tmp_qloop_17*tmp_qloop_45;
+                   const real_t tmp_qloop_48 = -tmp_qloop_12*tmp_qloop_42 - tmp_qloop_17*tmp_qloop_37*tmp_qloop_47;
+                   const real_t tmp_qloop_49 = tmp_qloop_15*tmp_qloop_43 + tmp_qloop_17*(-tmp_qloop_12*tmp_qloop_37*tmp_qloop_47 + tmp_qloop_42);
+                   const real_t tmp_qloop_50 = tmp_qloop_18*tmp_qloop_36;
+                   const real_t tmp_qloop_51 = tmp_qloop_11*tmp_qloop_46;
+                   const real_t tmp_qloop_52 = tmp_qloop_13*tmp_qloop_44;
+                   const real_t tmp_qloop_53 = tmp_qloop_16*tmp_qloop_43 + tmp_qloop_17*(tmp_qloop_13*tmp_qloop_38 + tmp_qloop_42);
+                   const real_t tmp_qloop_54 = tmp_qloop_12*tmp_qloop_48*tmp_qloop_50*1.0;
+                   const real_t tmp_qloop_55 = -tmp_qloop_14*tmp_qloop_42 + tmp_qloop_17*(tmp_qloop_11*tmp_qloop_45 + tmp_qloop_42);
+                   const real_t tmp_qloop_56 = (k_dof_0*(tmp_qloop_10 + tmp_qloop_3 + tmp_qloop_5 + tmp_qloop_7 + tmp_qloop_9 - 3.0*_data_q_p_0[q] - 3.0*_data_q_p_1[q] - 3.0*_data_q_p_2[q] + 1.0) + k_dof_1*(tmp_qloop_5 - _data_q_p_0[q]) + k_dof_2*(tmp_qloop_7 - _data_q_p_1[q]) + k_dof_3*(tmp_qloop_9 - _data_q_p_2[q]) + k_dof_4*tmp_qloop_3 + k_dof_5*tmp_qloop_2 + k_dof_6*tmp_qloop_1 + k_dof_7*(-tmp_qloop_2 - tmp_qloop_3 + tmp_qloop_8*-4.0 + 4.0*_data_q_p_2[q]) + k_dof_8*(-tmp_qloop_1 - tmp_qloop_3 + tmp_qloop_6*-4.0 + 4.0*_data_q_p_1[q]) + k_dof_9*(-tmp_qloop_10 + tmp_qloop_4*-4.0 + 4.0*_data_q_p_0[q]))*abs(tmp_qloop_11*tmp_qloop_12*tmp_qloop_13*tmp_qloop_18*tmp_qloop_36*tmp_qloop_44*tmp_qloop_46*tmp_qloop_48*-2.0 - tmp_qloop_18*tmp_qloop_36*tmp_qloop_49*tmp_qloop_53*tmp_qloop_55 + tmp_qloop_49*tmp_qloop_50*tmp_qloop_51*tmp_qloop_52*1.0 + tmp_qloop_51*tmp_qloop_53*tmp_qloop_54 + tmp_qloop_52*tmp_qloop_54*tmp_qloop_55)*_data_q_w[q];
+                   const real_t tmp_qloop_57 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 14];
+                   const real_t q_tmp_0_0 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q];
+                   const real_t q_tmp_0_1 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 1];
+                   const real_t q_tmp_0_2 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 2];
+                   const real_t q_tmp_0_3 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 3];
+                   const real_t q_tmp_0_4 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 4];
+                   const real_t q_tmp_0_5 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 5];
+                   const real_t q_tmp_0_6 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 6];
+                   const real_t q_tmp_0_7 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 7];
+                   const real_t q_tmp_0_8 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 8];
+                   const real_t q_tmp_0_9 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 9];
+                   const real_t q_tmp_1_0 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 10];
+                   const real_t q_tmp_1_1 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 11];
+                   const real_t q_tmp_1_2 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 12];
+                   const real_t q_tmp_1_3 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 13];
+                   const real_t q_tmp_1_4 = tmp_qloop_57;
+                   const real_t q_tmp_1_5 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 15];
+                   const real_t q_tmp_1_6 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 16];
+                   const real_t q_tmp_1_7 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 17];
+                   const real_t q_tmp_1_8 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 18];
+                   const real_t q_tmp_1_9 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 19];
+                   const real_t q_tmp_2_0 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 20];
+                   const real_t q_tmp_2_1 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 21];
+                   const real_t q_tmp_2_2 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 22];
+                   const real_t q_tmp_2_3 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 23];
+                   const real_t q_tmp_2_4 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 24];
+                   const real_t q_tmp_2_5 = tmp_qloop_57;
+                   const real_t q_tmp_2_6 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 25];
+                   const real_t q_tmp_2_7 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 26];
+                   const real_t q_tmp_2_8 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 27];
+                   const real_t q_tmp_2_9 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 28];
+                   const real_t q_tmp_3_0 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 29];
+                   const real_t q_tmp_3_1 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 30];
+                   const real_t q_tmp_3_2 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 31];
+                   const real_t q_tmp_3_3 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 32];
+                   const real_t q_tmp_3_4 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 33];
+                   const real_t q_tmp_3_5 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 34];
+                   const real_t q_tmp_3_6 = tmp_qloop_57;
+                   const real_t q_tmp_3_7 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 35];
+                   const real_t q_tmp_3_8 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 36];
+                   const real_t q_tmp_3_9 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 37];
+                   q_acc_0_0 = q_acc_0_0 + q_tmp_0_0;
+                   q_acc_0_1 = q_acc_0_1 + q_tmp_0_1;
+                   q_acc_0_2 = q_acc_0_2 + q_tmp_0_2;
+                   q_acc_0_3 = q_acc_0_3 + q_tmp_0_3;
+                   q_acc_0_4 = q_acc_0_4 + q_tmp_0_4;
+                   q_acc_0_5 = q_acc_0_5 + q_tmp_0_5;
+                   q_acc_0_6 = q_acc_0_6 + q_tmp_0_6;
+                   q_acc_0_7 = q_acc_0_7 + q_tmp_0_7;
+                   q_acc_0_8 = q_acc_0_8 + q_tmp_0_8;
+                   q_acc_0_9 = q_acc_0_9 + q_tmp_0_9;
+                   q_acc_1_0 = q_acc_1_0 + q_tmp_1_0;
+                   q_acc_1_1 = q_acc_1_1 + q_tmp_1_1;
+                   q_acc_1_2 = q_acc_1_2 + q_tmp_1_2;
+                   q_acc_1_3 = q_acc_1_3 + q_tmp_1_3;
+                   q_acc_1_4 = q_acc_1_4 + q_tmp_1_4;
+                   q_acc_1_5 = q_acc_1_5 + q_tmp_1_5;
+                   q_acc_1_6 = q_acc_1_6 + q_tmp_1_6;
+                   q_acc_1_7 = q_acc_1_7 + q_tmp_1_7;
+                   q_acc_1_8 = q_acc_1_8 + q_tmp_1_8;
+                   q_acc_1_9 = q_acc_1_9 + q_tmp_1_9;
+                   q_acc_2_0 = q_acc_2_0 + q_tmp_2_0;
+                   q_acc_2_1 = q_acc_2_1 + q_tmp_2_1;
+                   q_acc_2_2 = q_acc_2_2 + q_tmp_2_2;
+                   q_acc_2_3 = q_acc_2_3 + q_tmp_2_3;
+                   q_acc_2_4 = q_acc_2_4 + q_tmp_2_4;
+                   q_acc_2_5 = q_acc_2_5 + q_tmp_2_5;
+                   q_acc_2_6 = q_acc_2_6 + q_tmp_2_6;
+                   q_acc_2_7 = q_acc_2_7 + q_tmp_2_7;
+                   q_acc_2_8 = q_acc_2_8 + q_tmp_2_8;
+                   q_acc_2_9 = q_acc_2_9 + q_tmp_2_9;
+                   q_acc_3_0 = q_acc_3_0 + q_tmp_3_0;
+                   q_acc_3_1 = q_acc_3_1 + q_tmp_3_1;
+                   q_acc_3_2 = q_acc_3_2 + q_tmp_3_2;
+                   q_acc_3_3 = q_acc_3_3 + q_tmp_3_3;
+                   q_acc_3_4 = q_acc_3_4 + q_tmp_3_4;
+                   q_acc_3_5 = q_acc_3_5 + q_tmp_3_5;
+                   q_acc_3_6 = q_acc_3_6 + q_tmp_3_6;
+                   q_acc_3_7 = q_acc_3_7 + q_tmp_3_7;
+                   q_acc_3_8 = q_acc_3_8 + q_tmp_3_8;
+                   q_acc_3_9 = q_acc_3_9 + q_tmp_3_9;
+                }
+                const real_t elMatVec_0 = q_acc_0_0*src_dof_0 + q_acc_0_1*src_dof_1 + q_acc_0_2*src_dof_2 + q_acc_0_3*src_dof_3 + q_acc_0_4*src_dof_4 + q_acc_0_5*src_dof_5 + q_acc_0_6*src_dof_6 + q_acc_0_7*src_dof_7 + q_acc_0_8*src_dof_8 + q_acc_0_9*src_dof_9;
+                const real_t elMatVec_1 = q_acc_1_0*src_dof_0 + q_acc_1_1*src_dof_1 + q_acc_1_2*src_dof_2 + q_acc_1_3*src_dof_3 + q_acc_1_4*src_dof_4 + q_acc_1_5*src_dof_5 + q_acc_1_6*src_dof_6 + q_acc_1_7*src_dof_7 + q_acc_1_8*src_dof_8 + q_acc_1_9*src_dof_9;
+                const real_t elMatVec_2 = q_acc_2_0*src_dof_0 + q_acc_2_1*src_dof_1 + q_acc_2_2*src_dof_2 + q_acc_2_3*src_dof_3 + q_acc_2_4*src_dof_4 + q_acc_2_5*src_dof_5 + q_acc_2_6*src_dof_6 + q_acc_2_7*src_dof_7 + q_acc_2_8*src_dof_8 + q_acc_2_9*src_dof_9;
+                const real_t elMatVec_3 = q_acc_3_0*src_dof_0 + q_acc_3_1*src_dof_1 + q_acc_3_2*src_dof_2 + q_acc_3_3*src_dof_3 + q_acc_3_4*src_dof_4 + q_acc_3_5*src_dof_5 + q_acc_3_6*src_dof_6 + q_acc_3_7*src_dof_7 + q_acc_3_8*src_dof_8 + q_acc_3_9*src_dof_9;
+                _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))] = elMatVec_0 + _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))];
+                _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1] = elMatVec_1 + _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1];
+                _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))] = elMatVec_2 + _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))];
+                _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))] = elMatVec_3 + _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))];
+             }
+          }
+       }
+       const real_t tmp_coords_jac_0_WHITE_DOWN = 1.0 / (micro_edges_per_macro_edge_float)*1.0;
+       const real_t tmp_coords_jac_1_WHITE_DOWN = tmp_coords_jac_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0);
+       const real_t tmp_coords_jac_2_WHITE_DOWN = macro_vertex_coord_id_0comp0 + tmp_coords_jac_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0);
+       const real_t tmp_coords_jac_3_WHITE_DOWN = tmp_coords_jac_1_WHITE_DOWN + tmp_coords_jac_2_WHITE_DOWN;
+       const real_t tmp_coords_jac_4_WHITE_DOWN = tmp_coords_jac_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1);
+       const real_t tmp_coords_jac_5_WHITE_DOWN = macro_vertex_coord_id_0comp1 + tmp_coords_jac_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1);
+       const real_t tmp_coords_jac_6_WHITE_DOWN = tmp_coords_jac_4_WHITE_DOWN + tmp_coords_jac_5_WHITE_DOWN;
+       const real_t tmp_coords_jac_7_WHITE_DOWN = tmp_coords_jac_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2);
+       const real_t tmp_coords_jac_8_WHITE_DOWN = macro_vertex_coord_id_0comp2 + tmp_coords_jac_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2);
+       const real_t tmp_coords_jac_9_WHITE_DOWN = tmp_coords_jac_7_WHITE_DOWN + tmp_coords_jac_8_WHITE_DOWN;
+       const real_t tmp_coords_jac_10_WHITE_DOWN = tmp_coords_jac_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0);
+       const real_t tmp_coords_jac_11_WHITE_DOWN = tmp_coords_jac_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1);
+       const real_t tmp_coords_jac_12_WHITE_DOWN = tmp_coords_jac_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2);
+       const real_t p_affine_const_0_0_WHITE_DOWN = tmp_coords_jac_3_WHITE_DOWN;
+       const real_t p_affine_const_0_1_WHITE_DOWN = tmp_coords_jac_6_WHITE_DOWN;
+       const real_t p_affine_const_0_2_WHITE_DOWN = tmp_coords_jac_9_WHITE_DOWN;
+       const real_t p_affine_const_1_0_WHITE_DOWN = tmp_coords_jac_10_WHITE_DOWN + tmp_coords_jac_2_WHITE_DOWN;
+       const real_t p_affine_const_1_1_WHITE_DOWN = tmp_coords_jac_11_WHITE_DOWN + tmp_coords_jac_5_WHITE_DOWN;
+       const real_t p_affine_const_1_2_WHITE_DOWN = tmp_coords_jac_12_WHITE_DOWN + tmp_coords_jac_8_WHITE_DOWN;
+       const real_t p_affine_const_2_0_WHITE_DOWN = macro_vertex_coord_id_0comp0 + tmp_coords_jac_10_WHITE_DOWN + tmp_coords_jac_1_WHITE_DOWN;
+       const real_t p_affine_const_2_1_WHITE_DOWN = macro_vertex_coord_id_0comp1 + tmp_coords_jac_11_WHITE_DOWN + tmp_coords_jac_4_WHITE_DOWN;
+       const real_t p_affine_const_2_2_WHITE_DOWN = macro_vertex_coord_id_0comp2 + tmp_coords_jac_12_WHITE_DOWN + tmp_coords_jac_7_WHITE_DOWN;
+       const real_t p_affine_const_3_0_WHITE_DOWN = tmp_coords_jac_10_WHITE_DOWN + tmp_coords_jac_3_WHITE_DOWN;
+       const real_t p_affine_const_3_1_WHITE_DOWN = tmp_coords_jac_11_WHITE_DOWN + tmp_coords_jac_6_WHITE_DOWN;
+       const real_t p_affine_const_3_2_WHITE_DOWN = tmp_coords_jac_12_WHITE_DOWN + tmp_coords_jac_9_WHITE_DOWN;
+       const real_t jac_affine_0_0_WHITE_DOWN = -p_affine_const_0_0_WHITE_DOWN + p_affine_const_1_0_WHITE_DOWN;
+       const real_t jac_affine_0_1_WHITE_DOWN = -p_affine_const_0_0_WHITE_DOWN + p_affine_const_2_0_WHITE_DOWN;
+       const real_t jac_affine_0_2_WHITE_DOWN = -p_affine_const_0_0_WHITE_DOWN + p_affine_const_3_0_WHITE_DOWN;
+       const real_t jac_affine_1_0_WHITE_DOWN = -p_affine_const_0_1_WHITE_DOWN + p_affine_const_1_1_WHITE_DOWN;
+       const real_t jac_affine_1_1_WHITE_DOWN = -p_affine_const_0_1_WHITE_DOWN + p_affine_const_2_1_WHITE_DOWN;
+       const real_t jac_affine_1_2_WHITE_DOWN = -p_affine_const_0_1_WHITE_DOWN + p_affine_const_3_1_WHITE_DOWN;
+       const real_t jac_affine_2_0_WHITE_DOWN = -p_affine_const_0_2_WHITE_DOWN + p_affine_const_1_2_WHITE_DOWN;
+       const real_t jac_affine_2_1_WHITE_DOWN = -p_affine_const_0_2_WHITE_DOWN + p_affine_const_2_2_WHITE_DOWN;
+       const real_t jac_affine_2_2_WHITE_DOWN = -p_affine_const_0_2_WHITE_DOWN + p_affine_const_3_2_WHITE_DOWN;
+       const real_t abs_det_jac_affine_WHITE_DOWN = abs(jac_affine_0_0_WHITE_DOWN*jac_affine_1_1_WHITE_DOWN*jac_affine_2_2_WHITE_DOWN - jac_affine_0_0_WHITE_DOWN*jac_affine_1_2_WHITE_DOWN*jac_affine_2_1_WHITE_DOWN - jac_affine_0_1_WHITE_DOWN*jac_affine_1_0_WHITE_DOWN*jac_affine_2_2_WHITE_DOWN + jac_affine_0_1_WHITE_DOWN*jac_affine_1_2_WHITE_DOWN*jac_affine_2_0_WHITE_DOWN + jac_affine_0_2_WHITE_DOWN*jac_affine_1_0_WHITE_DOWN*jac_affine_2_1_WHITE_DOWN - jac_affine_0_2_WHITE_DOWN*jac_affine_1_1_WHITE_DOWN*jac_affine_2_0_WHITE_DOWN);
+       {
+          /* CellType.WHITE_DOWN */
+          const real_t _data_phi_psi_jac_affine_det_0_0_WHITE_DOWN [] = {((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.010749089276961213)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0013747922567553051)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.01396287204173041)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.008164600589399525)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.012151214443257608)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.019083835042434261)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.072053489056043002)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0046416810200408439)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.017525267423213611)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.027523941260433657)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.044193869792483409)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0056523290877285)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0574070354280087)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.033567987580949914)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.049958575567593019)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.078461393265588306)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.29624114484395714)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.019083835042434251)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.072053489056042974)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.11316209633188964)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.02813947970791995)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0035989968838093011)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.036552673846023863)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.021373681684931475)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.031810029988819218)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.18862506775555832)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.012151214443257601)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.045878482755592566)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.07205348905604296)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0074529241534464254)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.00095321772406372263)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0096812133204938391)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0056609585582659784)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0084250932599439499)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.013231853551815916)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0032183281481346165)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.012151214443257603)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.019083835042434251)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-2.9012262911449775e-5)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.00014612615736184792)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.00047804109319682082)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0032416491456343029)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0021116678219306132)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.00052791366753715454)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*7.0977528354966774e-5)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*9.9895812682163066e-5)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*1.3430904167093961e-5)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*3.3577051293550935e-6)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.00015331944058422371)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.00077222451657154147)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0025262763269762738)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.017130957178208683)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.011159409734644826)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0027898350580443485)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.00037509087018302439)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.00052791366753715541)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*7.0977528354966354e-5)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*1.7744271574084403e-5)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.00061328158194601311)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0030889173045236238)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.010105168244399365)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.068524255492113287)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.044637916950180538)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0015003728252777238)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0021116678219306167)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.000283911881665389)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*7.0977528354965283e-5)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0045614398903685138)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.022974618879299673)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.075159794270401023)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.50966681808331993)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.33200601647520916)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.083000987173061064)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.015706073884687172)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0021116678219306002)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.00052791366753714337)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.02118185416019976)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.040792474062018545)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.049791196691139579)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.035867609546541376)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.059688031245203839)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.021562946853404222)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.071405876738584673)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.080243884747120436)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.26572828761452333)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.095997217930328324)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.005691937733975882)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.010961657115556597)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.013379772569609637)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.009638259175114022)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.016039226535213912)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0057943440608341223)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.019188018251946451)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.021562946853404225)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0714058767385847)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.025796145274243024)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.015755757300754607)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.03034277906728966)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.037036323866953338)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.026679503441931235)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.044397913749511943)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.053114031247306501)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.059688031245203839)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.19765740883375349)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0714058767385847)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0047578795027626341)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0091628275191950465)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.011184125448277639)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0080566017962316674)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.013407157762204741)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0048434807489961713)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.018024424659562992)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.059688031245203853)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.021562946853404232)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.00015688175714697789)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0014950153325289843)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0012666972383742025)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0015490159490981592)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0062931924029516256)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0020445450956193246)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0056480276621754888)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.00013641635559728395)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.00037684830314454006)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0001224312400849633)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.002351271046368435)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.022406596720860313)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.018984670973016902)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.023215932927530856)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.094319450236798913)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.030642694050274453)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.084650020197820364)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0020445450956193168)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0056480276621755114)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0018349426677638542)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0072373072709378001)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.068968409922504109)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.058435584226493004)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.071459579463428277)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.29031907828914638)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.26055618198886238)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0062931924029516022)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.017384857321768536)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0056480276621755391)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0026198528001873307)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.024966064738678271)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.021153258143552994)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.025867850064795264)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.10509340307518385)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.034142957672569287)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0022780900577755898)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0062931924029516507)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0020445450956193428)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0016747236096797923)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.022395383667253931)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0010823709889014185)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0036990864559166563)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.00050834301173610229)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.015588264867481133)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0037476086033569342)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.00081420248681843786)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.00019574418772167287)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0060024671806827717)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.032063320402672957)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.42876947450525699)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.020722468836717273)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.070820637834037012)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.009732450635762396)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.29844418988237825)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.071749615697017544)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.015588264867481126)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0037476086033569277)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.1149198753205366)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0010456048186450997)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.013982439217157605)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.00067577259615595462)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0023095050434207478)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.00031738126788423253)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0023397995892677865)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.00050834301173610208)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.00012221184720903605)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0037476086033569355)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0043492174836919605)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.058160280082415236)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0028108917803285017)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0096064397699850354)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0013201547416997409)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.040482354049473784)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0021144645423690485)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.00050834301173610142)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.015588264867481138)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0068956855714663416)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.010091290281029655)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0080216243244021178)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0035198334831929206)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.018978279386089755)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.056811998632973766)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.01396686284573566)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.015485631440181358)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0038070424489360009)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.01139648574059631)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.025298140458325055)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.037021827096001436)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.029428861968758362)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.012913181862031289)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.069625445155635055)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.20842567519062763)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.051240105769272605)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.056811998632973738)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.013966862845735664)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.041810186095187066)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0084509467915105906)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.012367292031926986)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0098308311254096271)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0043137009617327136)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.023258663351751644)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.017116965895609845)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.018978279386089748)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0046656873831529451)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.01396686284573564)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.034375305526338835)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.050305540032273111)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.039988161309129681)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.017546529657219402)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.094607584046545581)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.28321039153111127)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.077196575526473174)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.018978279386089758)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.056811998632973676)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.036989007988906066)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.024350339729610097)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.022721604194642659)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0020718315986862396)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.053354679030800815)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.058170268354931241)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0093518161026560475)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.22863973450271471)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.036757553494219546)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.040075149727639509)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0094107024991835538)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0061951865002202629)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.005780805406949952)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.00052711310369534133)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.013574438423676774)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.014799615333023134)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0023792787088414437)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.058170268354931248)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.009351816102656051)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.010195875266786407)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0086316433720857837)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0056823218562164577)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0053022450428696702)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.00048347637471763576)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.012450687019346486)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0021823116073744556)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.053354679030800829)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0085776318491057792)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0093518161026560475)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.053690642094179834)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.035345240285608669)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.032981082352521167)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0030073250106582576)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.077445898974953548)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.084435869696849797)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.3318773554937019)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.053354679030800836)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.058170268354931241)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.2830869924348563)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.050308558644386672)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.041516821634179475)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.06274193203760102)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.020160825588817252)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.025383152182066201)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.015152528090816651)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.23919668259056145)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.14278898169094956)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.17977609281010931)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.030040718507945225)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0053386601615906274)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0044056957238823311)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0066580689659201985)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.002139433116273644)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0026936176861649991)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0016079609562587173)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.025383152182066195)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.015152528090816651)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.019077538505445499)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.023860144794362503)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0042402848796628178)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0034992684300787832)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0052882386796338152)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0016992664113091131)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0012771392678196903)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.020160825588817249)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.012035048833865587)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.01515252809081665)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.039969943152159265)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0071032236832497221)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0058618906729116316)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0088587307923610938)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0028465703978647464)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0035839271208240476)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.033772932211040815)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.020160825588817245)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.025383152182066191)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.014935575584147695)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.007791142568055953)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0073254854313094774)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.015186461110532538)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.090150328303510344)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.012455650259246793)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.015731589118882311)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.029517331411893867)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.037280633286332542)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0051508911658584714)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0063024771210085937)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0032876870064389215)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0030911901634452068)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0064083451728372039)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.038041411821271319)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0052560043865672946)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0066383769370158769)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.012455650259246798)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.015731589118882314)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0021735602717637636)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.045615473279886819)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.023795310306631609)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.022373124026687209)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.046381715060167777)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.27533253531028662)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.048046617223388682)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.090150328303510385)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.11386060898348732)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.015731589118882311)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.036116528170846006)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.018840185867421855)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.017714155002223078)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.036723208116341576)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.21799741519439725)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.030119685775736597)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.07137746553252089)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.090150328303510371)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.012455650259246793)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.032896921427909828)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.020934012679446525)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.020127575524041673)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.033499901528319088)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0098838942808698073)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.075244795478138254)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.040011251730840761)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.067458477890573201)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.035870894765649017)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.27308043404340754)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.036694010925042916)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.023350297128803515)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.022450777887903339)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.037366589313281677)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.011024731463671476)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.083929839859876898)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.044629504659074608)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.075244795478138254)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.040011251730840761)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.30460043053460045)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0048199974818136015)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0030672137093527801)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0029490559946009505)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0049083450365209726)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0014481703295155801)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.005862376301973493)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0098838942808698056)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0052557386811928905)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.040011251730840761)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.009064443351184925)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.005768174157623188)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0055459678357496689)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.009230588957667556)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0027234159279729726)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.020733009548559916)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.018587561536304909)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0098838942808698056)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.075244795478138254)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.012773605317404142)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0093099638314587951)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.055932196812816262)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0011391519589580709)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0035913578872906952)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.00039530708258920854)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.034759025419540214)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.00061078662356131824)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.053705963564394235)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0059115099192464755)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0082672024196058687)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0060254997396084128)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.036199865373541695)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.00073727030054430856)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0023243619853375876)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.00025584661404999347)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.022496381554864123)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.00039530708258920833)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.034759025419540221)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0038259870955407193)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.075107388466231287)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.054741559075980606)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.32887513974352289)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.006698087703317224)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.02111678772433076)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.20437923045390871)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0035913578872906935)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.31578513412249021)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.034759025419540214)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.00085418052598187596)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.00062256423341908954)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0037402277670030831)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-7.6175942132039452e-5)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.00024015678369014598)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*2.6434479799555231e-5)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*4.0843757608938361e-5)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0035913578872906957)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.00039530708258920849))};
+      
+          for (int64_t ctr_2 = 0; ctr_2 < micro_edges_per_macro_edge; ctr_2 += 1)
+          for (int64_t ctr_1 = 0; ctr_1 < -ctr_2 + micro_edges_per_macro_edge; ctr_1 += 1)
+          {
+             for (int64_t ctr_0 = 0; ctr_0 < (int64_t)((-ctr_1 - ctr_2 + micro_edges_per_macro_edge - 2) / (4)) * (4); ctr_0 += 4)
+             {
+            
+                const int64_t phantom_ctr_0 = ctr_0;
+                real_t _data_float_loop_ctr_array_dim_0[4];
+                _data_float_loop_ctr_array_dim_0[0] = (real_t) ctr_0+ 0;
+                _data_float_loop_ctr_array_dim_0[1] = (real_t) ctr_0+ 1;
+                _data_float_loop_ctr_array_dim_0[2] = (real_t) ctr_0+ 2;
+                _data_float_loop_ctr_array_dim_0[3] = (real_t) ctr_0+ 3;
+                real_t _data_float_loop_ctr_array_dim_1[4];
+                _data_float_loop_ctr_array_dim_1[0] = (real_t) ctr_1;
+                _data_float_loop_ctr_array_dim_1[1] = (real_t) ctr_1;
+                _data_float_loop_ctr_array_dim_1[2] = (real_t) ctr_1;
+                _data_float_loop_ctr_array_dim_1[3] = (real_t) ctr_1;
+                real_t _data_float_loop_ctr_array_dim_2[4];
+                _data_float_loop_ctr_array_dim_2[0] = (real_t) ctr_2;
+                _data_float_loop_ctr_array_dim_2[1] = (real_t) ctr_2;
+                _data_float_loop_ctr_array_dim_2[2] = (real_t) ctr_2;
+                _data_float_loop_ctr_array_dim_2[3] = (real_t) ctr_2;
+            
+                const __m256d p_affine_0_0 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0)),_mm256_set_pd(macro_vertex_coord_id_1comp0,macro_vertex_coord_id_1comp0,macro_vertex_coord_id_1comp0,macro_vertex_coord_id_1comp0)),_mm256_add_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0)),_mm256_set_pd(macro_vertex_coord_id_2comp0,macro_vertex_coord_id_2comp0,macro_vertex_coord_id_2comp0,macro_vertex_coord_id_2comp0)),_mm256_add_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float)))),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0)),_mm256_set_pd(macro_vertex_coord_id_3comp0,macro_vertex_coord_id_3comp0,macro_vertex_coord_id_3comp0,macro_vertex_coord_id_3comp0)),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0));
+                const __m256d p_affine_0_1 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1)),_mm256_set_pd(macro_vertex_coord_id_1comp1,macro_vertex_coord_id_1comp1,macro_vertex_coord_id_1comp1,macro_vertex_coord_id_1comp1)),_mm256_add_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1)),_mm256_set_pd(macro_vertex_coord_id_2comp1,macro_vertex_coord_id_2comp1,macro_vertex_coord_id_2comp1,macro_vertex_coord_id_2comp1)),_mm256_add_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float)))),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1)),_mm256_set_pd(macro_vertex_coord_id_3comp1,macro_vertex_coord_id_3comp1,macro_vertex_coord_id_3comp1,macro_vertex_coord_id_3comp1)),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1));
+                const __m256d p_affine_0_2 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2)),_mm256_set_pd(macro_vertex_coord_id_1comp2,macro_vertex_coord_id_1comp2,macro_vertex_coord_id_1comp2,macro_vertex_coord_id_1comp2)),_mm256_add_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2)),_mm256_set_pd(macro_vertex_coord_id_2comp2,macro_vertex_coord_id_2comp2,macro_vertex_coord_id_2comp2,macro_vertex_coord_id_2comp2)),_mm256_add_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float)))),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2)),_mm256_set_pd(macro_vertex_coord_id_3comp2,macro_vertex_coord_id_3comp2,macro_vertex_coord_id_3comp2,macro_vertex_coord_id_3comp2)),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2));
+                const __m256d p_affine_1_0 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0)),_mm256_set_pd(macro_vertex_coord_id_1comp0,macro_vertex_coord_id_1comp0,macro_vertex_coord_id_1comp0,macro_vertex_coord_id_1comp0)),_mm256_add_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0)),_mm256_set_pd(macro_vertex_coord_id_2comp0,macro_vertex_coord_id_2comp0,macro_vertex_coord_id_2comp0,macro_vertex_coord_id_2comp0)),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0]))),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0)),_mm256_set_pd(macro_vertex_coord_id_3comp0,macro_vertex_coord_id_3comp0,macro_vertex_coord_id_3comp0,macro_vertex_coord_id_3comp0)),_mm256_add_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float)))),_mm256_set_pd(macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0));
+                const __m256d p_affine_1_1 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1)),_mm256_set_pd(macro_vertex_coord_id_1comp1,macro_vertex_coord_id_1comp1,macro_vertex_coord_id_1comp1,macro_vertex_coord_id_1comp1)),_mm256_add_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1)),_mm256_set_pd(macro_vertex_coord_id_2comp1,macro_vertex_coord_id_2comp1,macro_vertex_coord_id_2comp1,macro_vertex_coord_id_2comp1)),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0]))),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1)),_mm256_set_pd(macro_vertex_coord_id_3comp1,macro_vertex_coord_id_3comp1,macro_vertex_coord_id_3comp1,macro_vertex_coord_id_3comp1)),_mm256_add_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float)))),_mm256_set_pd(macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1));
+                const __m256d p_affine_1_2 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2)),_mm256_set_pd(macro_vertex_coord_id_1comp2,macro_vertex_coord_id_1comp2,macro_vertex_coord_id_1comp2,macro_vertex_coord_id_1comp2)),_mm256_add_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2)),_mm256_set_pd(macro_vertex_coord_id_2comp2,macro_vertex_coord_id_2comp2,macro_vertex_coord_id_2comp2,macro_vertex_coord_id_2comp2)),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0]))),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2)),_mm256_set_pd(macro_vertex_coord_id_3comp2,macro_vertex_coord_id_3comp2,macro_vertex_coord_id_3comp2,macro_vertex_coord_id_3comp2)),_mm256_add_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float)))),_mm256_set_pd(macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2));
+                const __m256d p_affine_2_0 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0)),_mm256_set_pd(macro_vertex_coord_id_1comp0,macro_vertex_coord_id_1comp0,macro_vertex_coord_id_1comp0,macro_vertex_coord_id_1comp0)),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0)),_mm256_set_pd(macro_vertex_coord_id_2comp0,macro_vertex_coord_id_2comp0,macro_vertex_coord_id_2comp0,macro_vertex_coord_id_2comp0)),_mm256_add_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float)))),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0)),_mm256_set_pd(macro_vertex_coord_id_3comp0,macro_vertex_coord_id_3comp0,macro_vertex_coord_id_3comp0,macro_vertex_coord_id_3comp0)),_mm256_add_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float)))),_mm256_set_pd(macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0));
+                const __m256d p_affine_2_1 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1)),_mm256_set_pd(macro_vertex_coord_id_1comp1,macro_vertex_coord_id_1comp1,macro_vertex_coord_id_1comp1,macro_vertex_coord_id_1comp1)),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1)),_mm256_set_pd(macro_vertex_coord_id_2comp1,macro_vertex_coord_id_2comp1,macro_vertex_coord_id_2comp1,macro_vertex_coord_id_2comp1)),_mm256_add_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float)))),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1)),_mm256_set_pd(macro_vertex_coord_id_3comp1,macro_vertex_coord_id_3comp1,macro_vertex_coord_id_3comp1,macro_vertex_coord_id_3comp1)),_mm256_add_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float)))),_mm256_set_pd(macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1));
+                const __m256d p_affine_2_2 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2)),_mm256_set_pd(macro_vertex_coord_id_1comp2,macro_vertex_coord_id_1comp2,macro_vertex_coord_id_1comp2,macro_vertex_coord_id_1comp2)),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2)),_mm256_set_pd(macro_vertex_coord_id_2comp2,macro_vertex_coord_id_2comp2,macro_vertex_coord_id_2comp2,macro_vertex_coord_id_2comp2)),_mm256_add_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float)))),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2)),_mm256_set_pd(macro_vertex_coord_id_3comp2,macro_vertex_coord_id_3comp2,macro_vertex_coord_id_3comp2,macro_vertex_coord_id_3comp2)),_mm256_add_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float)))),_mm256_set_pd(macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2));
+                const __m256d p_affine_3_0 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0)),_mm256_set_pd(macro_vertex_coord_id_1comp0,macro_vertex_coord_id_1comp0,macro_vertex_coord_id_1comp0,macro_vertex_coord_id_1comp0)),_mm256_add_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0)),_mm256_set_pd(macro_vertex_coord_id_2comp0,macro_vertex_coord_id_2comp0,macro_vertex_coord_id_2comp0,macro_vertex_coord_id_2comp0)),_mm256_add_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float)))),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0)),_mm256_set_pd(macro_vertex_coord_id_3comp0,macro_vertex_coord_id_3comp0,macro_vertex_coord_id_3comp0,macro_vertex_coord_id_3comp0)),_mm256_add_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float)))),_mm256_set_pd(macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0));
+                const __m256d p_affine_3_1 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1)),_mm256_set_pd(macro_vertex_coord_id_1comp1,macro_vertex_coord_id_1comp1,macro_vertex_coord_id_1comp1,macro_vertex_coord_id_1comp1)),_mm256_add_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1)),_mm256_set_pd(macro_vertex_coord_id_2comp1,macro_vertex_coord_id_2comp1,macro_vertex_coord_id_2comp1,macro_vertex_coord_id_2comp1)),_mm256_add_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float)))),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1)),_mm256_set_pd(macro_vertex_coord_id_3comp1,macro_vertex_coord_id_3comp1,macro_vertex_coord_id_3comp1,macro_vertex_coord_id_3comp1)),_mm256_add_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float)))),_mm256_set_pd(macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1));
+                const __m256d p_affine_3_2 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2)),_mm256_set_pd(macro_vertex_coord_id_1comp2,macro_vertex_coord_id_1comp2,macro_vertex_coord_id_1comp2,macro_vertex_coord_id_1comp2)),_mm256_add_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2)),_mm256_set_pd(macro_vertex_coord_id_2comp2,macro_vertex_coord_id_2comp2,macro_vertex_coord_id_2comp2,macro_vertex_coord_id_2comp2)),_mm256_add_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float)))),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2)),_mm256_set_pd(macro_vertex_coord_id_3comp2,macro_vertex_coord_id_3comp2,macro_vertex_coord_id_3comp2,macro_vertex_coord_id_3comp2)),_mm256_add_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float)))),_mm256_set_pd(macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2));
+                const __m256d src_dof_0 = _mm256_loadu_pd(& _data_srcVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]);
+                const __m256d src_dof_1 = _mm256_loadu_pd(& _data_srcVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]);
+                const __m256d src_dof_2 = _mm256_loadu_pd(& _data_srcVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]);
+                const __m256d src_dof_3 = _mm256_loadu_pd(& _data_srcVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]);
+                const __m256d src_dof_4 = _mm256_loadu_pd(& _data_srcEdge[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]);
+                const __m256d src_dof_5 = _mm256_loadu_pd(& _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + 2*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6)) + 1]);
+                const __m256d src_dof_6 = _mm256_loadu_pd(& _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]);
+                const __m256d src_dof_7 = _mm256_loadu_pd(& _data_srcEdge[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1]);
+                const __m256d src_dof_8 = _mm256_loadu_pd(& _data_srcEdge[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 5*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]);
+                const __m256d src_dof_9 = _mm256_loadu_pd(& _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1]);
+                const __m256d k_dof_0 = _mm256_loadu_pd(& _data_kVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]);
+                const __m256d k_dof_1 = _mm256_loadu_pd(& _data_kVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]);
+                const __m256d k_dof_2 = _mm256_loadu_pd(& _data_kVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]);
+                const __m256d k_dof_3 = _mm256_loadu_pd(& _data_kVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]);
+                const __m256d k_dof_4 = _mm256_loadu_pd(& _data_kEdge[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]);
+                const __m256d k_dof_5 = _mm256_loadu_pd(& _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + 2*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6)) + 1]);
+                const __m256d k_dof_6 = _mm256_loadu_pd(& _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]);
+                const __m256d k_dof_7 = _mm256_loadu_pd(& _data_kEdge[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1]);
+                const __m256d k_dof_8 = _mm256_loadu_pd(& _data_kEdge[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 5*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]);
+                const __m256d k_dof_9 = _mm256_loadu_pd(& _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1]);
+                __m256d q_acc_0_0 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_0_1 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_0_2 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_0_3 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_0_4 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_0_5 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_0_6 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_0_7 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_0_8 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_0_9 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_1_0 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_1_1 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_1_2 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_1_3 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_1_4 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_1_5 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_1_6 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_1_7 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_1_8 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_1_9 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_2_0 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_2_1 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_2_2 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_2_3 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_2_4 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_2_5 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_2_6 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_2_7 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_2_8 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_2_9 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_3_0 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_3_1 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_3_2 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_3_3 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_3_4 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_3_5 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_3_6 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_3_7 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_3_8 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_3_9 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                for (int64_t q = 0; q < 11; q += 1)
+                {
+                   const __m256d tmp_qloop_0 = _mm256_mul_pd(_mm256_set_pd(4.0,4.0,4.0,4.0),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q]));
+                   const __m256d tmp_qloop_1 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q]));
+                   const __m256d tmp_qloop_2 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q]));
+                   const __m256d tmp_qloop_3 = _mm256_mul_pd(_mm256_mul_pd(_mm256_set_pd(4.0,4.0,4.0,4.0),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q])),_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q]));
+                   const __m256d tmp_qloop_4 = _mm256_mul_pd(_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q]),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q]));
+                   const __m256d tmp_qloop_5 = _mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(2.0,2.0,2.0,2.0));
+                   const __m256d tmp_qloop_6 = _mm256_mul_pd(_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q]),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q]));
+                   const __m256d tmp_qloop_7 = _mm256_mul_pd(tmp_qloop_6,_mm256_set_pd(2.0,2.0,2.0,2.0));
+                   const __m256d tmp_qloop_8 = _mm256_mul_pd(_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q]),_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q]));
+                   const __m256d tmp_qloop_9 = _mm256_mul_pd(tmp_qloop_8,_mm256_set_pd(2.0,2.0,2.0,2.0));
+                   const __m256d tmp_qloop_10 = _mm256_add_pd(tmp_qloop_1,tmp_qloop_2);
+                   const __m256d tmp_qloop_11 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(p_affine_0_0,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),p_affine_1_0),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q])),_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(p_affine_0_0,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),p_affine_2_0),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q]))),_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(p_affine_0_0,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),p_affine_3_0),_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q]))),p_affine_0_0);
+                   const __m256d tmp_qloop_12 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(p_affine_0_1,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),p_affine_1_1),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q])),_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(p_affine_0_1,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),p_affine_2_1),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q]))),_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(p_affine_0_1,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),p_affine_3_1),_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q]))),p_affine_0_1);
+                   const __m256d tmp_qloop_13 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(p_affine_0_2,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),p_affine_1_2),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q])),_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(p_affine_0_2,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),p_affine_2_2),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q]))),_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(p_affine_0_2,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),p_affine_3_2),_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q]))),p_affine_0_2);
+                   const __m256d tmp_qloop_14 = _mm256_mul_pd(tmp_qloop_11,tmp_qloop_11);
+                   const __m256d tmp_qloop_15 = _mm256_mul_pd(tmp_qloop_12,tmp_qloop_12);
+                   const __m256d tmp_qloop_16 = _mm256_mul_pd(tmp_qloop_13,tmp_qloop_13);
+                   const __m256d tmp_qloop_17 = _mm256_add_pd(_mm256_add_pd(tmp_qloop_14,tmp_qloop_15),tmp_qloop_16);
+                   const __m256d tmp_qloop_18 = _mm256_div_pd(_mm256_sqrt_pd(tmp_qloop_17),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_17,tmp_qloop_17),tmp_qloop_17),tmp_qloop_17),tmp_qloop_17));
+                   const __m256d tmp_qloop_39 = _mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_31,tmp_qloop_31,tmp_qloop_31,tmp_qloop_31)),_mm256_mul_pd(tmp_qloop_13,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)));
+                   const __m256d tmp_qloop_40 = _mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_20,tmp_qloop_20,tmp_qloop_20,tmp_qloop_20)),_mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)));
+                   const __m256d tmp_qloop_41 = _mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_27,tmp_qloop_27,tmp_qloop_27,tmp_qloop_27)),_mm256_mul_pd(tmp_qloop_12,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)));
+                   const __m256d tmp_qloop_42 = _mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(radRayVertex,radRayVertex,radRayVertex,radRayVertex),_mm256_set_pd(tmp_qloop_35,tmp_qloop_35,tmp_qloop_35,tmp_qloop_35)),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_39,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_set_pd(tmp_qloop_26,tmp_qloop_26,tmp_qloop_26,tmp_qloop_26)),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_40,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_set_pd(tmp_qloop_33,tmp_qloop_33,tmp_qloop_33,tmp_qloop_33))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_41,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_set_pd(tmp_qloop_34,tmp_qloop_34,tmp_qloop_34,tmp_qloop_34))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_41,_mm256_set_pd(tmp_qloop_21,tmp_qloop_21,tmp_qloop_21,tmp_qloop_21)),_mm256_set_pd(tmp_qloop_22,tmp_qloop_22,tmp_qloop_22,tmp_qloop_22))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_40,_mm256_set_pd(tmp_qloop_25,tmp_qloop_25,tmp_qloop_25,tmp_qloop_25)),_mm256_set_pd(tmp_qloop_32,tmp_qloop_32,tmp_qloop_32,tmp_qloop_32))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_39,_mm256_set_pd(tmp_qloop_28,tmp_qloop_28,tmp_qloop_28,tmp_qloop_28)),_mm256_set_pd(tmp_qloop_29,tmp_qloop_29,tmp_qloop_29,tmp_qloop_29))),_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_set_pd(tmp_qloop_37,tmp_qloop_37,tmp_qloop_37,tmp_qloop_37)));
+                   const __m256d tmp_qloop_43 = _mm256_mul_pd(tmp_qloop_42,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0));
+                   const __m256d tmp_qloop_44 = _mm256_add_pd(_mm256_mul_pd(tmp_qloop_17,_mm256_set_pd(tmp_qloop_38,tmp_qloop_38,tmp_qloop_38,tmp_qloop_38)),_mm256_mul_pd(tmp_qloop_13,tmp_qloop_43));
+                   const __m256d tmp_qloop_46 = _mm256_add_pd(_mm256_mul_pd(tmp_qloop_17,_mm256_set_pd(tmp_qloop_45,tmp_qloop_45,tmp_qloop_45,tmp_qloop_45)),_mm256_mul_pd(tmp_qloop_11,tmp_qloop_43));
+                   const __m256d tmp_qloop_48 = _mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_12,tmp_qloop_42),_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_17,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_set_pd(tmp_qloop_37,tmp_qloop_37,tmp_qloop_37,tmp_qloop_37)),_mm256_set_pd(tmp_qloop_47,tmp_qloop_47,tmp_qloop_47,tmp_qloop_47)));
+                   const __m256d tmp_qloop_49 = _mm256_add_pd(_mm256_mul_pd(tmp_qloop_17,_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_12,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_set_pd(tmp_qloop_37,tmp_qloop_37,tmp_qloop_37,tmp_qloop_37)),_mm256_set_pd(tmp_qloop_47,tmp_qloop_47,tmp_qloop_47,tmp_qloop_47)),tmp_qloop_42)),_mm256_mul_pd(tmp_qloop_15,tmp_qloop_43));
+                   const __m256d tmp_qloop_50 = _mm256_mul_pd(tmp_qloop_18,_mm256_set_pd(tmp_qloop_36,tmp_qloop_36,tmp_qloop_36,tmp_qloop_36));
+                   const __m256d tmp_qloop_51 = _mm256_mul_pd(tmp_qloop_11,tmp_qloop_46);
+                   const __m256d tmp_qloop_52 = _mm256_mul_pd(tmp_qloop_13,tmp_qloop_44);
+                   const __m256d tmp_qloop_53 = _mm256_add_pd(_mm256_mul_pd(tmp_qloop_17,_mm256_add_pd(_mm256_mul_pd(tmp_qloop_13,_mm256_set_pd(tmp_qloop_38,tmp_qloop_38,tmp_qloop_38,tmp_qloop_38)),tmp_qloop_42)),_mm256_mul_pd(tmp_qloop_16,tmp_qloop_43));
+                   const __m256d tmp_qloop_54 = _mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_12,tmp_qloop_48),tmp_qloop_50),_mm256_set_pd(1.0,1.0,1.0,1.0));
+                   const __m256d tmp_qloop_55 = _mm256_add_pd(_mm256_mul_pd(tmp_qloop_17,_mm256_add_pd(_mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(tmp_qloop_45,tmp_qloop_45,tmp_qloop_45,tmp_qloop_45)),tmp_qloop_42)),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_14,tmp_qloop_42),_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)));
+                   const __m256d tmp_qloop_56 = _mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(k_dof_1,_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q])),tmp_qloop_5)),_mm256_mul_pd(k_dof_2,_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q])),tmp_qloop_7))),_mm256_mul_pd(k_dof_3,_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q])),tmp_qloop_9))),_mm256_mul_pd(k_dof_9,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(4.0,4.0,4.0,4.0),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q])),_mm256_mul_pd(tmp_qloop_10,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(-4.0,-4.0,-4.0,-4.0))))),_mm256_mul_pd(k_dof_8,_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(4.0,4.0,4.0,4.0),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q])),_mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_3,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_6,_mm256_set_pd(-4.0,-4.0,-4.0,-4.0))))),_mm256_mul_pd(k_dof_7,_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(4.0,4.0,4.0,4.0),_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q])),_mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_3,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_8,_mm256_set_pd(-4.0,-4.0,-4.0,-4.0))))),_mm256_mul_pd(k_dof_0,_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-3.0,-3.0,-3.0,-3.0),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q])),_mm256_mul_pd(_mm256_set_pd(-3.0,-3.0,-3.0,-3.0),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q]))),_mm256_mul_pd(_mm256_set_pd(-3.0,-3.0,-3.0,-3.0),_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q]))),_mm256_set_pd(1.0,1.0,1.0,1.0)),tmp_qloop_10),tmp_qloop_3),tmp_qloop_5),tmp_qloop_7),tmp_qloop_9))),_mm256_mul_pd(k_dof_4,tmp_qloop_3)),_mm256_mul_pd(k_dof_5,tmp_qloop_2)),_mm256_mul_pd(k_dof_6,tmp_qloop_1)),_mm256_set_pd(_data_q_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q])),_mm256_castsi256_pd(_mm256_and_si256(_mm256_set1_epi64x(0x7fffffffffffffff), _mm256_castpd_si256(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_51,tmp_qloop_53),tmp_qloop_54),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_52,tmp_qloop_54),tmp_qloop_55)),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_49,tmp_qloop_50),tmp_qloop_51),tmp_qloop_52),_mm256_set_pd(1.0,1.0,1.0,1.0))),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_18,tmp_qloop_49),tmp_qloop_53),tmp_qloop_55),_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_set_pd(tmp_qloop_36,tmp_qloop_36,tmp_qloop_36,tmp_qloop_36))),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_11,tmp_qloop_12),tmp_qloop_13),tmp_qloop_18),tmp_qloop_44),tmp_qloop_46),tmp_qloop_48),_mm256_set_pd(-2.0,-2.0,-2.0,-2.0)),_mm256_set_pd(tmp_qloop_36,tmp_qloop_36,tmp_qloop_36,tmp_qloop_36)))))));
+                   const __m256d tmp_qloop_57 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 14],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 14],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 14],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 14]));
+                   const __m256d q_tmp_0_0 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q]));
+                   const __m256d q_tmp_0_1 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 1],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 1],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 1],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 1]));
+                   const __m256d q_tmp_0_2 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 2],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 2],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 2],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 2]));
+                   const __m256d q_tmp_0_3 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 3],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 3],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 3],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 3]));
+                   const __m256d q_tmp_0_4 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 4],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 4],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 4],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 4]));
+                   const __m256d q_tmp_0_5 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 5],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 5],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 5],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 5]));
+                   const __m256d q_tmp_0_6 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 6],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 6],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 6],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 6]));
+                   const __m256d q_tmp_0_7 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 7],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 7],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 7],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 7]));
+                   const __m256d q_tmp_0_8 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 8],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 8],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 8],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 8]));
+                   const __m256d q_tmp_0_9 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 9],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 9],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 9],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 9]));
+                   const __m256d q_tmp_1_0 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 10],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 10],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 10],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 10]));
+                   const __m256d q_tmp_1_1 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 11],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 11],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 11],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 11]));
+                   const __m256d q_tmp_1_2 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 12],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 12],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 12],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 12]));
+                   const __m256d q_tmp_1_3 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 13],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 13],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 13],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 13]));
+                   const __m256d q_tmp_1_4 = tmp_qloop_57;
+                   const __m256d q_tmp_1_5 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 15],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 15],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 15],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 15]));
+                   const __m256d q_tmp_1_6 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 16],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 16],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 16],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 16]));
+                   const __m256d q_tmp_1_7 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 17],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 17],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 17],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 17]));
+                   const __m256d q_tmp_1_8 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 18],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 18],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 18],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 18]));
+                   const __m256d q_tmp_1_9 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 19],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 19],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 19],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 19]));
+                   const __m256d q_tmp_2_0 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 20],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 20],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 20],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 20]));
+                   const __m256d q_tmp_2_1 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 21],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 21],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 21],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 21]));
+                   const __m256d q_tmp_2_2 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 22],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 22],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 22],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 22]));
+                   const __m256d q_tmp_2_3 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 23],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 23],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 23],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 23]));
+                   const __m256d q_tmp_2_4 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 24],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 24],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 24],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 24]));
+                   const __m256d q_tmp_2_5 = tmp_qloop_57;
+                   const __m256d q_tmp_2_6 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 25],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 25],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 25],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 25]));
+                   const __m256d q_tmp_2_7 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 26],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 26],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 26],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 26]));
+                   const __m256d q_tmp_2_8 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 27],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 27],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 27],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 27]));
+                   const __m256d q_tmp_2_9 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 28],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 28],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 28],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 28]));
+                   const __m256d q_tmp_3_0 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 29],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 29],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 29],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 29]));
+                   const __m256d q_tmp_3_1 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 30],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 30],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 30],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 30]));
+                   const __m256d q_tmp_3_2 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 31],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 31],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 31],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 31]));
+                   const __m256d q_tmp_3_3 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 32],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 32],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 32],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 32]));
+                   const __m256d q_tmp_3_4 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 33],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 33],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 33],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 33]));
+                   const __m256d q_tmp_3_5 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 34],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 34],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 34],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 34]));
+                   const __m256d q_tmp_3_6 = tmp_qloop_57;
+                   const __m256d q_tmp_3_7 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 35],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 35],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 35],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 35]));
+                   const __m256d q_tmp_3_8 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 36],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 36],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 36],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 36]));
+                   const __m256d q_tmp_3_9 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 37],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 37],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 37],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 37]));
+                   q_acc_0_0 = _mm256_add_pd(q_acc_0_0,q_tmp_0_0);
+                   q_acc_0_1 = _mm256_add_pd(q_acc_0_1,q_tmp_0_1);
+                   q_acc_0_2 = _mm256_add_pd(q_acc_0_2,q_tmp_0_2);
+                   q_acc_0_3 = _mm256_add_pd(q_acc_0_3,q_tmp_0_3);
+                   q_acc_0_4 = _mm256_add_pd(q_acc_0_4,q_tmp_0_4);
+                   q_acc_0_5 = _mm256_add_pd(q_acc_0_5,q_tmp_0_5);
+                   q_acc_0_6 = _mm256_add_pd(q_acc_0_6,q_tmp_0_6);
+                   q_acc_0_7 = _mm256_add_pd(q_acc_0_7,q_tmp_0_7);
+                   q_acc_0_8 = _mm256_add_pd(q_acc_0_8,q_tmp_0_8);
+                   q_acc_0_9 = _mm256_add_pd(q_acc_0_9,q_tmp_0_9);
+                   q_acc_1_0 = _mm256_add_pd(q_acc_1_0,q_tmp_1_0);
+                   q_acc_1_1 = _mm256_add_pd(q_acc_1_1,q_tmp_1_1);
+                   q_acc_1_2 = _mm256_add_pd(q_acc_1_2,q_tmp_1_2);
+                   q_acc_1_3 = _mm256_add_pd(q_acc_1_3,q_tmp_1_3);
+                   q_acc_1_4 = _mm256_add_pd(q_acc_1_4,q_tmp_1_4);
+                   q_acc_1_5 = _mm256_add_pd(q_acc_1_5,q_tmp_1_5);
+                   q_acc_1_6 = _mm256_add_pd(q_acc_1_6,q_tmp_1_6);
+                   q_acc_1_7 = _mm256_add_pd(q_acc_1_7,q_tmp_1_7);
+                   q_acc_1_8 = _mm256_add_pd(q_acc_1_8,q_tmp_1_8);
+                   q_acc_1_9 = _mm256_add_pd(q_acc_1_9,q_tmp_1_9);
+                   q_acc_2_0 = _mm256_add_pd(q_acc_2_0,q_tmp_2_0);
+                   q_acc_2_1 = _mm256_add_pd(q_acc_2_1,q_tmp_2_1);
+                   q_acc_2_2 = _mm256_add_pd(q_acc_2_2,q_tmp_2_2);
+                   q_acc_2_3 = _mm256_add_pd(q_acc_2_3,q_tmp_2_3);
+                   q_acc_2_4 = _mm256_add_pd(q_acc_2_4,q_tmp_2_4);
+                   q_acc_2_5 = _mm256_add_pd(q_acc_2_5,q_tmp_2_5);
+                   q_acc_2_6 = _mm256_add_pd(q_acc_2_6,q_tmp_2_6);
+                   q_acc_2_7 = _mm256_add_pd(q_acc_2_7,q_tmp_2_7);
+                   q_acc_2_8 = _mm256_add_pd(q_acc_2_8,q_tmp_2_8);
+                   q_acc_2_9 = _mm256_add_pd(q_acc_2_9,q_tmp_2_9);
+                   q_acc_3_0 = _mm256_add_pd(q_acc_3_0,q_tmp_3_0);
+                   q_acc_3_1 = _mm256_add_pd(q_acc_3_1,q_tmp_3_1);
+                   q_acc_3_2 = _mm256_add_pd(q_acc_3_2,q_tmp_3_2);
+                   q_acc_3_3 = _mm256_add_pd(q_acc_3_3,q_tmp_3_3);
+                   q_acc_3_4 = _mm256_add_pd(q_acc_3_4,q_tmp_3_4);
+                   q_acc_3_5 = _mm256_add_pd(q_acc_3_5,q_tmp_3_5);
+                   q_acc_3_6 = _mm256_add_pd(q_acc_3_6,q_tmp_3_6);
+                   q_acc_3_7 = _mm256_add_pd(q_acc_3_7,q_tmp_3_7);
+                   q_acc_3_8 = _mm256_add_pd(q_acc_3_8,q_tmp_3_8);
+                   q_acc_3_9 = _mm256_add_pd(q_acc_3_9,q_tmp_3_9);
+                }
+                const __m256d elMatVec_0 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(q_acc_0_0,src_dof_0),_mm256_mul_pd(q_acc_0_1,src_dof_1)),_mm256_mul_pd(q_acc_0_2,src_dof_2)),_mm256_mul_pd(q_acc_0_3,src_dof_3)),_mm256_mul_pd(q_acc_0_4,src_dof_4)),_mm256_mul_pd(q_acc_0_5,src_dof_5)),_mm256_mul_pd(q_acc_0_6,src_dof_6)),_mm256_mul_pd(q_acc_0_7,src_dof_7)),_mm256_mul_pd(q_acc_0_8,src_dof_8)),_mm256_mul_pd(q_acc_0_9,src_dof_9));
+                const __m256d elMatVec_1 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(q_acc_1_0,src_dof_0),_mm256_mul_pd(q_acc_1_1,src_dof_1)),_mm256_mul_pd(q_acc_1_2,src_dof_2)),_mm256_mul_pd(q_acc_1_3,src_dof_3)),_mm256_mul_pd(q_acc_1_4,src_dof_4)),_mm256_mul_pd(q_acc_1_5,src_dof_5)),_mm256_mul_pd(q_acc_1_6,src_dof_6)),_mm256_mul_pd(q_acc_1_7,src_dof_7)),_mm256_mul_pd(q_acc_1_8,src_dof_8)),_mm256_mul_pd(q_acc_1_9,src_dof_9));
+                const __m256d elMatVec_2 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(q_acc_2_0,src_dof_0),_mm256_mul_pd(q_acc_2_1,src_dof_1)),_mm256_mul_pd(q_acc_2_2,src_dof_2)),_mm256_mul_pd(q_acc_2_3,src_dof_3)),_mm256_mul_pd(q_acc_2_4,src_dof_4)),_mm256_mul_pd(q_acc_2_5,src_dof_5)),_mm256_mul_pd(q_acc_2_6,src_dof_6)),_mm256_mul_pd(q_acc_2_7,src_dof_7)),_mm256_mul_pd(q_acc_2_8,src_dof_8)),_mm256_mul_pd(q_acc_2_9,src_dof_9));
+                const __m256d elMatVec_3 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(q_acc_3_0,src_dof_0),_mm256_mul_pd(q_acc_3_1,src_dof_1)),_mm256_mul_pd(q_acc_3_2,src_dof_2)),_mm256_mul_pd(q_acc_3_3,src_dof_3)),_mm256_mul_pd(q_acc_3_4,src_dof_4)),_mm256_mul_pd(q_acc_3_5,src_dof_5)),_mm256_mul_pd(q_acc_3_6,src_dof_6)),_mm256_mul_pd(q_acc_3_7,src_dof_7)),_mm256_mul_pd(q_acc_3_8,src_dof_8)),_mm256_mul_pd(q_acc_3_9,src_dof_9));
+                _mm256_storeu_pd(&_data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1],_mm256_add_pd(elMatVec_0,_mm256_loadu_pd(& _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1])));
+                _mm256_storeu_pd(&_data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1],_mm256_add_pd(elMatVec_1,_mm256_loadu_pd(& _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1])));
+                _mm256_storeu_pd(&_data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))],_mm256_add_pd(elMatVec_2,_mm256_loadu_pd(& _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))])));
+                _mm256_storeu_pd(&_data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1],_mm256_add_pd(elMatVec_3,_mm256_loadu_pd(& _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1])));
+             }
+             for (int64_t ctr_0 = (int64_t)((-ctr_1 - ctr_2 + micro_edges_per_macro_edge - 2) / (4)) * (4); ctr_0 < -ctr_1 - ctr_2 + micro_edges_per_macro_edge - 2; ctr_0 += 1)
+             {
+            
+                const int64_t phantom_ctr_0 = ctr_0;
+                real_t _data_float_loop_ctr_array_dim_0[4];
+                _data_float_loop_ctr_array_dim_0[0] = (real_t) ctr_0+ 0;
+                _data_float_loop_ctr_array_dim_0[1] = (real_t) ctr_0+ 1;
+                _data_float_loop_ctr_array_dim_0[2] = (real_t) ctr_0+ 2;
+                _data_float_loop_ctr_array_dim_0[3] = (real_t) ctr_0+ 3;
+                real_t _data_float_loop_ctr_array_dim_1[4];
+                _data_float_loop_ctr_array_dim_1[0] = (real_t) ctr_1;
+                _data_float_loop_ctr_array_dim_1[1] = (real_t) ctr_1;
+                _data_float_loop_ctr_array_dim_1[2] = (real_t) ctr_1;
+                _data_float_loop_ctr_array_dim_1[3] = (real_t) ctr_1;
+                real_t _data_float_loop_ctr_array_dim_2[4];
+                _data_float_loop_ctr_array_dim_2[0] = (real_t) ctr_2;
+                _data_float_loop_ctr_array_dim_2[1] = (real_t) ctr_2;
+                _data_float_loop_ctr_array_dim_2[2] = (real_t) ctr_2;
+                _data_float_loop_ctr_array_dim_2[3] = (real_t) ctr_2;
+            
+                const real_t p_affine_0_0 = macro_vertex_coord_id_0comp0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0)*(1.0 + _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0)*(1.0 + _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0)*1.0*_data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0];
+                const real_t p_affine_0_1 = macro_vertex_coord_id_0comp1 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1)*(1.0 + _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1)*(1.0 + _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1)*1.0*_data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0];
+                const real_t p_affine_0_2 = macro_vertex_coord_id_0comp2 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2)*(1.0 + _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2)*(1.0 + _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2)*1.0*_data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0];
+                const real_t p_affine_1_0 = macro_vertex_coord_id_0comp0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0)*(1.0 + _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0)*1.0*_data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0)*(1.0 + _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0])*1.0;
+                const real_t p_affine_1_1 = macro_vertex_coord_id_0comp1 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1)*(1.0 + _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1)*1.0*_data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1)*(1.0 + _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0])*1.0;
+                const real_t p_affine_1_2 = macro_vertex_coord_id_0comp2 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2)*(1.0 + _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2)*1.0*_data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2)*(1.0 + _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0])*1.0;
+                const real_t p_affine_2_0 = macro_vertex_coord_id_0comp0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0)*1.0*_data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0)*(1.0 + _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0)*(1.0 + _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0])*1.0;
+                const real_t p_affine_2_1 = macro_vertex_coord_id_0comp1 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1)*1.0*_data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1)*(1.0 + _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1)*(1.0 + _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0])*1.0;
+                const real_t p_affine_2_2 = macro_vertex_coord_id_0comp2 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2)*1.0*_data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2)*(1.0 + _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2)*(1.0 + _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0])*1.0;
+                const real_t p_affine_3_0 = macro_vertex_coord_id_0comp0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0)*(1.0 + _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0)*(1.0 + _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0)*(1.0 + _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0])*1.0;
+                const real_t p_affine_3_1 = macro_vertex_coord_id_0comp1 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1)*(1.0 + _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1)*(1.0 + _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1)*(1.0 + _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0])*1.0;
+                const real_t p_affine_3_2 = macro_vertex_coord_id_0comp2 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2)*(1.0 + _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2)*(1.0 + _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2)*(1.0 + _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0])*1.0;
+                const real_t src_dof_0 = _data_srcVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1];
+                const real_t src_dof_1 = _data_srcVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1];
+                const real_t src_dof_2 = _data_srcVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))];
+                const real_t src_dof_3 = _data_srcVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1];
+                const real_t src_dof_4 = _data_srcEdge[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))];
+                const real_t src_dof_5 = _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + 2*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6)) + 1];
+                const real_t src_dof_6 = _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))];
+                const real_t src_dof_7 = _data_srcEdge[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1];
+                const real_t src_dof_8 = _data_srcEdge[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 5*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))];
+                const real_t src_dof_9 = _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1];
+                const real_t k_dof_0 = _data_kVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1];
+                const real_t k_dof_1 = _data_kVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1];
+                const real_t k_dof_2 = _data_kVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))];
+                const real_t k_dof_3 = _data_kVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1];
+                const real_t k_dof_4 = _data_kEdge[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))];
+                const real_t k_dof_5 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + 2*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6)) + 1];
+                const real_t k_dof_6 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))];
+                const real_t k_dof_7 = _data_kEdge[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1];
+                const real_t k_dof_8 = _data_kEdge[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 5*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))];
+                const real_t k_dof_9 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1];
+                real_t q_acc_0_0 = 0.0;
+                real_t q_acc_0_1 = 0.0;
+                real_t q_acc_0_2 = 0.0;
+                real_t q_acc_0_3 = 0.0;
+                real_t q_acc_0_4 = 0.0;
+                real_t q_acc_0_5 = 0.0;
+                real_t q_acc_0_6 = 0.0;
+                real_t q_acc_0_7 = 0.0;
+                real_t q_acc_0_8 = 0.0;
+                real_t q_acc_0_9 = 0.0;
+                real_t q_acc_1_0 = 0.0;
+                real_t q_acc_1_1 = 0.0;
+                real_t q_acc_1_2 = 0.0;
+                real_t q_acc_1_3 = 0.0;
+                real_t q_acc_1_4 = 0.0;
+                real_t q_acc_1_5 = 0.0;
+                real_t q_acc_1_6 = 0.0;
+                real_t q_acc_1_7 = 0.0;
+                real_t q_acc_1_8 = 0.0;
+                real_t q_acc_1_9 = 0.0;
+                real_t q_acc_2_0 = 0.0;
+                real_t q_acc_2_1 = 0.0;
+                real_t q_acc_2_2 = 0.0;
+                real_t q_acc_2_3 = 0.0;
+                real_t q_acc_2_4 = 0.0;
+                real_t q_acc_2_5 = 0.0;
+                real_t q_acc_2_6 = 0.0;
+                real_t q_acc_2_7 = 0.0;
+                real_t q_acc_2_8 = 0.0;
+                real_t q_acc_2_9 = 0.0;
+                real_t q_acc_3_0 = 0.0;
+                real_t q_acc_3_1 = 0.0;
+                real_t q_acc_3_2 = 0.0;
+                real_t q_acc_3_3 = 0.0;
+                real_t q_acc_3_4 = 0.0;
+                real_t q_acc_3_5 = 0.0;
+                real_t q_acc_3_6 = 0.0;
+                real_t q_acc_3_7 = 0.0;
+                real_t q_acc_3_8 = 0.0;
+                real_t q_acc_3_9 = 0.0;
+                for (int64_t q = 0; q < 11; q += 1)
+                {
+                   const real_t tmp_qloop_0 = 4.0*_data_q_p_0[q];
+                   const real_t tmp_qloop_1 = tmp_qloop_0*_data_q_p_1[q];
+                   const real_t tmp_qloop_2 = tmp_qloop_0*_data_q_p_2[q];
+                   const real_t tmp_qloop_3 = 4.0*_data_q_p_1[q]*_data_q_p_2[q];
+                   const real_t tmp_qloop_4 = (_data_q_p_0[q]*_data_q_p_0[q]);
+                   const real_t tmp_qloop_5 = tmp_qloop_4*2.0;
+                   const real_t tmp_qloop_6 = (_data_q_p_1[q]*_data_q_p_1[q]);
+                   const real_t tmp_qloop_7 = tmp_qloop_6*2.0;
+                   const real_t tmp_qloop_8 = (_data_q_p_2[q]*_data_q_p_2[q]);
+                   const real_t tmp_qloop_9 = tmp_qloop_8*2.0;
+                   const real_t tmp_qloop_10 = tmp_qloop_1 + tmp_qloop_2;
+                   const real_t tmp_qloop_11 = p_affine_0_0 + (-p_affine_0_0 + p_affine_1_0)*_data_q_p_0[q] + (-p_affine_0_0 + p_affine_2_0)*_data_q_p_1[q] + (-p_affine_0_0 + p_affine_3_0)*_data_q_p_2[q];
+                   const real_t tmp_qloop_12 = p_affine_0_1 + (-p_affine_0_1 + p_affine_1_1)*_data_q_p_0[q] + (-p_affine_0_1 + p_affine_2_1)*_data_q_p_1[q] + (-p_affine_0_1 + p_affine_3_1)*_data_q_p_2[q];
+                   const real_t tmp_qloop_13 = p_affine_0_2 + (-p_affine_0_2 + p_affine_1_2)*_data_q_p_0[q] + (-p_affine_0_2 + p_affine_2_2)*_data_q_p_1[q] + (-p_affine_0_2 + p_affine_3_2)*_data_q_p_2[q];
+                   const real_t tmp_qloop_14 = (tmp_qloop_11*tmp_qloop_11);
+                   const real_t tmp_qloop_15 = (tmp_qloop_12*tmp_qloop_12);
+                   const real_t tmp_qloop_16 = (tmp_qloop_13*tmp_qloop_13);
+                   const real_t tmp_qloop_17 = tmp_qloop_14 + tmp_qloop_15 + tmp_qloop_16;
+                   const real_t tmp_qloop_18 = pow(tmp_qloop_17, -4.5000000000000000);
+                   const real_t tmp_qloop_39 = -tmp_qloop_13 - tmp_qloop_31;
+                   const real_t tmp_qloop_40 = -tmp_qloop_11 - tmp_qloop_20;
+                   const real_t tmp_qloop_41 = -tmp_qloop_12 - tmp_qloop_27;
+                   const real_t tmp_qloop_42 = radRayVertex*tmp_qloop_35 - tmp_qloop_37*(tmp_qloop_21*tmp_qloop_22*tmp_qloop_41 + tmp_qloop_25*tmp_qloop_32*tmp_qloop_40 - tmp_qloop_26*tmp_qloop_39 + tmp_qloop_28*tmp_qloop_29*tmp_qloop_39 - tmp_qloop_33*tmp_qloop_40 - tmp_qloop_34*tmp_qloop_41);
+                   const real_t tmp_qloop_43 = -tmp_qloop_42;
+                   const real_t tmp_qloop_44 = tmp_qloop_13*tmp_qloop_43 + tmp_qloop_17*tmp_qloop_38;
+                   const real_t tmp_qloop_46 = tmp_qloop_11*tmp_qloop_43 + tmp_qloop_17*tmp_qloop_45;
+                   const real_t tmp_qloop_48 = -tmp_qloop_12*tmp_qloop_42 - tmp_qloop_17*tmp_qloop_37*tmp_qloop_47;
+                   const real_t tmp_qloop_49 = tmp_qloop_15*tmp_qloop_43 + tmp_qloop_17*(-tmp_qloop_12*tmp_qloop_37*tmp_qloop_47 + tmp_qloop_42);
+                   const real_t tmp_qloop_50 = tmp_qloop_18*tmp_qloop_36;
+                   const real_t tmp_qloop_51 = tmp_qloop_11*tmp_qloop_46;
+                   const real_t tmp_qloop_52 = tmp_qloop_13*tmp_qloop_44;
+                   const real_t tmp_qloop_53 = tmp_qloop_16*tmp_qloop_43 + tmp_qloop_17*(tmp_qloop_13*tmp_qloop_38 + tmp_qloop_42);
+                   const real_t tmp_qloop_54 = tmp_qloop_12*tmp_qloop_48*tmp_qloop_50*1.0;
+                   const real_t tmp_qloop_55 = -tmp_qloop_14*tmp_qloop_42 + tmp_qloop_17*(tmp_qloop_11*tmp_qloop_45 + tmp_qloop_42);
+                   const real_t tmp_qloop_56 = (k_dof_0*(tmp_qloop_10 + tmp_qloop_3 + tmp_qloop_5 + tmp_qloop_7 + tmp_qloop_9 - 3.0*_data_q_p_0[q] - 3.0*_data_q_p_1[q] - 3.0*_data_q_p_2[q] + 1.0) + k_dof_1*(tmp_qloop_5 - _data_q_p_0[q]) + k_dof_2*(tmp_qloop_7 - _data_q_p_1[q]) + k_dof_3*(tmp_qloop_9 - _data_q_p_2[q]) + k_dof_4*tmp_qloop_3 + k_dof_5*tmp_qloop_2 + k_dof_6*tmp_qloop_1 + k_dof_7*(-tmp_qloop_2 - tmp_qloop_3 + tmp_qloop_8*-4.0 + 4.0*_data_q_p_2[q]) + k_dof_8*(-tmp_qloop_1 - tmp_qloop_3 + tmp_qloop_6*-4.0 + 4.0*_data_q_p_1[q]) + k_dof_9*(-tmp_qloop_10 + tmp_qloop_4*-4.0 + 4.0*_data_q_p_0[q]))*abs(tmp_qloop_11*tmp_qloop_12*tmp_qloop_13*tmp_qloop_18*tmp_qloop_36*tmp_qloop_44*tmp_qloop_46*tmp_qloop_48*-2.0 - tmp_qloop_18*tmp_qloop_36*tmp_qloop_49*tmp_qloop_53*tmp_qloop_55 + tmp_qloop_49*tmp_qloop_50*tmp_qloop_51*tmp_qloop_52*1.0 + tmp_qloop_51*tmp_qloop_53*tmp_qloop_54 + tmp_qloop_52*tmp_qloop_54*tmp_qloop_55)*_data_q_w[q];
+                   const real_t tmp_qloop_57 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 14];
+                   const real_t q_tmp_0_0 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q];
+                   const real_t q_tmp_0_1 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 1];
+                   const real_t q_tmp_0_2 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 2];
+                   const real_t q_tmp_0_3 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 3];
+                   const real_t q_tmp_0_4 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 4];
+                   const real_t q_tmp_0_5 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 5];
+                   const real_t q_tmp_0_6 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 6];
+                   const real_t q_tmp_0_7 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 7];
+                   const real_t q_tmp_0_8 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 8];
+                   const real_t q_tmp_0_9 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 9];
+                   const real_t q_tmp_1_0 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 10];
+                   const real_t q_tmp_1_1 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 11];
+                   const real_t q_tmp_1_2 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 12];
+                   const real_t q_tmp_1_3 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 13];
+                   const real_t q_tmp_1_4 = tmp_qloop_57;
+                   const real_t q_tmp_1_5 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 15];
+                   const real_t q_tmp_1_6 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 16];
+                   const real_t q_tmp_1_7 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 17];
+                   const real_t q_tmp_1_8 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 18];
+                   const real_t q_tmp_1_9 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 19];
+                   const real_t q_tmp_2_0 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 20];
+                   const real_t q_tmp_2_1 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 21];
+                   const real_t q_tmp_2_2 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 22];
+                   const real_t q_tmp_2_3 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 23];
+                   const real_t q_tmp_2_4 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 24];
+                   const real_t q_tmp_2_5 = tmp_qloop_57;
+                   const real_t q_tmp_2_6 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 25];
+                   const real_t q_tmp_2_7 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 26];
+                   const real_t q_tmp_2_8 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 27];
+                   const real_t q_tmp_2_9 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 28];
+                   const real_t q_tmp_3_0 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 29];
+                   const real_t q_tmp_3_1 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 30];
+                   const real_t q_tmp_3_2 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 31];
+                   const real_t q_tmp_3_3 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 32];
+                   const real_t q_tmp_3_4 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 33];
+                   const real_t q_tmp_3_5 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 34];
+                   const real_t q_tmp_3_6 = tmp_qloop_57;
+                   const real_t q_tmp_3_7 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 35];
+                   const real_t q_tmp_3_8 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 36];
+                   const real_t q_tmp_3_9 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 37];
+                   q_acc_0_0 = q_acc_0_0 + q_tmp_0_0;
+                   q_acc_0_1 = q_acc_0_1 + q_tmp_0_1;
+                   q_acc_0_2 = q_acc_0_2 + q_tmp_0_2;
+                   q_acc_0_3 = q_acc_0_3 + q_tmp_0_3;
+                   q_acc_0_4 = q_acc_0_4 + q_tmp_0_4;
+                   q_acc_0_5 = q_acc_0_5 + q_tmp_0_5;
+                   q_acc_0_6 = q_acc_0_6 + q_tmp_0_6;
+                   q_acc_0_7 = q_acc_0_7 + q_tmp_0_7;
+                   q_acc_0_8 = q_acc_0_8 + q_tmp_0_8;
+                   q_acc_0_9 = q_acc_0_9 + q_tmp_0_9;
+                   q_acc_1_0 = q_acc_1_0 + q_tmp_1_0;
+                   q_acc_1_1 = q_acc_1_1 + q_tmp_1_1;
+                   q_acc_1_2 = q_acc_1_2 + q_tmp_1_2;
+                   q_acc_1_3 = q_acc_1_3 + q_tmp_1_3;
+                   q_acc_1_4 = q_acc_1_4 + q_tmp_1_4;
+                   q_acc_1_5 = q_acc_1_5 + q_tmp_1_5;
+                   q_acc_1_6 = q_acc_1_6 + q_tmp_1_6;
+                   q_acc_1_7 = q_acc_1_7 + q_tmp_1_7;
+                   q_acc_1_8 = q_acc_1_8 + q_tmp_1_8;
+                   q_acc_1_9 = q_acc_1_9 + q_tmp_1_9;
+                   q_acc_2_0 = q_acc_2_0 + q_tmp_2_0;
+                   q_acc_2_1 = q_acc_2_1 + q_tmp_2_1;
+                   q_acc_2_2 = q_acc_2_2 + q_tmp_2_2;
+                   q_acc_2_3 = q_acc_2_3 + q_tmp_2_3;
+                   q_acc_2_4 = q_acc_2_4 + q_tmp_2_4;
+                   q_acc_2_5 = q_acc_2_5 + q_tmp_2_5;
+                   q_acc_2_6 = q_acc_2_6 + q_tmp_2_6;
+                   q_acc_2_7 = q_acc_2_7 + q_tmp_2_7;
+                   q_acc_2_8 = q_acc_2_8 + q_tmp_2_8;
+                   q_acc_2_9 = q_acc_2_9 + q_tmp_2_9;
+                   q_acc_3_0 = q_acc_3_0 + q_tmp_3_0;
+                   q_acc_3_1 = q_acc_3_1 + q_tmp_3_1;
+                   q_acc_3_2 = q_acc_3_2 + q_tmp_3_2;
+                   q_acc_3_3 = q_acc_3_3 + q_tmp_3_3;
+                   q_acc_3_4 = q_acc_3_4 + q_tmp_3_4;
+                   q_acc_3_5 = q_acc_3_5 + q_tmp_3_5;
+                   q_acc_3_6 = q_acc_3_6 + q_tmp_3_6;
+                   q_acc_3_7 = q_acc_3_7 + q_tmp_3_7;
+                   q_acc_3_8 = q_acc_3_8 + q_tmp_3_8;
+                   q_acc_3_9 = q_acc_3_9 + q_tmp_3_9;
+                }
+                const real_t elMatVec_0 = q_acc_0_0*src_dof_0 + q_acc_0_1*src_dof_1 + q_acc_0_2*src_dof_2 + q_acc_0_3*src_dof_3 + q_acc_0_4*src_dof_4 + q_acc_0_5*src_dof_5 + q_acc_0_6*src_dof_6 + q_acc_0_7*src_dof_7 + q_acc_0_8*src_dof_8 + q_acc_0_9*src_dof_9;
+                const real_t elMatVec_1 = q_acc_1_0*src_dof_0 + q_acc_1_1*src_dof_1 + q_acc_1_2*src_dof_2 + q_acc_1_3*src_dof_3 + q_acc_1_4*src_dof_4 + q_acc_1_5*src_dof_5 + q_acc_1_6*src_dof_6 + q_acc_1_7*src_dof_7 + q_acc_1_8*src_dof_8 + q_acc_1_9*src_dof_9;
+                const real_t elMatVec_2 = q_acc_2_0*src_dof_0 + q_acc_2_1*src_dof_1 + q_acc_2_2*src_dof_2 + q_acc_2_3*src_dof_3 + q_acc_2_4*src_dof_4 + q_acc_2_5*src_dof_5 + q_acc_2_6*src_dof_6 + q_acc_2_7*src_dof_7 + q_acc_2_8*src_dof_8 + q_acc_2_9*src_dof_9;
+                const real_t elMatVec_3 = q_acc_3_0*src_dof_0 + q_acc_3_1*src_dof_1 + q_acc_3_2*src_dof_2 + q_acc_3_3*src_dof_3 + q_acc_3_4*src_dof_4 + q_acc_3_5*src_dof_5 + q_acc_3_6*src_dof_6 + q_acc_3_7*src_dof_7 + q_acc_3_8*src_dof_8 + q_acc_3_9*src_dof_9;
+                _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1] = elMatVec_0 + _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1];
+                _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1] = elMatVec_1 + _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1];
+                _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))] = elMatVec_2 + _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))];
+                _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1] = elMatVec_3 + _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1];
+             }
+          }
+       }
+       const real_t tmp_coords_jac_0_BLUE_UP = 1.0 / (micro_edges_per_macro_edge_float)*1.0;
+       const real_t tmp_coords_jac_1_BLUE_UP = macro_vertex_coord_id_0comp0 + tmp_coords_jac_0_BLUE_UP*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0);
+       const real_t tmp_coords_jac_2_BLUE_UP = macro_vertex_coord_id_0comp1 + tmp_coords_jac_0_BLUE_UP*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1);
+       const real_t tmp_coords_jac_3_BLUE_UP = macro_vertex_coord_id_0comp2 + tmp_coords_jac_0_BLUE_UP*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2);
+       const real_t tmp_coords_jac_4_BLUE_UP = tmp_coords_jac_0_BLUE_UP*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0);
+       const real_t tmp_coords_jac_5_BLUE_UP = tmp_coords_jac_0_BLUE_UP*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1);
+       const real_t tmp_coords_jac_6_BLUE_UP = tmp_coords_jac_0_BLUE_UP*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2);
+       const real_t p_affine_const_0_0_BLUE_UP = tmp_coords_jac_1_BLUE_UP;
+       const real_t p_affine_const_0_1_BLUE_UP = tmp_coords_jac_2_BLUE_UP;
+       const real_t p_affine_const_0_2_BLUE_UP = tmp_coords_jac_3_BLUE_UP;
+       const real_t p_affine_const_1_0_BLUE_UP = macro_vertex_coord_id_0comp0 + tmp_coords_jac_4_BLUE_UP;
+       const real_t p_affine_const_1_1_BLUE_UP = macro_vertex_coord_id_0comp1 + tmp_coords_jac_5_BLUE_UP;
+       const real_t p_affine_const_1_2_BLUE_UP = macro_vertex_coord_id_0comp2 + tmp_coords_jac_6_BLUE_UP;
+       const real_t p_affine_const_2_0_BLUE_UP = tmp_coords_jac_1_BLUE_UP + tmp_coords_jac_4_BLUE_UP;
+       const real_t p_affine_const_2_1_BLUE_UP = tmp_coords_jac_2_BLUE_UP + tmp_coords_jac_5_BLUE_UP;
+       const real_t p_affine_const_2_2_BLUE_UP = tmp_coords_jac_3_BLUE_UP + tmp_coords_jac_6_BLUE_UP;
+       const real_t p_affine_const_3_0_BLUE_UP = tmp_coords_jac_0_BLUE_UP*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0) + tmp_coords_jac_1_BLUE_UP;
+       const real_t p_affine_const_3_1_BLUE_UP = tmp_coords_jac_0_BLUE_UP*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1) + tmp_coords_jac_2_BLUE_UP;
+       const real_t p_affine_const_3_2_BLUE_UP = tmp_coords_jac_0_BLUE_UP*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2) + tmp_coords_jac_3_BLUE_UP;
+       const real_t jac_affine_0_0_BLUE_UP = -p_affine_const_0_0_BLUE_UP + p_affine_const_1_0_BLUE_UP;
+       const real_t jac_affine_0_1_BLUE_UP = -p_affine_const_0_0_BLUE_UP + p_affine_const_2_0_BLUE_UP;
+       const real_t jac_affine_0_2_BLUE_UP = -p_affine_const_0_0_BLUE_UP + p_affine_const_3_0_BLUE_UP;
+       const real_t jac_affine_1_0_BLUE_UP = -p_affine_const_0_1_BLUE_UP + p_affine_const_1_1_BLUE_UP;
+       const real_t jac_affine_1_1_BLUE_UP = -p_affine_const_0_1_BLUE_UP + p_affine_const_2_1_BLUE_UP;
+       const real_t jac_affine_1_2_BLUE_UP = -p_affine_const_0_1_BLUE_UP + p_affine_const_3_1_BLUE_UP;
+       const real_t jac_affine_2_0_BLUE_UP = -p_affine_const_0_2_BLUE_UP + p_affine_const_1_2_BLUE_UP;
+       const real_t jac_affine_2_1_BLUE_UP = -p_affine_const_0_2_BLUE_UP + p_affine_const_2_2_BLUE_UP;
+       const real_t jac_affine_2_2_BLUE_UP = -p_affine_const_0_2_BLUE_UP + p_affine_const_3_2_BLUE_UP;
+       const real_t abs_det_jac_affine_BLUE_UP = abs(jac_affine_0_0_BLUE_UP*jac_affine_1_1_BLUE_UP*jac_affine_2_2_BLUE_UP - jac_affine_0_0_BLUE_UP*jac_affine_1_2_BLUE_UP*jac_affine_2_1_BLUE_UP - jac_affine_0_1_BLUE_UP*jac_affine_1_0_BLUE_UP*jac_affine_2_2_BLUE_UP + jac_affine_0_1_BLUE_UP*jac_affine_1_2_BLUE_UP*jac_affine_2_0_BLUE_UP + jac_affine_0_2_BLUE_UP*jac_affine_1_0_BLUE_UP*jac_affine_2_1_BLUE_UP - jac_affine_0_2_BLUE_UP*jac_affine_1_1_BLUE_UP*jac_affine_2_0_BLUE_UP);
+       {
+          /* CellType.BLUE_UP */
+          const real_t _data_phi_psi_jac_affine_det_0_0_BLUE_UP [] = {((real_t)(abs_det_jac_affine_BLUE_UP*-0.010749089276961213)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0013747922567553051)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.01396287204173041)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.008164600589399525)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.012151214443257608)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.019083835042434261)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.072053489056043002)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0046416810200408439)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.017525267423213611)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.027523941260433657)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.044193869792483409)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0056523290877285)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0574070354280087)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.033567987580949914)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.049958575567593019)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.078461393265588306)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.29624114484395714)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.019083835042434251)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.072053489056042974)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.11316209633188964)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.02813947970791995)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0035989968838093011)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.036552673846023863)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.021373681684931475)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.031810029988819218)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.18862506775555832)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.012151214443257601)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.045878482755592566)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.07205348905604296)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0074529241534464254)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.00095321772406372263)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0096812133204938391)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0056609585582659784)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0084250932599439499)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.013231853551815916)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0032183281481346165)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.012151214443257603)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.019083835042434251)), ((real_t)(abs_det_jac_affine_BLUE_UP*-2.9012262911449775e-5)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.00014612615736184792)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.00047804109319682082)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0032416491456343029)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0021116678219306132)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.00052791366753715454)), ((real_t)(abs_det_jac_affine_BLUE_UP*7.0977528354966774e-5)), ((real_t)(abs_det_jac_affine_BLUE_UP*9.9895812682163066e-5)), ((real_t)(abs_det_jac_affine_BLUE_UP*1.3430904167093961e-5)), ((real_t)(abs_det_jac_affine_BLUE_UP*3.3577051293550935e-6)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.00015331944058422371)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.00077222451657154147)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0025262763269762738)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.017130957178208683)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.011159409734644826)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0027898350580443485)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.00037509087018302439)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.00052791366753715541)), ((real_t)(abs_det_jac_affine_BLUE_UP*7.0977528354966354e-5)), ((real_t)(abs_det_jac_affine_BLUE_UP*1.7744271574084403e-5)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.00061328158194601311)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0030889173045236238)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.010105168244399365)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.068524255492113287)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.044637916950180538)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0015003728252777238)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0021116678219306167)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.000283911881665389)), ((real_t)(abs_det_jac_affine_BLUE_UP*7.0977528354965283e-5)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0045614398903685138)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.022974618879299673)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.075159794270401023)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.50966681808331993)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.33200601647520916)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.083000987173061064)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.015706073884687172)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0021116678219306002)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.00052791366753714337)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.02118185416019976)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.040792474062018545)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.049791196691139579)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.035867609546541376)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.059688031245203839)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.021562946853404222)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.071405876738584673)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.080243884747120436)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.26572828761452333)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.095997217930328324)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.005691937733975882)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.010961657115556597)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.013379772569609637)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.009638259175114022)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.016039226535213912)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0057943440608341223)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.019188018251946451)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.021562946853404225)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0714058767385847)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.025796145274243024)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.015755757300754607)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.03034277906728966)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.037036323866953338)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.026679503441931235)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.044397913749511943)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.053114031247306501)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.059688031245203839)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.19765740883375349)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0714058767385847)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0047578795027626341)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0091628275191950465)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.011184125448277639)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0080566017962316674)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.013407157762204741)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0048434807489961713)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.018024424659562992)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.059688031245203853)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.021562946853404232)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.00015688175714697789)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0014950153325289843)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0012666972383742025)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0015490159490981592)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0062931924029516256)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0020445450956193246)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0056480276621754888)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.00013641635559728395)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.00037684830314454006)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0001224312400849633)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.002351271046368435)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.022406596720860313)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.018984670973016902)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.023215932927530856)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.094319450236798913)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.030642694050274453)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.084650020197820364)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0020445450956193168)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0056480276621755114)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0018349426677638542)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0072373072709378001)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.068968409922504109)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.058435584226493004)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.071459579463428277)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.29031907828914638)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.26055618198886238)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0062931924029516022)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.017384857321768536)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0056480276621755391)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0026198528001873307)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.024966064738678271)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.021153258143552994)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.025867850064795264)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.10509340307518385)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.034142957672569287)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0022780900577755898)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0062931924029516507)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0020445450956193428)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0016747236096797923)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.022395383667253931)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0010823709889014185)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0036990864559166563)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.00050834301173610229)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.015588264867481133)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0037476086033569342)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.00081420248681843786)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.00019574418772167287)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0060024671806827717)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.032063320402672957)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.42876947450525699)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.020722468836717273)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.070820637834037012)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.009732450635762396)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.29844418988237825)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.071749615697017544)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.015588264867481126)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0037476086033569277)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.1149198753205366)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0010456048186450997)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.013982439217157605)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.00067577259615595462)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0023095050434207478)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.00031738126788423253)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0023397995892677865)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.00050834301173610208)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.00012221184720903605)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0037476086033569355)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0043492174836919605)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.058160280082415236)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0028108917803285017)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0096064397699850354)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0013201547416997409)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.040482354049473784)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0021144645423690485)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.00050834301173610142)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.015588264867481138)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0068956855714663416)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.010091290281029655)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0080216243244021178)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0035198334831929206)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.018978279386089755)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.056811998632973766)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.01396686284573566)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.015485631440181358)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0038070424489360009)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.01139648574059631)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.025298140458325055)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.037021827096001436)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.029428861968758362)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.012913181862031289)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.069625445155635055)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.20842567519062763)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.051240105769272605)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.056811998632973738)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.013966862845735664)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.041810186095187066)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0084509467915105906)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.012367292031926986)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0098308311254096271)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0043137009617327136)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.023258663351751644)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.017116965895609845)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.018978279386089748)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0046656873831529451)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.01396686284573564)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.034375305526338835)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.050305540032273111)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.039988161309129681)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.017546529657219402)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.094607584046545581)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.28321039153111127)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.077196575526473174)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.018978279386089758)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.056811998632973676)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.036989007988906066)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.024350339729610097)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.022721604194642659)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0020718315986862396)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.053354679030800815)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.058170268354931241)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0093518161026560475)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.22863973450271471)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.036757553494219546)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.040075149727639509)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0094107024991835538)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0061951865002202629)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.005780805406949952)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.00052711310369534133)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.013574438423676774)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.014799615333023134)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0023792787088414437)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.058170268354931248)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.009351816102656051)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.010195875266786407)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0086316433720857837)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0056823218562164577)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0053022450428696702)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.00048347637471763576)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.012450687019346486)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0021823116073744556)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.053354679030800829)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0085776318491057792)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0093518161026560475)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.053690642094179834)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.035345240285608669)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.032981082352521167)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0030073250106582576)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.077445898974953548)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.084435869696849797)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.3318773554937019)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.053354679030800836)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.058170268354931241)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.2830869924348563)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.050308558644386672)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.041516821634179475)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.06274193203760102)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.020160825588817252)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.025383152182066201)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.015152528090816651)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.23919668259056145)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.14278898169094956)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.17977609281010931)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.030040718507945225)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0053386601615906274)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0044056957238823311)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0066580689659201985)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.002139433116273644)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0026936176861649991)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0016079609562587173)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.025383152182066195)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.015152528090816651)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.019077538505445499)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.023860144794362503)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0042402848796628178)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0034992684300787832)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0052882386796338152)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0016992664113091131)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0012771392678196903)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.020160825588817249)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.012035048833865587)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.01515252809081665)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.039969943152159265)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0071032236832497221)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0058618906729116316)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0088587307923610938)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0028465703978647464)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0035839271208240476)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.033772932211040815)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.020160825588817245)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.025383152182066191)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.014935575584147695)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.007791142568055953)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0073254854313094774)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.015186461110532538)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.090150328303510344)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.012455650259246793)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.015731589118882311)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.029517331411893867)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.037280633286332542)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0051508911658584714)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0063024771210085937)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0032876870064389215)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0030911901634452068)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0064083451728372039)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.038041411821271319)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0052560043865672946)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0066383769370158769)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.012455650259246798)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.015731589118882314)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0021735602717637636)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.045615473279886819)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.023795310306631609)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.022373124026687209)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.046381715060167777)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.27533253531028662)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.048046617223388682)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.090150328303510385)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.11386060898348732)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.015731589118882311)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.036116528170846006)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.018840185867421855)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.017714155002223078)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.036723208116341576)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.21799741519439725)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.030119685775736597)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.07137746553252089)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.090150328303510371)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.012455650259246793)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.032896921427909828)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.020934012679446525)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.020127575524041673)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.033499901528319088)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0098838942808698073)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.075244795478138254)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.040011251730840761)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.067458477890573201)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.035870894765649017)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.27308043404340754)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.036694010925042916)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.023350297128803515)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.022450777887903339)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.037366589313281677)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.011024731463671476)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.083929839859876898)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.044629504659074608)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.075244795478138254)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.040011251730840761)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.30460043053460045)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0048199974818136015)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0030672137093527801)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0029490559946009505)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0049083450365209726)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0014481703295155801)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.005862376301973493)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0098838942808698056)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0052557386811928905)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.040011251730840761)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.009064443351184925)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.005768174157623188)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0055459678357496689)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.009230588957667556)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0027234159279729726)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.020733009548559916)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.018587561536304909)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0098838942808698056)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.075244795478138254)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.012773605317404142)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0093099638314587951)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.055932196812816262)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0011391519589580709)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0035913578872906952)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.00039530708258920854)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.034759025419540214)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.00061078662356131824)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.053705963564394235)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0059115099192464755)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0082672024196058687)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0060254997396084128)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.036199865373541695)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.00073727030054430856)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0023243619853375876)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.00025584661404999347)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.022496381554864123)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.00039530708258920833)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.034759025419540221)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0038259870955407193)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.075107388466231287)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.054741559075980606)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.32887513974352289)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.006698087703317224)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.02111678772433076)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.20437923045390871)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0035913578872906935)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.31578513412249021)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.034759025419540214)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.00085418052598187596)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.00062256423341908954)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0037402277670030831)), ((real_t)(abs_det_jac_affine_BLUE_UP*-7.6175942132039452e-5)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.00024015678369014598)), ((real_t)(abs_det_jac_affine_BLUE_UP*2.6434479799555231e-5)), ((real_t)(abs_det_jac_affine_BLUE_UP*4.0843757608938361e-5)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0035913578872906957)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.00039530708258920849))};
+      
+          for (int64_t ctr_2 = 0; ctr_2 < micro_edges_per_macro_edge; ctr_2 += 1)
+          for (int64_t ctr_1 = 0; ctr_1 < -ctr_2 + micro_edges_per_macro_edge; ctr_1 += 1)
+          {
+             for (int64_t ctr_0 = 0; ctr_0 < (int64_t)((-ctr_1 - ctr_2 + micro_edges_per_macro_edge - 1) / (4)) * (4); ctr_0 += 4)
+             {
+            
+                const int64_t phantom_ctr_0 = ctr_0;
+                real_t _data_float_loop_ctr_array_dim_0[4];
+                _data_float_loop_ctr_array_dim_0[0] = (real_t) ctr_0+ 0;
+                _data_float_loop_ctr_array_dim_0[1] = (real_t) ctr_0+ 1;
+                _data_float_loop_ctr_array_dim_0[2] = (real_t) ctr_0+ 2;
+                _data_float_loop_ctr_array_dim_0[3] = (real_t) ctr_0+ 3;
+                real_t _data_float_loop_ctr_array_dim_1[4];
+                _data_float_loop_ctr_array_dim_1[0] = (real_t) ctr_1;
+                _data_float_loop_ctr_array_dim_1[1] = (real_t) ctr_1;
+                _data_float_loop_ctr_array_dim_1[2] = (real_t) ctr_1;
+                _data_float_loop_ctr_array_dim_1[3] = (real_t) ctr_1;
+                real_t _data_float_loop_ctr_array_dim_2[4];
+                _data_float_loop_ctr_array_dim_2[0] = (real_t) ctr_2;
+                _data_float_loop_ctr_array_dim_2[1] = (real_t) ctr_2;
+                _data_float_loop_ctr_array_dim_2[2] = (real_t) ctr_2;
+                _data_float_loop_ctr_array_dim_2[3] = (real_t) ctr_2;
+            
+                const __m256d p_affine_0_0 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0)),_mm256_set_pd(macro_vertex_coord_id_1comp0,macro_vertex_coord_id_1comp0,macro_vertex_coord_id_1comp0,macro_vertex_coord_id_1comp0)),_mm256_add_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0)),_mm256_set_pd(macro_vertex_coord_id_2comp0,macro_vertex_coord_id_2comp0,macro_vertex_coord_id_2comp0,macro_vertex_coord_id_2comp0)),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0]))),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0)),_mm256_set_pd(macro_vertex_coord_id_3comp0,macro_vertex_coord_id_3comp0,macro_vertex_coord_id_3comp0,macro_vertex_coord_id_3comp0)),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0));
+                const __m256d p_affine_0_1 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1)),_mm256_set_pd(macro_vertex_coord_id_1comp1,macro_vertex_coord_id_1comp1,macro_vertex_coord_id_1comp1,macro_vertex_coord_id_1comp1)),_mm256_add_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1)),_mm256_set_pd(macro_vertex_coord_id_2comp1,macro_vertex_coord_id_2comp1,macro_vertex_coord_id_2comp1,macro_vertex_coord_id_2comp1)),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0]))),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1)),_mm256_set_pd(macro_vertex_coord_id_3comp1,macro_vertex_coord_id_3comp1,macro_vertex_coord_id_3comp1,macro_vertex_coord_id_3comp1)),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1));
+                const __m256d p_affine_0_2 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2)),_mm256_set_pd(macro_vertex_coord_id_1comp2,macro_vertex_coord_id_1comp2,macro_vertex_coord_id_1comp2,macro_vertex_coord_id_1comp2)),_mm256_add_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2)),_mm256_set_pd(macro_vertex_coord_id_2comp2,macro_vertex_coord_id_2comp2,macro_vertex_coord_id_2comp2,macro_vertex_coord_id_2comp2)),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0]))),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2)),_mm256_set_pd(macro_vertex_coord_id_3comp2,macro_vertex_coord_id_3comp2,macro_vertex_coord_id_3comp2,macro_vertex_coord_id_3comp2)),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2));
+                const __m256d p_affine_1_0 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0)),_mm256_set_pd(macro_vertex_coord_id_1comp0,macro_vertex_coord_id_1comp0,macro_vertex_coord_id_1comp0,macro_vertex_coord_id_1comp0)),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0)),_mm256_set_pd(macro_vertex_coord_id_2comp0,macro_vertex_coord_id_2comp0,macro_vertex_coord_id_2comp0,macro_vertex_coord_id_2comp0)),_mm256_add_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float)))),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0)),_mm256_set_pd(macro_vertex_coord_id_3comp0,macro_vertex_coord_id_3comp0,macro_vertex_coord_id_3comp0,macro_vertex_coord_id_3comp0)),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0));
+                const __m256d p_affine_1_1 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1)),_mm256_set_pd(macro_vertex_coord_id_1comp1,macro_vertex_coord_id_1comp1,macro_vertex_coord_id_1comp1,macro_vertex_coord_id_1comp1)),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1)),_mm256_set_pd(macro_vertex_coord_id_2comp1,macro_vertex_coord_id_2comp1,macro_vertex_coord_id_2comp1,macro_vertex_coord_id_2comp1)),_mm256_add_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float)))),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1)),_mm256_set_pd(macro_vertex_coord_id_3comp1,macro_vertex_coord_id_3comp1,macro_vertex_coord_id_3comp1,macro_vertex_coord_id_3comp1)),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1));
+                const __m256d p_affine_1_2 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2)),_mm256_set_pd(macro_vertex_coord_id_1comp2,macro_vertex_coord_id_1comp2,macro_vertex_coord_id_1comp2,macro_vertex_coord_id_1comp2)),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2)),_mm256_set_pd(macro_vertex_coord_id_2comp2,macro_vertex_coord_id_2comp2,macro_vertex_coord_id_2comp2,macro_vertex_coord_id_2comp2)),_mm256_add_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float)))),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2)),_mm256_set_pd(macro_vertex_coord_id_3comp2,macro_vertex_coord_id_3comp2,macro_vertex_coord_id_3comp2,macro_vertex_coord_id_3comp2)),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2));
+                const __m256d p_affine_2_0 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0)),_mm256_set_pd(macro_vertex_coord_id_1comp0,macro_vertex_coord_id_1comp0,macro_vertex_coord_id_1comp0,macro_vertex_coord_id_1comp0)),_mm256_add_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0)),_mm256_set_pd(macro_vertex_coord_id_2comp0,macro_vertex_coord_id_2comp0,macro_vertex_coord_id_2comp0,macro_vertex_coord_id_2comp0)),_mm256_add_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float)))),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0)),_mm256_set_pd(macro_vertex_coord_id_3comp0,macro_vertex_coord_id_3comp0,macro_vertex_coord_id_3comp0,macro_vertex_coord_id_3comp0)),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0));
+                const __m256d p_affine_2_1 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1)),_mm256_set_pd(macro_vertex_coord_id_1comp1,macro_vertex_coord_id_1comp1,macro_vertex_coord_id_1comp1,macro_vertex_coord_id_1comp1)),_mm256_add_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1)),_mm256_set_pd(macro_vertex_coord_id_2comp1,macro_vertex_coord_id_2comp1,macro_vertex_coord_id_2comp1,macro_vertex_coord_id_2comp1)),_mm256_add_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float)))),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1)),_mm256_set_pd(macro_vertex_coord_id_3comp1,macro_vertex_coord_id_3comp1,macro_vertex_coord_id_3comp1,macro_vertex_coord_id_3comp1)),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1));
+                const __m256d p_affine_2_2 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2)),_mm256_set_pd(macro_vertex_coord_id_1comp2,macro_vertex_coord_id_1comp2,macro_vertex_coord_id_1comp2,macro_vertex_coord_id_1comp2)),_mm256_add_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2)),_mm256_set_pd(macro_vertex_coord_id_2comp2,macro_vertex_coord_id_2comp2,macro_vertex_coord_id_2comp2,macro_vertex_coord_id_2comp2)),_mm256_add_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float)))),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2)),_mm256_set_pd(macro_vertex_coord_id_3comp2,macro_vertex_coord_id_3comp2,macro_vertex_coord_id_3comp2,macro_vertex_coord_id_3comp2)),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2));
+                const __m256d p_affine_3_0 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0)),_mm256_set_pd(macro_vertex_coord_id_1comp0,macro_vertex_coord_id_1comp0,macro_vertex_coord_id_1comp0,macro_vertex_coord_id_1comp0)),_mm256_add_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0)),_mm256_set_pd(macro_vertex_coord_id_2comp0,macro_vertex_coord_id_2comp0,macro_vertex_coord_id_2comp0,macro_vertex_coord_id_2comp0)),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0]))),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0)),_mm256_set_pd(macro_vertex_coord_id_3comp0,macro_vertex_coord_id_3comp0,macro_vertex_coord_id_3comp0,macro_vertex_coord_id_3comp0)),_mm256_add_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float)))),_mm256_set_pd(macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0));
+                const __m256d p_affine_3_1 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1)),_mm256_set_pd(macro_vertex_coord_id_1comp1,macro_vertex_coord_id_1comp1,macro_vertex_coord_id_1comp1,macro_vertex_coord_id_1comp1)),_mm256_add_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1)),_mm256_set_pd(macro_vertex_coord_id_2comp1,macro_vertex_coord_id_2comp1,macro_vertex_coord_id_2comp1,macro_vertex_coord_id_2comp1)),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0]))),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1)),_mm256_set_pd(macro_vertex_coord_id_3comp1,macro_vertex_coord_id_3comp1,macro_vertex_coord_id_3comp1,macro_vertex_coord_id_3comp1)),_mm256_add_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float)))),_mm256_set_pd(macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1));
+                const __m256d p_affine_3_2 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2)),_mm256_set_pd(macro_vertex_coord_id_1comp2,macro_vertex_coord_id_1comp2,macro_vertex_coord_id_1comp2,macro_vertex_coord_id_1comp2)),_mm256_add_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2)),_mm256_set_pd(macro_vertex_coord_id_2comp2,macro_vertex_coord_id_2comp2,macro_vertex_coord_id_2comp2,macro_vertex_coord_id_2comp2)),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0]))),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2)),_mm256_set_pd(macro_vertex_coord_id_3comp2,macro_vertex_coord_id_3comp2,macro_vertex_coord_id_3comp2,macro_vertex_coord_id_3comp2)),_mm256_add_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float)))),_mm256_set_pd(macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2));
+                const __m256d src_dof_0 = _mm256_loadu_pd(& _data_srcVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]);
+                const __m256d src_dof_1 = _mm256_loadu_pd(& _data_srcVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]);
+                const __m256d src_dof_2 = _mm256_loadu_pd(& _data_srcVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]);
+                const __m256d src_dof_3 = _mm256_loadu_pd(& _data_srcVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]);
+                const __m256d src_dof_4 = _mm256_loadu_pd(& _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1]);
+                const __m256d src_dof_5 = _mm256_loadu_pd(& _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge - 1)*(micro_edges_per_macro_edge + 1)) / (6)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]);
+                const __m256d src_dof_6 = _mm256_loadu_pd(& _data_srcEdge[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]);
+                const __m256d src_dof_7 = _mm256_loadu_pd(& _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1]);
+                const __m256d src_dof_8 = _mm256_loadu_pd(& _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 2*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1]);
+                const __m256d src_dof_9 = _mm256_loadu_pd(& _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]);
+                const __m256d k_dof_0 = _mm256_loadu_pd(& _data_kVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]);
+                const __m256d k_dof_1 = _mm256_loadu_pd(& _data_kVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]);
+                const __m256d k_dof_2 = _mm256_loadu_pd(& _data_kVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]);
+                const __m256d k_dof_3 = _mm256_loadu_pd(& _data_kVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]);
+                const __m256d k_dof_4 = _mm256_loadu_pd(& _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1]);
+                const __m256d k_dof_5 = _mm256_loadu_pd(& _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge - 1)*(micro_edges_per_macro_edge + 1)) / (6)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]);
+                const __m256d k_dof_6 = _mm256_loadu_pd(& _data_kEdge[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]);
+                const __m256d k_dof_7 = _mm256_loadu_pd(& _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1]);
+                const __m256d k_dof_8 = _mm256_loadu_pd(& _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 2*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1]);
+                const __m256d k_dof_9 = _mm256_loadu_pd(& _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]);
+                __m256d q_acc_0_0 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_0_1 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_0_2 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_0_3 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_0_4 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_0_5 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_0_6 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_0_7 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_0_8 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_0_9 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_1_0 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_1_1 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_1_2 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_1_3 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_1_4 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_1_5 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_1_6 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_1_7 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_1_8 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_1_9 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_2_0 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_2_1 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_2_2 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_2_3 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_2_4 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_2_5 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_2_6 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_2_7 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_2_8 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_2_9 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_3_0 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_3_1 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_3_2 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_3_3 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_3_4 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_3_5 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_3_6 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_3_7 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_3_8 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_3_9 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                for (int64_t q = 0; q < 11; q += 1)
+                {
+                   const __m256d tmp_qloop_0 = _mm256_mul_pd(_mm256_set_pd(4.0,4.0,4.0,4.0),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q]));
+                   const __m256d tmp_qloop_1 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q]));
+                   const __m256d tmp_qloop_2 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q]));
+                   const __m256d tmp_qloop_3 = _mm256_mul_pd(_mm256_mul_pd(_mm256_set_pd(4.0,4.0,4.0,4.0),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q])),_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q]));
+                   const __m256d tmp_qloop_4 = _mm256_mul_pd(_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q]),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q]));
+                   const __m256d tmp_qloop_5 = _mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(2.0,2.0,2.0,2.0));
+                   const __m256d tmp_qloop_6 = _mm256_mul_pd(_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q]),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q]));
+                   const __m256d tmp_qloop_7 = _mm256_mul_pd(tmp_qloop_6,_mm256_set_pd(2.0,2.0,2.0,2.0));
+                   const __m256d tmp_qloop_8 = _mm256_mul_pd(_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q]),_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q]));
+                   const __m256d tmp_qloop_9 = _mm256_mul_pd(tmp_qloop_8,_mm256_set_pd(2.0,2.0,2.0,2.0));
+                   const __m256d tmp_qloop_10 = _mm256_add_pd(tmp_qloop_1,tmp_qloop_2);
+                   const __m256d tmp_qloop_11 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(p_affine_0_0,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),p_affine_1_0),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q])),_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(p_affine_0_0,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),p_affine_2_0),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q]))),_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(p_affine_0_0,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),p_affine_3_0),_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q]))),p_affine_0_0);
+                   const __m256d tmp_qloop_12 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(p_affine_0_1,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),p_affine_1_1),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q])),_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(p_affine_0_1,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),p_affine_2_1),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q]))),_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(p_affine_0_1,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),p_affine_3_1),_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q]))),p_affine_0_1);
+                   const __m256d tmp_qloop_13 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(p_affine_0_2,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),p_affine_1_2),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q])),_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(p_affine_0_2,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),p_affine_2_2),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q]))),_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(p_affine_0_2,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),p_affine_3_2),_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q]))),p_affine_0_2);
+                   const __m256d tmp_qloop_14 = _mm256_mul_pd(tmp_qloop_11,tmp_qloop_11);
+                   const __m256d tmp_qloop_15 = _mm256_mul_pd(tmp_qloop_12,tmp_qloop_12);
+                   const __m256d tmp_qloop_16 = _mm256_mul_pd(tmp_qloop_13,tmp_qloop_13);
+                   const __m256d tmp_qloop_17 = _mm256_add_pd(_mm256_add_pd(tmp_qloop_14,tmp_qloop_15),tmp_qloop_16);
+                   const __m256d tmp_qloop_18 = _mm256_div_pd(_mm256_sqrt_pd(tmp_qloop_17),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_17,tmp_qloop_17),tmp_qloop_17),tmp_qloop_17),tmp_qloop_17));
+                   const __m256d tmp_qloop_39 = _mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_31,tmp_qloop_31,tmp_qloop_31,tmp_qloop_31)),_mm256_mul_pd(tmp_qloop_13,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)));
+                   const __m256d tmp_qloop_40 = _mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_20,tmp_qloop_20,tmp_qloop_20,tmp_qloop_20)),_mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)));
+                   const __m256d tmp_qloop_41 = _mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_27,tmp_qloop_27,tmp_qloop_27,tmp_qloop_27)),_mm256_mul_pd(tmp_qloop_12,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)));
+                   const __m256d tmp_qloop_42 = _mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(radRayVertex,radRayVertex,radRayVertex,radRayVertex),_mm256_set_pd(tmp_qloop_35,tmp_qloop_35,tmp_qloop_35,tmp_qloop_35)),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_39,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_set_pd(tmp_qloop_26,tmp_qloop_26,tmp_qloop_26,tmp_qloop_26)),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_40,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_set_pd(tmp_qloop_33,tmp_qloop_33,tmp_qloop_33,tmp_qloop_33))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_41,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_set_pd(tmp_qloop_34,tmp_qloop_34,tmp_qloop_34,tmp_qloop_34))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_41,_mm256_set_pd(tmp_qloop_21,tmp_qloop_21,tmp_qloop_21,tmp_qloop_21)),_mm256_set_pd(tmp_qloop_22,tmp_qloop_22,tmp_qloop_22,tmp_qloop_22))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_40,_mm256_set_pd(tmp_qloop_25,tmp_qloop_25,tmp_qloop_25,tmp_qloop_25)),_mm256_set_pd(tmp_qloop_32,tmp_qloop_32,tmp_qloop_32,tmp_qloop_32))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_39,_mm256_set_pd(tmp_qloop_28,tmp_qloop_28,tmp_qloop_28,tmp_qloop_28)),_mm256_set_pd(tmp_qloop_29,tmp_qloop_29,tmp_qloop_29,tmp_qloop_29))),_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_set_pd(tmp_qloop_37,tmp_qloop_37,tmp_qloop_37,tmp_qloop_37)));
+                   const __m256d tmp_qloop_43 = _mm256_mul_pd(tmp_qloop_42,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0));
+                   const __m256d tmp_qloop_44 = _mm256_add_pd(_mm256_mul_pd(tmp_qloop_17,_mm256_set_pd(tmp_qloop_38,tmp_qloop_38,tmp_qloop_38,tmp_qloop_38)),_mm256_mul_pd(tmp_qloop_13,tmp_qloop_43));
+                   const __m256d tmp_qloop_46 = _mm256_add_pd(_mm256_mul_pd(tmp_qloop_17,_mm256_set_pd(tmp_qloop_45,tmp_qloop_45,tmp_qloop_45,tmp_qloop_45)),_mm256_mul_pd(tmp_qloop_11,tmp_qloop_43));
+                   const __m256d tmp_qloop_48 = _mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_12,tmp_qloop_42),_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_17,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_set_pd(tmp_qloop_37,tmp_qloop_37,tmp_qloop_37,tmp_qloop_37)),_mm256_set_pd(tmp_qloop_47,tmp_qloop_47,tmp_qloop_47,tmp_qloop_47)));
+                   const __m256d tmp_qloop_49 = _mm256_add_pd(_mm256_mul_pd(tmp_qloop_17,_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_12,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_set_pd(tmp_qloop_37,tmp_qloop_37,tmp_qloop_37,tmp_qloop_37)),_mm256_set_pd(tmp_qloop_47,tmp_qloop_47,tmp_qloop_47,tmp_qloop_47)),tmp_qloop_42)),_mm256_mul_pd(tmp_qloop_15,tmp_qloop_43));
+                   const __m256d tmp_qloop_50 = _mm256_mul_pd(tmp_qloop_18,_mm256_set_pd(tmp_qloop_36,tmp_qloop_36,tmp_qloop_36,tmp_qloop_36));
+                   const __m256d tmp_qloop_51 = _mm256_mul_pd(tmp_qloop_11,tmp_qloop_46);
+                   const __m256d tmp_qloop_52 = _mm256_mul_pd(tmp_qloop_13,tmp_qloop_44);
+                   const __m256d tmp_qloop_53 = _mm256_add_pd(_mm256_mul_pd(tmp_qloop_17,_mm256_add_pd(_mm256_mul_pd(tmp_qloop_13,_mm256_set_pd(tmp_qloop_38,tmp_qloop_38,tmp_qloop_38,tmp_qloop_38)),tmp_qloop_42)),_mm256_mul_pd(tmp_qloop_16,tmp_qloop_43));
+                   const __m256d tmp_qloop_54 = _mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_12,tmp_qloop_48),tmp_qloop_50),_mm256_set_pd(1.0,1.0,1.0,1.0));
+                   const __m256d tmp_qloop_55 = _mm256_add_pd(_mm256_mul_pd(tmp_qloop_17,_mm256_add_pd(_mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(tmp_qloop_45,tmp_qloop_45,tmp_qloop_45,tmp_qloop_45)),tmp_qloop_42)),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_14,tmp_qloop_42),_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)));
+                   const __m256d tmp_qloop_56 = _mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(k_dof_1,_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q])),tmp_qloop_5)),_mm256_mul_pd(k_dof_2,_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q])),tmp_qloop_7))),_mm256_mul_pd(k_dof_3,_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q])),tmp_qloop_9))),_mm256_mul_pd(k_dof_9,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(4.0,4.0,4.0,4.0),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q])),_mm256_mul_pd(tmp_qloop_10,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(-4.0,-4.0,-4.0,-4.0))))),_mm256_mul_pd(k_dof_8,_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(4.0,4.0,4.0,4.0),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q])),_mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_3,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_6,_mm256_set_pd(-4.0,-4.0,-4.0,-4.0))))),_mm256_mul_pd(k_dof_7,_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(4.0,4.0,4.0,4.0),_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q])),_mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_3,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_8,_mm256_set_pd(-4.0,-4.0,-4.0,-4.0))))),_mm256_mul_pd(k_dof_0,_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-3.0,-3.0,-3.0,-3.0),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q])),_mm256_mul_pd(_mm256_set_pd(-3.0,-3.0,-3.0,-3.0),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q]))),_mm256_mul_pd(_mm256_set_pd(-3.0,-3.0,-3.0,-3.0),_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q]))),_mm256_set_pd(1.0,1.0,1.0,1.0)),tmp_qloop_10),tmp_qloop_3),tmp_qloop_5),tmp_qloop_7),tmp_qloop_9))),_mm256_mul_pd(k_dof_4,tmp_qloop_3)),_mm256_mul_pd(k_dof_5,tmp_qloop_2)),_mm256_mul_pd(k_dof_6,tmp_qloop_1)),_mm256_set_pd(_data_q_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q])),_mm256_castsi256_pd(_mm256_and_si256(_mm256_set1_epi64x(0x7fffffffffffffff), _mm256_castpd_si256(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_51,tmp_qloop_53),tmp_qloop_54),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_52,tmp_qloop_54),tmp_qloop_55)),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_49,tmp_qloop_50),tmp_qloop_51),tmp_qloop_52),_mm256_set_pd(1.0,1.0,1.0,1.0))),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_18,tmp_qloop_49),tmp_qloop_53),tmp_qloop_55),_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_set_pd(tmp_qloop_36,tmp_qloop_36,tmp_qloop_36,tmp_qloop_36))),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_11,tmp_qloop_12),tmp_qloop_13),tmp_qloop_18),tmp_qloop_44),tmp_qloop_46),tmp_qloop_48),_mm256_set_pd(-2.0,-2.0,-2.0,-2.0)),_mm256_set_pd(tmp_qloop_36,tmp_qloop_36,tmp_qloop_36,tmp_qloop_36)))))));
+                   const __m256d tmp_qloop_57 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 14],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 14],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 14],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 14]));
+                   const __m256d q_tmp_0_0 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q]));
+                   const __m256d q_tmp_0_1 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 1],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 1],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 1],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 1]));
+                   const __m256d q_tmp_0_2 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 2],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 2],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 2],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 2]));
+                   const __m256d q_tmp_0_3 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 3],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 3],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 3],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 3]));
+                   const __m256d q_tmp_0_4 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 4],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 4],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 4],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 4]));
+                   const __m256d q_tmp_0_5 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 5],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 5],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 5],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 5]));
+                   const __m256d q_tmp_0_6 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 6],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 6],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 6],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 6]));
+                   const __m256d q_tmp_0_7 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 7],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 7],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 7],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 7]));
+                   const __m256d q_tmp_0_8 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 8],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 8],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 8],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 8]));
+                   const __m256d q_tmp_0_9 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 9],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 9],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 9],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 9]));
+                   const __m256d q_tmp_1_0 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 10],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 10],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 10],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 10]));
+                   const __m256d q_tmp_1_1 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 11],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 11],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 11],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 11]));
+                   const __m256d q_tmp_1_2 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 12],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 12],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 12],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 12]));
+                   const __m256d q_tmp_1_3 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 13],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 13],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 13],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 13]));
+                   const __m256d q_tmp_1_4 = tmp_qloop_57;
+                   const __m256d q_tmp_1_5 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 15],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 15],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 15],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 15]));
+                   const __m256d q_tmp_1_6 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 16],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 16],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 16],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 16]));
+                   const __m256d q_tmp_1_7 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 17],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 17],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 17],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 17]));
+                   const __m256d q_tmp_1_8 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 18],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 18],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 18],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 18]));
+                   const __m256d q_tmp_1_9 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 19],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 19],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 19],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 19]));
+                   const __m256d q_tmp_2_0 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 20],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 20],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 20],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 20]));
+                   const __m256d q_tmp_2_1 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 21],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 21],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 21],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 21]));
+                   const __m256d q_tmp_2_2 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 22],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 22],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 22],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 22]));
+                   const __m256d q_tmp_2_3 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 23],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 23],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 23],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 23]));
+                   const __m256d q_tmp_2_4 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 24],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 24],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 24],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 24]));
+                   const __m256d q_tmp_2_5 = tmp_qloop_57;
+                   const __m256d q_tmp_2_6 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 25],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 25],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 25],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 25]));
+                   const __m256d q_tmp_2_7 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 26],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 26],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 26],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 26]));
+                   const __m256d q_tmp_2_8 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 27],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 27],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 27],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 27]));
+                   const __m256d q_tmp_2_9 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 28],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 28],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 28],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 28]));
+                   const __m256d q_tmp_3_0 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 29],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 29],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 29],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 29]));
+                   const __m256d q_tmp_3_1 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 30],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 30],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 30],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 30]));
+                   const __m256d q_tmp_3_2 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 31],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 31],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 31],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 31]));
+                   const __m256d q_tmp_3_3 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 32],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 32],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 32],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 32]));
+                   const __m256d q_tmp_3_4 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 33],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 33],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 33],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 33]));
+                   const __m256d q_tmp_3_5 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 34],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 34],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 34],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 34]));
+                   const __m256d q_tmp_3_6 = tmp_qloop_57;
+                   const __m256d q_tmp_3_7 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 35],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 35],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 35],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 35]));
+                   const __m256d q_tmp_3_8 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 36],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 36],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 36],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 36]));
+                   const __m256d q_tmp_3_9 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 37],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 37],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 37],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 37]));
+                   q_acc_0_0 = _mm256_add_pd(q_acc_0_0,q_tmp_0_0);
+                   q_acc_0_1 = _mm256_add_pd(q_acc_0_1,q_tmp_0_1);
+                   q_acc_0_2 = _mm256_add_pd(q_acc_0_2,q_tmp_0_2);
+                   q_acc_0_3 = _mm256_add_pd(q_acc_0_3,q_tmp_0_3);
+                   q_acc_0_4 = _mm256_add_pd(q_acc_0_4,q_tmp_0_4);
+                   q_acc_0_5 = _mm256_add_pd(q_acc_0_5,q_tmp_0_5);
+                   q_acc_0_6 = _mm256_add_pd(q_acc_0_6,q_tmp_0_6);
+                   q_acc_0_7 = _mm256_add_pd(q_acc_0_7,q_tmp_0_7);
+                   q_acc_0_8 = _mm256_add_pd(q_acc_0_8,q_tmp_0_8);
+                   q_acc_0_9 = _mm256_add_pd(q_acc_0_9,q_tmp_0_9);
+                   q_acc_1_0 = _mm256_add_pd(q_acc_1_0,q_tmp_1_0);
+                   q_acc_1_1 = _mm256_add_pd(q_acc_1_1,q_tmp_1_1);
+                   q_acc_1_2 = _mm256_add_pd(q_acc_1_2,q_tmp_1_2);
+                   q_acc_1_3 = _mm256_add_pd(q_acc_1_3,q_tmp_1_3);
+                   q_acc_1_4 = _mm256_add_pd(q_acc_1_4,q_tmp_1_4);
+                   q_acc_1_5 = _mm256_add_pd(q_acc_1_5,q_tmp_1_5);
+                   q_acc_1_6 = _mm256_add_pd(q_acc_1_6,q_tmp_1_6);
+                   q_acc_1_7 = _mm256_add_pd(q_acc_1_7,q_tmp_1_7);
+                   q_acc_1_8 = _mm256_add_pd(q_acc_1_8,q_tmp_1_8);
+                   q_acc_1_9 = _mm256_add_pd(q_acc_1_9,q_tmp_1_9);
+                   q_acc_2_0 = _mm256_add_pd(q_acc_2_0,q_tmp_2_0);
+                   q_acc_2_1 = _mm256_add_pd(q_acc_2_1,q_tmp_2_1);
+                   q_acc_2_2 = _mm256_add_pd(q_acc_2_2,q_tmp_2_2);
+                   q_acc_2_3 = _mm256_add_pd(q_acc_2_3,q_tmp_2_3);
+                   q_acc_2_4 = _mm256_add_pd(q_acc_2_4,q_tmp_2_4);
+                   q_acc_2_5 = _mm256_add_pd(q_acc_2_5,q_tmp_2_5);
+                   q_acc_2_6 = _mm256_add_pd(q_acc_2_6,q_tmp_2_6);
+                   q_acc_2_7 = _mm256_add_pd(q_acc_2_7,q_tmp_2_7);
+                   q_acc_2_8 = _mm256_add_pd(q_acc_2_8,q_tmp_2_8);
+                   q_acc_2_9 = _mm256_add_pd(q_acc_2_9,q_tmp_2_9);
+                   q_acc_3_0 = _mm256_add_pd(q_acc_3_0,q_tmp_3_0);
+                   q_acc_3_1 = _mm256_add_pd(q_acc_3_1,q_tmp_3_1);
+                   q_acc_3_2 = _mm256_add_pd(q_acc_3_2,q_tmp_3_2);
+                   q_acc_3_3 = _mm256_add_pd(q_acc_3_3,q_tmp_3_3);
+                   q_acc_3_4 = _mm256_add_pd(q_acc_3_4,q_tmp_3_4);
+                   q_acc_3_5 = _mm256_add_pd(q_acc_3_5,q_tmp_3_5);
+                   q_acc_3_6 = _mm256_add_pd(q_acc_3_6,q_tmp_3_6);
+                   q_acc_3_7 = _mm256_add_pd(q_acc_3_7,q_tmp_3_7);
+                   q_acc_3_8 = _mm256_add_pd(q_acc_3_8,q_tmp_3_8);
+                   q_acc_3_9 = _mm256_add_pd(q_acc_3_9,q_tmp_3_9);
+                }
+                const __m256d elMatVec_0 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(q_acc_0_0,src_dof_0),_mm256_mul_pd(q_acc_0_1,src_dof_1)),_mm256_mul_pd(q_acc_0_2,src_dof_2)),_mm256_mul_pd(q_acc_0_3,src_dof_3)),_mm256_mul_pd(q_acc_0_4,src_dof_4)),_mm256_mul_pd(q_acc_0_5,src_dof_5)),_mm256_mul_pd(q_acc_0_6,src_dof_6)),_mm256_mul_pd(q_acc_0_7,src_dof_7)),_mm256_mul_pd(q_acc_0_8,src_dof_8)),_mm256_mul_pd(q_acc_0_9,src_dof_9));
+                const __m256d elMatVec_1 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(q_acc_1_0,src_dof_0),_mm256_mul_pd(q_acc_1_1,src_dof_1)),_mm256_mul_pd(q_acc_1_2,src_dof_2)),_mm256_mul_pd(q_acc_1_3,src_dof_3)),_mm256_mul_pd(q_acc_1_4,src_dof_4)),_mm256_mul_pd(q_acc_1_5,src_dof_5)),_mm256_mul_pd(q_acc_1_6,src_dof_6)),_mm256_mul_pd(q_acc_1_7,src_dof_7)),_mm256_mul_pd(q_acc_1_8,src_dof_8)),_mm256_mul_pd(q_acc_1_9,src_dof_9));
+                const __m256d elMatVec_2 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(q_acc_2_0,src_dof_0),_mm256_mul_pd(q_acc_2_1,src_dof_1)),_mm256_mul_pd(q_acc_2_2,src_dof_2)),_mm256_mul_pd(q_acc_2_3,src_dof_3)),_mm256_mul_pd(q_acc_2_4,src_dof_4)),_mm256_mul_pd(q_acc_2_5,src_dof_5)),_mm256_mul_pd(q_acc_2_6,src_dof_6)),_mm256_mul_pd(q_acc_2_7,src_dof_7)),_mm256_mul_pd(q_acc_2_8,src_dof_8)),_mm256_mul_pd(q_acc_2_9,src_dof_9));
+                const __m256d elMatVec_3 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(q_acc_3_0,src_dof_0),_mm256_mul_pd(q_acc_3_1,src_dof_1)),_mm256_mul_pd(q_acc_3_2,src_dof_2)),_mm256_mul_pd(q_acc_3_3,src_dof_3)),_mm256_mul_pd(q_acc_3_4,src_dof_4)),_mm256_mul_pd(q_acc_3_5,src_dof_5)),_mm256_mul_pd(q_acc_3_6,src_dof_6)),_mm256_mul_pd(q_acc_3_7,src_dof_7)),_mm256_mul_pd(q_acc_3_8,src_dof_8)),_mm256_mul_pd(q_acc_3_9,src_dof_9));
+                _mm256_storeu_pd(&_data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1],_mm256_add_pd(elMatVec_0,_mm256_loadu_pd(& _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1])));
+                _mm256_storeu_pd(&_data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))],_mm256_add_pd(elMatVec_1,_mm256_loadu_pd(& _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))])));
+                _mm256_storeu_pd(&_data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1],_mm256_add_pd(elMatVec_2,_mm256_loadu_pd(& _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1])));
+                _mm256_storeu_pd(&_data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1],_mm256_add_pd(elMatVec_3,_mm256_loadu_pd(& _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1])));
+             }
+             for (int64_t ctr_0 = (int64_t)((-ctr_1 - ctr_2 + micro_edges_per_macro_edge - 1) / (4)) * (4); ctr_0 < -ctr_1 - ctr_2 + micro_edges_per_macro_edge - 1; ctr_0 += 1)
+             {
+            
+                const int64_t phantom_ctr_0 = ctr_0;
+                real_t _data_float_loop_ctr_array_dim_0[4];
+                _data_float_loop_ctr_array_dim_0[0] = (real_t) ctr_0+ 0;
+                _data_float_loop_ctr_array_dim_0[1] = (real_t) ctr_0+ 1;
+                _data_float_loop_ctr_array_dim_0[2] = (real_t) ctr_0+ 2;
+                _data_float_loop_ctr_array_dim_0[3] = (real_t) ctr_0+ 3;
+                real_t _data_float_loop_ctr_array_dim_1[4];
+                _data_float_loop_ctr_array_dim_1[0] = (real_t) ctr_1;
+                _data_float_loop_ctr_array_dim_1[1] = (real_t) ctr_1;
+                _data_float_loop_ctr_array_dim_1[2] = (real_t) ctr_1;
+                _data_float_loop_ctr_array_dim_1[3] = (real_t) ctr_1;
+                real_t _data_float_loop_ctr_array_dim_2[4];
+                _data_float_loop_ctr_array_dim_2[0] = (real_t) ctr_2;
+                _data_float_loop_ctr_array_dim_2[1] = (real_t) ctr_2;
+                _data_float_loop_ctr_array_dim_2[2] = (real_t) ctr_2;
+                _data_float_loop_ctr_array_dim_2[3] = (real_t) ctr_2;
+            
+                const real_t p_affine_0_0 = macro_vertex_coord_id_0comp0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0)*(1.0 + _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0)*1.0*_data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0)*1.0*_data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0];
+                const real_t p_affine_0_1 = macro_vertex_coord_id_0comp1 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1)*(1.0 + _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1)*1.0*_data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1)*1.0*_data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0];
+                const real_t p_affine_0_2 = macro_vertex_coord_id_0comp2 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2)*(1.0 + _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2)*1.0*_data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2)*1.0*_data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0];
+                const real_t p_affine_1_0 = macro_vertex_coord_id_0comp0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0)*1.0*_data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0)*(1.0 + _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0)*1.0*_data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0];
+                const real_t p_affine_1_1 = macro_vertex_coord_id_0comp1 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1)*1.0*_data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1)*(1.0 + _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1)*1.0*_data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0];
+                const real_t p_affine_1_2 = macro_vertex_coord_id_0comp2 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2)*1.0*_data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2)*(1.0 + _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2)*1.0*_data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0];
+                const real_t p_affine_2_0 = macro_vertex_coord_id_0comp0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0)*(1.0 + _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0)*(1.0 + _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0)*1.0*_data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0];
+                const real_t p_affine_2_1 = macro_vertex_coord_id_0comp1 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1)*(1.0 + _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1)*(1.0 + _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1)*1.0*_data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0];
+                const real_t p_affine_2_2 = macro_vertex_coord_id_0comp2 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2)*(1.0 + _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2)*(1.0 + _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2)*1.0*_data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0];
+                const real_t p_affine_3_0 = macro_vertex_coord_id_0comp0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0)*(1.0 + _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0)*1.0*_data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0)*(1.0 + _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0])*1.0;
+                const real_t p_affine_3_1 = macro_vertex_coord_id_0comp1 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1)*(1.0 + _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1)*1.0*_data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1)*(1.0 + _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0])*1.0;
+                const real_t p_affine_3_2 = macro_vertex_coord_id_0comp2 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2)*(1.0 + _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2)*1.0*_data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2)*(1.0 + _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0])*1.0;
+                const real_t src_dof_0 = _data_srcVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1];
+                const real_t src_dof_1 = _data_srcVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))];
+                const real_t src_dof_2 = _data_srcVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1];
+                const real_t src_dof_3 = _data_srcVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1];
+                const real_t src_dof_4 = _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1];
+                const real_t src_dof_5 = _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge - 1)*(micro_edges_per_macro_edge + 1)) / (6)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))];
+                const real_t src_dof_6 = _data_srcEdge[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))];
+                const real_t src_dof_7 = _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1];
+                const real_t src_dof_8 = _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 2*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1];
+                const real_t src_dof_9 = _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))];
+                const real_t k_dof_0 = _data_kVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1];
+                const real_t k_dof_1 = _data_kVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))];
+                const real_t k_dof_2 = _data_kVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1];
+                const real_t k_dof_3 = _data_kVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1];
+                const real_t k_dof_4 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1];
+                const real_t k_dof_5 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge - 1)*(micro_edges_per_macro_edge + 1)) / (6)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))];
+                const real_t k_dof_6 = _data_kEdge[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))];
+                const real_t k_dof_7 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1];
+                const real_t k_dof_8 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 2*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1];
+                const real_t k_dof_9 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))];
+                real_t q_acc_0_0 = 0.0;
+                real_t q_acc_0_1 = 0.0;
+                real_t q_acc_0_2 = 0.0;
+                real_t q_acc_0_3 = 0.0;
+                real_t q_acc_0_4 = 0.0;
+                real_t q_acc_0_5 = 0.0;
+                real_t q_acc_0_6 = 0.0;
+                real_t q_acc_0_7 = 0.0;
+                real_t q_acc_0_8 = 0.0;
+                real_t q_acc_0_9 = 0.0;
+                real_t q_acc_1_0 = 0.0;
+                real_t q_acc_1_1 = 0.0;
+                real_t q_acc_1_2 = 0.0;
+                real_t q_acc_1_3 = 0.0;
+                real_t q_acc_1_4 = 0.0;
+                real_t q_acc_1_5 = 0.0;
+                real_t q_acc_1_6 = 0.0;
+                real_t q_acc_1_7 = 0.0;
+                real_t q_acc_1_8 = 0.0;
+                real_t q_acc_1_9 = 0.0;
+                real_t q_acc_2_0 = 0.0;
+                real_t q_acc_2_1 = 0.0;
+                real_t q_acc_2_2 = 0.0;
+                real_t q_acc_2_3 = 0.0;
+                real_t q_acc_2_4 = 0.0;
+                real_t q_acc_2_5 = 0.0;
+                real_t q_acc_2_6 = 0.0;
+                real_t q_acc_2_7 = 0.0;
+                real_t q_acc_2_8 = 0.0;
+                real_t q_acc_2_9 = 0.0;
+                real_t q_acc_3_0 = 0.0;
+                real_t q_acc_3_1 = 0.0;
+                real_t q_acc_3_2 = 0.0;
+                real_t q_acc_3_3 = 0.0;
+                real_t q_acc_3_4 = 0.0;
+                real_t q_acc_3_5 = 0.0;
+                real_t q_acc_3_6 = 0.0;
+                real_t q_acc_3_7 = 0.0;
+                real_t q_acc_3_8 = 0.0;
+                real_t q_acc_3_9 = 0.0;
+                for (int64_t q = 0; q < 11; q += 1)
+                {
+                   const real_t tmp_qloop_0 = 4.0*_data_q_p_0[q];
+                   const real_t tmp_qloop_1 = tmp_qloop_0*_data_q_p_1[q];
+                   const real_t tmp_qloop_2 = tmp_qloop_0*_data_q_p_2[q];
+                   const real_t tmp_qloop_3 = 4.0*_data_q_p_1[q]*_data_q_p_2[q];
+                   const real_t tmp_qloop_4 = (_data_q_p_0[q]*_data_q_p_0[q]);
+                   const real_t tmp_qloop_5 = tmp_qloop_4*2.0;
+                   const real_t tmp_qloop_6 = (_data_q_p_1[q]*_data_q_p_1[q]);
+                   const real_t tmp_qloop_7 = tmp_qloop_6*2.0;
+                   const real_t tmp_qloop_8 = (_data_q_p_2[q]*_data_q_p_2[q]);
+                   const real_t tmp_qloop_9 = tmp_qloop_8*2.0;
+                   const real_t tmp_qloop_10 = tmp_qloop_1 + tmp_qloop_2;
+                   const real_t tmp_qloop_11 = p_affine_0_0 + (-p_affine_0_0 + p_affine_1_0)*_data_q_p_0[q] + (-p_affine_0_0 + p_affine_2_0)*_data_q_p_1[q] + (-p_affine_0_0 + p_affine_3_0)*_data_q_p_2[q];
+                   const real_t tmp_qloop_12 = p_affine_0_1 + (-p_affine_0_1 + p_affine_1_1)*_data_q_p_0[q] + (-p_affine_0_1 + p_affine_2_1)*_data_q_p_1[q] + (-p_affine_0_1 + p_affine_3_1)*_data_q_p_2[q];
+                   const real_t tmp_qloop_13 = p_affine_0_2 + (-p_affine_0_2 + p_affine_1_2)*_data_q_p_0[q] + (-p_affine_0_2 + p_affine_2_2)*_data_q_p_1[q] + (-p_affine_0_2 + p_affine_3_2)*_data_q_p_2[q];
+                   const real_t tmp_qloop_14 = (tmp_qloop_11*tmp_qloop_11);
+                   const real_t tmp_qloop_15 = (tmp_qloop_12*tmp_qloop_12);
+                   const real_t tmp_qloop_16 = (tmp_qloop_13*tmp_qloop_13);
+                   const real_t tmp_qloop_17 = tmp_qloop_14 + tmp_qloop_15 + tmp_qloop_16;
+                   const real_t tmp_qloop_18 = pow(tmp_qloop_17, -4.5000000000000000);
+                   const real_t tmp_qloop_39 = -tmp_qloop_13 - tmp_qloop_31;
+                   const real_t tmp_qloop_40 = -tmp_qloop_11 - tmp_qloop_20;
+                   const real_t tmp_qloop_41 = -tmp_qloop_12 - tmp_qloop_27;
+                   const real_t tmp_qloop_42 = radRayVertex*tmp_qloop_35 - tmp_qloop_37*(tmp_qloop_21*tmp_qloop_22*tmp_qloop_41 + tmp_qloop_25*tmp_qloop_32*tmp_qloop_40 - tmp_qloop_26*tmp_qloop_39 + tmp_qloop_28*tmp_qloop_29*tmp_qloop_39 - tmp_qloop_33*tmp_qloop_40 - tmp_qloop_34*tmp_qloop_41);
+                   const real_t tmp_qloop_43 = -tmp_qloop_42;
+                   const real_t tmp_qloop_44 = tmp_qloop_13*tmp_qloop_43 + tmp_qloop_17*tmp_qloop_38;
+                   const real_t tmp_qloop_46 = tmp_qloop_11*tmp_qloop_43 + tmp_qloop_17*tmp_qloop_45;
+                   const real_t tmp_qloop_48 = -tmp_qloop_12*tmp_qloop_42 - tmp_qloop_17*tmp_qloop_37*tmp_qloop_47;
+                   const real_t tmp_qloop_49 = tmp_qloop_15*tmp_qloop_43 + tmp_qloop_17*(-tmp_qloop_12*tmp_qloop_37*tmp_qloop_47 + tmp_qloop_42);
+                   const real_t tmp_qloop_50 = tmp_qloop_18*tmp_qloop_36;
+                   const real_t tmp_qloop_51 = tmp_qloop_11*tmp_qloop_46;
+                   const real_t tmp_qloop_52 = tmp_qloop_13*tmp_qloop_44;
+                   const real_t tmp_qloop_53 = tmp_qloop_16*tmp_qloop_43 + tmp_qloop_17*(tmp_qloop_13*tmp_qloop_38 + tmp_qloop_42);
+                   const real_t tmp_qloop_54 = tmp_qloop_12*tmp_qloop_48*tmp_qloop_50*1.0;
+                   const real_t tmp_qloop_55 = -tmp_qloop_14*tmp_qloop_42 + tmp_qloop_17*(tmp_qloop_11*tmp_qloop_45 + tmp_qloop_42);
+                   const real_t tmp_qloop_56 = (k_dof_0*(tmp_qloop_10 + tmp_qloop_3 + tmp_qloop_5 + tmp_qloop_7 + tmp_qloop_9 - 3.0*_data_q_p_0[q] - 3.0*_data_q_p_1[q] - 3.0*_data_q_p_2[q] + 1.0) + k_dof_1*(tmp_qloop_5 - _data_q_p_0[q]) + k_dof_2*(tmp_qloop_7 - _data_q_p_1[q]) + k_dof_3*(tmp_qloop_9 - _data_q_p_2[q]) + k_dof_4*tmp_qloop_3 + k_dof_5*tmp_qloop_2 + k_dof_6*tmp_qloop_1 + k_dof_7*(-tmp_qloop_2 - tmp_qloop_3 + tmp_qloop_8*-4.0 + 4.0*_data_q_p_2[q]) + k_dof_8*(-tmp_qloop_1 - tmp_qloop_3 + tmp_qloop_6*-4.0 + 4.0*_data_q_p_1[q]) + k_dof_9*(-tmp_qloop_10 + tmp_qloop_4*-4.0 + 4.0*_data_q_p_0[q]))*abs(tmp_qloop_11*tmp_qloop_12*tmp_qloop_13*tmp_qloop_18*tmp_qloop_36*tmp_qloop_44*tmp_qloop_46*tmp_qloop_48*-2.0 - tmp_qloop_18*tmp_qloop_36*tmp_qloop_49*tmp_qloop_53*tmp_qloop_55 + tmp_qloop_49*tmp_qloop_50*tmp_qloop_51*tmp_qloop_52*1.0 + tmp_qloop_51*tmp_qloop_53*tmp_qloop_54 + tmp_qloop_52*tmp_qloop_54*tmp_qloop_55)*_data_q_w[q];
+                   const real_t tmp_qloop_57 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 14];
+                   const real_t q_tmp_0_0 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q];
+                   const real_t q_tmp_0_1 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 1];
+                   const real_t q_tmp_0_2 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 2];
+                   const real_t q_tmp_0_3 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 3];
+                   const real_t q_tmp_0_4 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 4];
+                   const real_t q_tmp_0_5 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 5];
+                   const real_t q_tmp_0_6 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 6];
+                   const real_t q_tmp_0_7 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 7];
+                   const real_t q_tmp_0_8 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 8];
+                   const real_t q_tmp_0_9 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 9];
+                   const real_t q_tmp_1_0 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 10];
+                   const real_t q_tmp_1_1 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 11];
+                   const real_t q_tmp_1_2 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 12];
+                   const real_t q_tmp_1_3 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 13];
+                   const real_t q_tmp_1_4 = tmp_qloop_57;
+                   const real_t q_tmp_1_5 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 15];
+                   const real_t q_tmp_1_6 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 16];
+                   const real_t q_tmp_1_7 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 17];
+                   const real_t q_tmp_1_8 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 18];
+                   const real_t q_tmp_1_9 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 19];
+                   const real_t q_tmp_2_0 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 20];
+                   const real_t q_tmp_2_1 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 21];
+                   const real_t q_tmp_2_2 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 22];
+                   const real_t q_tmp_2_3 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 23];
+                   const real_t q_tmp_2_4 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 24];
+                   const real_t q_tmp_2_5 = tmp_qloop_57;
+                   const real_t q_tmp_2_6 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 25];
+                   const real_t q_tmp_2_7 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 26];
+                   const real_t q_tmp_2_8 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 27];
+                   const real_t q_tmp_2_9 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 28];
+                   const real_t q_tmp_3_0 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 29];
+                   const real_t q_tmp_3_1 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 30];
+                   const real_t q_tmp_3_2 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 31];
+                   const real_t q_tmp_3_3 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 32];
+                   const real_t q_tmp_3_4 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 33];
+                   const real_t q_tmp_3_5 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 34];
+                   const real_t q_tmp_3_6 = tmp_qloop_57;
+                   const real_t q_tmp_3_7 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 35];
+                   const real_t q_tmp_3_8 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 36];
+                   const real_t q_tmp_3_9 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 37];
+                   q_acc_0_0 = q_acc_0_0 + q_tmp_0_0;
+                   q_acc_0_1 = q_acc_0_1 + q_tmp_0_1;
+                   q_acc_0_2 = q_acc_0_2 + q_tmp_0_2;
+                   q_acc_0_3 = q_acc_0_3 + q_tmp_0_3;
+                   q_acc_0_4 = q_acc_0_4 + q_tmp_0_4;
+                   q_acc_0_5 = q_acc_0_5 + q_tmp_0_5;
+                   q_acc_0_6 = q_acc_0_6 + q_tmp_0_6;
+                   q_acc_0_7 = q_acc_0_7 + q_tmp_0_7;
+                   q_acc_0_8 = q_acc_0_8 + q_tmp_0_8;
+                   q_acc_0_9 = q_acc_0_9 + q_tmp_0_9;
+                   q_acc_1_0 = q_acc_1_0 + q_tmp_1_0;
+                   q_acc_1_1 = q_acc_1_1 + q_tmp_1_1;
+                   q_acc_1_2 = q_acc_1_2 + q_tmp_1_2;
+                   q_acc_1_3 = q_acc_1_3 + q_tmp_1_3;
+                   q_acc_1_4 = q_acc_1_4 + q_tmp_1_4;
+                   q_acc_1_5 = q_acc_1_5 + q_tmp_1_5;
+                   q_acc_1_6 = q_acc_1_6 + q_tmp_1_6;
+                   q_acc_1_7 = q_acc_1_7 + q_tmp_1_7;
+                   q_acc_1_8 = q_acc_1_8 + q_tmp_1_8;
+                   q_acc_1_9 = q_acc_1_9 + q_tmp_1_9;
+                   q_acc_2_0 = q_acc_2_0 + q_tmp_2_0;
+                   q_acc_2_1 = q_acc_2_1 + q_tmp_2_1;
+                   q_acc_2_2 = q_acc_2_2 + q_tmp_2_2;
+                   q_acc_2_3 = q_acc_2_3 + q_tmp_2_3;
+                   q_acc_2_4 = q_acc_2_4 + q_tmp_2_4;
+                   q_acc_2_5 = q_acc_2_5 + q_tmp_2_5;
+                   q_acc_2_6 = q_acc_2_6 + q_tmp_2_6;
+                   q_acc_2_7 = q_acc_2_7 + q_tmp_2_7;
+                   q_acc_2_8 = q_acc_2_8 + q_tmp_2_8;
+                   q_acc_2_9 = q_acc_2_9 + q_tmp_2_9;
+                   q_acc_3_0 = q_acc_3_0 + q_tmp_3_0;
+                   q_acc_3_1 = q_acc_3_1 + q_tmp_3_1;
+                   q_acc_3_2 = q_acc_3_2 + q_tmp_3_2;
+                   q_acc_3_3 = q_acc_3_3 + q_tmp_3_3;
+                   q_acc_3_4 = q_acc_3_4 + q_tmp_3_4;
+                   q_acc_3_5 = q_acc_3_5 + q_tmp_3_5;
+                   q_acc_3_6 = q_acc_3_6 + q_tmp_3_6;
+                   q_acc_3_7 = q_acc_3_7 + q_tmp_3_7;
+                   q_acc_3_8 = q_acc_3_8 + q_tmp_3_8;
+                   q_acc_3_9 = q_acc_3_9 + q_tmp_3_9;
+                }
+                const real_t elMatVec_0 = q_acc_0_0*src_dof_0 + q_acc_0_1*src_dof_1 + q_acc_0_2*src_dof_2 + q_acc_0_3*src_dof_3 + q_acc_0_4*src_dof_4 + q_acc_0_5*src_dof_5 + q_acc_0_6*src_dof_6 + q_acc_0_7*src_dof_7 + q_acc_0_8*src_dof_8 + q_acc_0_9*src_dof_9;
+                const real_t elMatVec_1 = q_acc_1_0*src_dof_0 + q_acc_1_1*src_dof_1 + q_acc_1_2*src_dof_2 + q_acc_1_3*src_dof_3 + q_acc_1_4*src_dof_4 + q_acc_1_5*src_dof_5 + q_acc_1_6*src_dof_6 + q_acc_1_7*src_dof_7 + q_acc_1_8*src_dof_8 + q_acc_1_9*src_dof_9;
+                const real_t elMatVec_2 = q_acc_2_0*src_dof_0 + q_acc_2_1*src_dof_1 + q_acc_2_2*src_dof_2 + q_acc_2_3*src_dof_3 + q_acc_2_4*src_dof_4 + q_acc_2_5*src_dof_5 + q_acc_2_6*src_dof_6 + q_acc_2_7*src_dof_7 + q_acc_2_8*src_dof_8 + q_acc_2_9*src_dof_9;
+                const real_t elMatVec_3 = q_acc_3_0*src_dof_0 + q_acc_3_1*src_dof_1 + q_acc_3_2*src_dof_2 + q_acc_3_3*src_dof_3 + q_acc_3_4*src_dof_4 + q_acc_3_5*src_dof_5 + q_acc_3_6*src_dof_6 + q_acc_3_7*src_dof_7 + q_acc_3_8*src_dof_8 + q_acc_3_9*src_dof_9;
+                _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1] = elMatVec_0 + _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1];
+                _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))] = elMatVec_1 + _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))];
+                _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1] = elMatVec_2 + _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1];
+                _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1] = elMatVec_3 + _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1];
+             }
+          }
+       }
+       const real_t tmp_coords_jac_0_BLUE_DOWN = 1.0 / (micro_edges_per_macro_edge_float)*1.0;
+       const real_t tmp_coords_jac_1_BLUE_DOWN = macro_vertex_coord_id_0comp0 + tmp_coords_jac_0_BLUE_DOWN*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0);
+       const real_t tmp_coords_jac_2_BLUE_DOWN = macro_vertex_coord_id_0comp1 + tmp_coords_jac_0_BLUE_DOWN*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1);
+       const real_t tmp_coords_jac_3_BLUE_DOWN = macro_vertex_coord_id_0comp2 + tmp_coords_jac_0_BLUE_DOWN*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2);
+       const real_t tmp_coords_jac_4_BLUE_DOWN = tmp_coords_jac_0_BLUE_DOWN*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0);
+       const real_t tmp_coords_jac_5_BLUE_DOWN = macro_vertex_coord_id_0comp0 + tmp_coords_jac_4_BLUE_DOWN;
+       const real_t tmp_coords_jac_6_BLUE_DOWN = tmp_coords_jac_0_BLUE_DOWN*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1);
+       const real_t tmp_coords_jac_7_BLUE_DOWN = macro_vertex_coord_id_0comp1 + tmp_coords_jac_6_BLUE_DOWN;
+       const real_t tmp_coords_jac_8_BLUE_DOWN = tmp_coords_jac_0_BLUE_DOWN*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2);
+       const real_t tmp_coords_jac_9_BLUE_DOWN = macro_vertex_coord_id_0comp2 + tmp_coords_jac_8_BLUE_DOWN;
+       const real_t p_affine_const_0_0_BLUE_DOWN = tmp_coords_jac_1_BLUE_DOWN;
+       const real_t p_affine_const_0_1_BLUE_DOWN = tmp_coords_jac_2_BLUE_DOWN;
+       const real_t p_affine_const_0_2_BLUE_DOWN = tmp_coords_jac_3_BLUE_DOWN;
+       const real_t p_affine_const_1_0_BLUE_DOWN = tmp_coords_jac_5_BLUE_DOWN;
+       const real_t p_affine_const_1_1_BLUE_DOWN = tmp_coords_jac_7_BLUE_DOWN;
+       const real_t p_affine_const_1_2_BLUE_DOWN = tmp_coords_jac_9_BLUE_DOWN;
+       const real_t p_affine_const_2_0_BLUE_DOWN = tmp_coords_jac_0_BLUE_DOWN*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0) + tmp_coords_jac_5_BLUE_DOWN;
+       const real_t p_affine_const_2_1_BLUE_DOWN = tmp_coords_jac_0_BLUE_DOWN*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1) + tmp_coords_jac_7_BLUE_DOWN;
+       const real_t p_affine_const_2_2_BLUE_DOWN = tmp_coords_jac_0_BLUE_DOWN*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2) + tmp_coords_jac_9_BLUE_DOWN;
+       const real_t p_affine_const_3_0_BLUE_DOWN = tmp_coords_jac_1_BLUE_DOWN + tmp_coords_jac_4_BLUE_DOWN;
+       const real_t p_affine_const_3_1_BLUE_DOWN = tmp_coords_jac_2_BLUE_DOWN + tmp_coords_jac_6_BLUE_DOWN;
+       const real_t p_affine_const_3_2_BLUE_DOWN = tmp_coords_jac_3_BLUE_DOWN + tmp_coords_jac_8_BLUE_DOWN;
+       const real_t jac_affine_0_0_BLUE_DOWN = -p_affine_const_0_0_BLUE_DOWN + p_affine_const_1_0_BLUE_DOWN;
+       const real_t jac_affine_0_1_BLUE_DOWN = -p_affine_const_0_0_BLUE_DOWN + p_affine_const_2_0_BLUE_DOWN;
+       const real_t jac_affine_0_2_BLUE_DOWN = -p_affine_const_0_0_BLUE_DOWN + p_affine_const_3_0_BLUE_DOWN;
+       const real_t jac_affine_1_0_BLUE_DOWN = -p_affine_const_0_1_BLUE_DOWN + p_affine_const_1_1_BLUE_DOWN;
+       const real_t jac_affine_1_1_BLUE_DOWN = -p_affine_const_0_1_BLUE_DOWN + p_affine_const_2_1_BLUE_DOWN;
+       const real_t jac_affine_1_2_BLUE_DOWN = -p_affine_const_0_1_BLUE_DOWN + p_affine_const_3_1_BLUE_DOWN;
+       const real_t jac_affine_2_0_BLUE_DOWN = -p_affine_const_0_2_BLUE_DOWN + p_affine_const_1_2_BLUE_DOWN;
+       const real_t jac_affine_2_1_BLUE_DOWN = -p_affine_const_0_2_BLUE_DOWN + p_affine_const_2_2_BLUE_DOWN;
+       const real_t jac_affine_2_2_BLUE_DOWN = -p_affine_const_0_2_BLUE_DOWN + p_affine_const_3_2_BLUE_DOWN;
+       const real_t abs_det_jac_affine_BLUE_DOWN = abs(jac_affine_0_0_BLUE_DOWN*jac_affine_1_1_BLUE_DOWN*jac_affine_2_2_BLUE_DOWN - jac_affine_0_0_BLUE_DOWN*jac_affine_1_2_BLUE_DOWN*jac_affine_2_1_BLUE_DOWN - jac_affine_0_1_BLUE_DOWN*jac_affine_1_0_BLUE_DOWN*jac_affine_2_2_BLUE_DOWN + jac_affine_0_1_BLUE_DOWN*jac_affine_1_2_BLUE_DOWN*jac_affine_2_0_BLUE_DOWN + jac_affine_0_2_BLUE_DOWN*jac_affine_1_0_BLUE_DOWN*jac_affine_2_1_BLUE_DOWN - jac_affine_0_2_BLUE_DOWN*jac_affine_1_1_BLUE_DOWN*jac_affine_2_0_BLUE_DOWN);
+       {
+          /* CellType.BLUE_DOWN */
+          const real_t _data_phi_psi_jac_affine_det_0_0_BLUE_DOWN [] = {((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.010749089276961213)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0013747922567553051)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.01396287204173041)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.008164600589399525)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.012151214443257608)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.019083835042434261)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.072053489056043002)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0046416810200408439)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.017525267423213611)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.027523941260433657)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.044193869792483409)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0056523290877285)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0574070354280087)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.033567987580949914)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.049958575567593019)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.078461393265588306)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.29624114484395714)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.019083835042434251)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.072053489056042974)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.11316209633188964)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.02813947970791995)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0035989968838093011)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.036552673846023863)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.021373681684931475)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.031810029988819218)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.18862506775555832)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.012151214443257601)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.045878482755592566)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.07205348905604296)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0074529241534464254)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.00095321772406372263)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0096812133204938391)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0056609585582659784)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0084250932599439499)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.013231853551815916)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0032183281481346165)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.012151214443257603)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.019083835042434251)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-2.9012262911449775e-5)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.00014612615736184792)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.00047804109319682082)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0032416491456343029)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0021116678219306132)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.00052791366753715454)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*7.0977528354966774e-5)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*9.9895812682163066e-5)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*1.3430904167093961e-5)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*3.3577051293550935e-6)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.00015331944058422371)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.00077222451657154147)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0025262763269762738)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.017130957178208683)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.011159409734644826)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0027898350580443485)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.00037509087018302439)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.00052791366753715541)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*7.0977528354966354e-5)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*1.7744271574084403e-5)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.00061328158194601311)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0030889173045236238)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.010105168244399365)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.068524255492113287)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.044637916950180538)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0015003728252777238)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0021116678219306167)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.000283911881665389)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*7.0977528354965283e-5)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0045614398903685138)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.022974618879299673)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.075159794270401023)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.50966681808331993)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.33200601647520916)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.083000987173061064)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.015706073884687172)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0021116678219306002)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.00052791366753714337)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.02118185416019976)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.040792474062018545)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.049791196691139579)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.035867609546541376)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.059688031245203839)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.021562946853404222)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.071405876738584673)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.080243884747120436)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.26572828761452333)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.095997217930328324)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.005691937733975882)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.010961657115556597)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.013379772569609637)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.009638259175114022)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.016039226535213912)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0057943440608341223)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.019188018251946451)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.021562946853404225)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0714058767385847)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.025796145274243024)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.015755757300754607)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.03034277906728966)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.037036323866953338)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.026679503441931235)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.044397913749511943)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.053114031247306501)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.059688031245203839)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.19765740883375349)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0714058767385847)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0047578795027626341)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0091628275191950465)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.011184125448277639)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0080566017962316674)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.013407157762204741)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0048434807489961713)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.018024424659562992)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.059688031245203853)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.021562946853404232)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.00015688175714697789)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0014950153325289843)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0012666972383742025)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0015490159490981592)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0062931924029516256)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0020445450956193246)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0056480276621754888)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.00013641635559728395)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.00037684830314454006)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0001224312400849633)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.002351271046368435)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.022406596720860313)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.018984670973016902)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.023215932927530856)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.094319450236798913)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.030642694050274453)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.084650020197820364)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0020445450956193168)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0056480276621755114)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0018349426677638542)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0072373072709378001)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.068968409922504109)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.058435584226493004)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.071459579463428277)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.29031907828914638)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.26055618198886238)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0062931924029516022)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.017384857321768536)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0056480276621755391)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0026198528001873307)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.024966064738678271)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.021153258143552994)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.025867850064795264)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.10509340307518385)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.034142957672569287)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0022780900577755898)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0062931924029516507)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0020445450956193428)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0016747236096797923)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.022395383667253931)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0010823709889014185)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0036990864559166563)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.00050834301173610229)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.015588264867481133)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0037476086033569342)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.00081420248681843786)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.00019574418772167287)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0060024671806827717)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.032063320402672957)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.42876947450525699)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.020722468836717273)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.070820637834037012)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.009732450635762396)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.29844418988237825)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.071749615697017544)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.015588264867481126)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0037476086033569277)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.1149198753205366)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0010456048186450997)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.013982439217157605)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.00067577259615595462)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0023095050434207478)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.00031738126788423253)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0023397995892677865)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.00050834301173610208)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.00012221184720903605)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0037476086033569355)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0043492174836919605)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.058160280082415236)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0028108917803285017)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0096064397699850354)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0013201547416997409)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.040482354049473784)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0021144645423690485)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.00050834301173610142)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.015588264867481138)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0068956855714663416)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.010091290281029655)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0080216243244021178)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0035198334831929206)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.018978279386089755)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.056811998632973766)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.01396686284573566)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.015485631440181358)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0038070424489360009)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.01139648574059631)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.025298140458325055)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.037021827096001436)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.029428861968758362)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.012913181862031289)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.069625445155635055)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.20842567519062763)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.051240105769272605)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.056811998632973738)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.013966862845735664)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.041810186095187066)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0084509467915105906)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.012367292031926986)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0098308311254096271)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0043137009617327136)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.023258663351751644)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.017116965895609845)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.018978279386089748)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0046656873831529451)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.01396686284573564)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.034375305526338835)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.050305540032273111)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.039988161309129681)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.017546529657219402)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.094607584046545581)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.28321039153111127)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.077196575526473174)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.018978279386089758)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.056811998632973676)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.036989007988906066)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.024350339729610097)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.022721604194642659)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0020718315986862396)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.053354679030800815)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.058170268354931241)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0093518161026560475)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.22863973450271471)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.036757553494219546)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.040075149727639509)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0094107024991835538)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0061951865002202629)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.005780805406949952)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.00052711310369534133)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.013574438423676774)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.014799615333023134)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0023792787088414437)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.058170268354931248)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.009351816102656051)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.010195875266786407)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0086316433720857837)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0056823218562164577)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0053022450428696702)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.00048347637471763576)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.012450687019346486)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0021823116073744556)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.053354679030800829)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0085776318491057792)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0093518161026560475)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.053690642094179834)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.035345240285608669)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.032981082352521167)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0030073250106582576)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.077445898974953548)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.084435869696849797)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.3318773554937019)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.053354679030800836)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.058170268354931241)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.2830869924348563)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.050308558644386672)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.041516821634179475)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.06274193203760102)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.020160825588817252)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.025383152182066201)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.015152528090816651)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.23919668259056145)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.14278898169094956)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.17977609281010931)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.030040718507945225)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0053386601615906274)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0044056957238823311)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0066580689659201985)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.002139433116273644)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0026936176861649991)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0016079609562587173)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.025383152182066195)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.015152528090816651)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.019077538505445499)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.023860144794362503)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0042402848796628178)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0034992684300787832)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0052882386796338152)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0016992664113091131)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0012771392678196903)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.020160825588817249)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.012035048833865587)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.01515252809081665)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.039969943152159265)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0071032236832497221)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0058618906729116316)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0088587307923610938)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0028465703978647464)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0035839271208240476)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.033772932211040815)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.020160825588817245)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.025383152182066191)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.014935575584147695)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.007791142568055953)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0073254854313094774)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.015186461110532538)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.090150328303510344)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.012455650259246793)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.015731589118882311)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.029517331411893867)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.037280633286332542)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0051508911658584714)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0063024771210085937)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0032876870064389215)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0030911901634452068)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0064083451728372039)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.038041411821271319)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0052560043865672946)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0066383769370158769)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.012455650259246798)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.015731589118882314)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0021735602717637636)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.045615473279886819)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.023795310306631609)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.022373124026687209)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.046381715060167777)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.27533253531028662)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.048046617223388682)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.090150328303510385)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.11386060898348732)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.015731589118882311)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.036116528170846006)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.018840185867421855)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.017714155002223078)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.036723208116341576)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.21799741519439725)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.030119685775736597)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.07137746553252089)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.090150328303510371)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.012455650259246793)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.032896921427909828)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.020934012679446525)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.020127575524041673)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.033499901528319088)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0098838942808698073)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.075244795478138254)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.040011251730840761)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.067458477890573201)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.035870894765649017)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.27308043404340754)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.036694010925042916)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.023350297128803515)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.022450777887903339)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.037366589313281677)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.011024731463671476)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.083929839859876898)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.044629504659074608)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.075244795478138254)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.040011251730840761)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.30460043053460045)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0048199974818136015)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0030672137093527801)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0029490559946009505)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0049083450365209726)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0014481703295155801)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.005862376301973493)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0098838942808698056)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0052557386811928905)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.040011251730840761)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.009064443351184925)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.005768174157623188)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0055459678357496689)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.009230588957667556)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0027234159279729726)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.020733009548559916)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.018587561536304909)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0098838942808698056)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.075244795478138254)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.012773605317404142)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0093099638314587951)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.055932196812816262)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0011391519589580709)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0035913578872906952)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.00039530708258920854)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.034759025419540214)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.00061078662356131824)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.053705963564394235)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0059115099192464755)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0082672024196058687)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0060254997396084128)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.036199865373541695)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.00073727030054430856)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0023243619853375876)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.00025584661404999347)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.022496381554864123)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.00039530708258920833)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.034759025419540221)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0038259870955407193)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.075107388466231287)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.054741559075980606)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.32887513974352289)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.006698087703317224)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.02111678772433076)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.20437923045390871)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0035913578872906935)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.31578513412249021)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.034759025419540214)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.00085418052598187596)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.00062256423341908954)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0037402277670030831)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-7.6175942132039452e-5)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.00024015678369014598)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*2.6434479799555231e-5)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*4.0843757608938361e-5)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0035913578872906957)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.00039530708258920849))};
+      
+          for (int64_t ctr_2 = 0; ctr_2 < micro_edges_per_macro_edge; ctr_2 += 1)
+          for (int64_t ctr_1 = 0; ctr_1 < -ctr_2 + micro_edges_per_macro_edge; ctr_1 += 1)
+          {
+             for (int64_t ctr_0 = 0; ctr_0 < (int64_t)((-ctr_1 - ctr_2 + micro_edges_per_macro_edge - 1) / (4)) * (4); ctr_0 += 4)
+             {
+            
+                const int64_t phantom_ctr_0 = ctr_0;
+                real_t _data_float_loop_ctr_array_dim_0[4];
+                _data_float_loop_ctr_array_dim_0[0] = (real_t) ctr_0+ 0;
+                _data_float_loop_ctr_array_dim_0[1] = (real_t) ctr_0+ 1;
+                _data_float_loop_ctr_array_dim_0[2] = (real_t) ctr_0+ 2;
+                _data_float_loop_ctr_array_dim_0[3] = (real_t) ctr_0+ 3;
+                real_t _data_float_loop_ctr_array_dim_1[4];
+                _data_float_loop_ctr_array_dim_1[0] = (real_t) ctr_1;
+                _data_float_loop_ctr_array_dim_1[1] = (real_t) ctr_1;
+                _data_float_loop_ctr_array_dim_1[2] = (real_t) ctr_1;
+                _data_float_loop_ctr_array_dim_1[3] = (real_t) ctr_1;
+                real_t _data_float_loop_ctr_array_dim_2[4];
+                _data_float_loop_ctr_array_dim_2[0] = (real_t) ctr_2;
+                _data_float_loop_ctr_array_dim_2[1] = (real_t) ctr_2;
+                _data_float_loop_ctr_array_dim_2[2] = (real_t) ctr_2;
+                _data_float_loop_ctr_array_dim_2[3] = (real_t) ctr_2;
+            
+                const __m256d p_affine_0_0 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0)),_mm256_set_pd(macro_vertex_coord_id_1comp0,macro_vertex_coord_id_1comp0,macro_vertex_coord_id_1comp0,macro_vertex_coord_id_1comp0)),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0)),_mm256_set_pd(macro_vertex_coord_id_2comp0,macro_vertex_coord_id_2comp0,macro_vertex_coord_id_2comp0,macro_vertex_coord_id_2comp0)),_mm256_add_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float)))),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0)),_mm256_set_pd(macro_vertex_coord_id_3comp0,macro_vertex_coord_id_3comp0,macro_vertex_coord_id_3comp0,macro_vertex_coord_id_3comp0)),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0));
+                const __m256d p_affine_0_1 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1)),_mm256_set_pd(macro_vertex_coord_id_1comp1,macro_vertex_coord_id_1comp1,macro_vertex_coord_id_1comp1,macro_vertex_coord_id_1comp1)),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1)),_mm256_set_pd(macro_vertex_coord_id_2comp1,macro_vertex_coord_id_2comp1,macro_vertex_coord_id_2comp1,macro_vertex_coord_id_2comp1)),_mm256_add_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float)))),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1)),_mm256_set_pd(macro_vertex_coord_id_3comp1,macro_vertex_coord_id_3comp1,macro_vertex_coord_id_3comp1,macro_vertex_coord_id_3comp1)),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1));
+                const __m256d p_affine_0_2 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2)),_mm256_set_pd(macro_vertex_coord_id_1comp2,macro_vertex_coord_id_1comp2,macro_vertex_coord_id_1comp2,macro_vertex_coord_id_1comp2)),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2)),_mm256_set_pd(macro_vertex_coord_id_2comp2,macro_vertex_coord_id_2comp2,macro_vertex_coord_id_2comp2,macro_vertex_coord_id_2comp2)),_mm256_add_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float)))),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2)),_mm256_set_pd(macro_vertex_coord_id_3comp2,macro_vertex_coord_id_3comp2,macro_vertex_coord_id_3comp2,macro_vertex_coord_id_3comp2)),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2));
+                const __m256d p_affine_1_0 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0)),_mm256_set_pd(macro_vertex_coord_id_1comp0,macro_vertex_coord_id_1comp0,macro_vertex_coord_id_1comp0,macro_vertex_coord_id_1comp0)),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0)),_mm256_set_pd(macro_vertex_coord_id_2comp0,macro_vertex_coord_id_2comp0,macro_vertex_coord_id_2comp0,macro_vertex_coord_id_2comp0)),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0]))),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0)),_mm256_set_pd(macro_vertex_coord_id_3comp0,macro_vertex_coord_id_3comp0,macro_vertex_coord_id_3comp0,macro_vertex_coord_id_3comp0)),_mm256_add_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float)))),_mm256_set_pd(macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0));
+                const __m256d p_affine_1_1 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1)),_mm256_set_pd(macro_vertex_coord_id_1comp1,macro_vertex_coord_id_1comp1,macro_vertex_coord_id_1comp1,macro_vertex_coord_id_1comp1)),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1)),_mm256_set_pd(macro_vertex_coord_id_2comp1,macro_vertex_coord_id_2comp1,macro_vertex_coord_id_2comp1,macro_vertex_coord_id_2comp1)),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0]))),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1)),_mm256_set_pd(macro_vertex_coord_id_3comp1,macro_vertex_coord_id_3comp1,macro_vertex_coord_id_3comp1,macro_vertex_coord_id_3comp1)),_mm256_add_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float)))),_mm256_set_pd(macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1));
+                const __m256d p_affine_1_2 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2)),_mm256_set_pd(macro_vertex_coord_id_1comp2,macro_vertex_coord_id_1comp2,macro_vertex_coord_id_1comp2,macro_vertex_coord_id_1comp2)),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2)),_mm256_set_pd(macro_vertex_coord_id_2comp2,macro_vertex_coord_id_2comp2,macro_vertex_coord_id_2comp2,macro_vertex_coord_id_2comp2)),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0]))),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2)),_mm256_set_pd(macro_vertex_coord_id_3comp2,macro_vertex_coord_id_3comp2,macro_vertex_coord_id_3comp2,macro_vertex_coord_id_3comp2)),_mm256_add_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float)))),_mm256_set_pd(macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2));
+                const __m256d p_affine_2_0 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0)),_mm256_set_pd(macro_vertex_coord_id_1comp0,macro_vertex_coord_id_1comp0,macro_vertex_coord_id_1comp0,macro_vertex_coord_id_1comp0)),_mm256_add_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0)),_mm256_set_pd(macro_vertex_coord_id_2comp0,macro_vertex_coord_id_2comp0,macro_vertex_coord_id_2comp0,macro_vertex_coord_id_2comp0)),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0]))),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0)),_mm256_set_pd(macro_vertex_coord_id_3comp0,macro_vertex_coord_id_3comp0,macro_vertex_coord_id_3comp0,macro_vertex_coord_id_3comp0)),_mm256_add_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float)))),_mm256_set_pd(macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0));
+                const __m256d p_affine_2_1 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1)),_mm256_set_pd(macro_vertex_coord_id_1comp1,macro_vertex_coord_id_1comp1,macro_vertex_coord_id_1comp1,macro_vertex_coord_id_1comp1)),_mm256_add_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1)),_mm256_set_pd(macro_vertex_coord_id_2comp1,macro_vertex_coord_id_2comp1,macro_vertex_coord_id_2comp1,macro_vertex_coord_id_2comp1)),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0]))),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1)),_mm256_set_pd(macro_vertex_coord_id_3comp1,macro_vertex_coord_id_3comp1,macro_vertex_coord_id_3comp1,macro_vertex_coord_id_3comp1)),_mm256_add_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float)))),_mm256_set_pd(macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1));
+                const __m256d p_affine_2_2 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2)),_mm256_set_pd(macro_vertex_coord_id_1comp2,macro_vertex_coord_id_1comp2,macro_vertex_coord_id_1comp2,macro_vertex_coord_id_1comp2)),_mm256_add_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2)),_mm256_set_pd(macro_vertex_coord_id_2comp2,macro_vertex_coord_id_2comp2,macro_vertex_coord_id_2comp2,macro_vertex_coord_id_2comp2)),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0]))),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2)),_mm256_set_pd(macro_vertex_coord_id_3comp2,macro_vertex_coord_id_3comp2,macro_vertex_coord_id_3comp2,macro_vertex_coord_id_3comp2)),_mm256_add_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float)))),_mm256_set_pd(macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2));
+                const __m256d p_affine_3_0 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0)),_mm256_set_pd(macro_vertex_coord_id_1comp0,macro_vertex_coord_id_1comp0,macro_vertex_coord_id_1comp0,macro_vertex_coord_id_1comp0)),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0)),_mm256_set_pd(macro_vertex_coord_id_2comp0,macro_vertex_coord_id_2comp0,macro_vertex_coord_id_2comp0,macro_vertex_coord_id_2comp0)),_mm256_add_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float)))),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0)),_mm256_set_pd(macro_vertex_coord_id_3comp0,macro_vertex_coord_id_3comp0,macro_vertex_coord_id_3comp0,macro_vertex_coord_id_3comp0)),_mm256_add_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float)))),_mm256_set_pd(macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0));
+                const __m256d p_affine_3_1 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1)),_mm256_set_pd(macro_vertex_coord_id_1comp1,macro_vertex_coord_id_1comp1,macro_vertex_coord_id_1comp1,macro_vertex_coord_id_1comp1)),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1)),_mm256_set_pd(macro_vertex_coord_id_2comp1,macro_vertex_coord_id_2comp1,macro_vertex_coord_id_2comp1,macro_vertex_coord_id_2comp1)),_mm256_add_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float)))),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1)),_mm256_set_pd(macro_vertex_coord_id_3comp1,macro_vertex_coord_id_3comp1,macro_vertex_coord_id_3comp1,macro_vertex_coord_id_3comp1)),_mm256_add_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float)))),_mm256_set_pd(macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1));
+                const __m256d p_affine_3_2 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2)),_mm256_set_pd(macro_vertex_coord_id_1comp2,macro_vertex_coord_id_1comp2,macro_vertex_coord_id_1comp2,macro_vertex_coord_id_1comp2)),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2)),_mm256_set_pd(macro_vertex_coord_id_2comp2,macro_vertex_coord_id_2comp2,macro_vertex_coord_id_2comp2,macro_vertex_coord_id_2comp2)),_mm256_add_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float)))),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2)),_mm256_set_pd(macro_vertex_coord_id_3comp2,macro_vertex_coord_id_3comp2,macro_vertex_coord_id_3comp2,macro_vertex_coord_id_3comp2)),_mm256_add_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float)))),_mm256_set_pd(macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2));
+                const __m256d src_dof_0 = _mm256_loadu_pd(& _data_srcVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]);
+                const __m256d src_dof_1 = _mm256_loadu_pd(& _data_srcVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]);
+                const __m256d src_dof_2 = _mm256_loadu_pd(& _data_srcVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]);
+                const __m256d src_dof_3 = _mm256_loadu_pd(& _data_srcVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]);
+                const __m256d src_dof_4 = _mm256_loadu_pd(& _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]);
+                const __m256d src_dof_5 = _mm256_loadu_pd(& _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + 2*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]);
+                const __m256d src_dof_6 = _mm256_loadu_pd(& _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]);
+                const __m256d src_dof_7 = _mm256_loadu_pd(& _data_srcEdge[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]);
+                const __m256d src_dof_8 = _mm256_loadu_pd(& _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge - 1)*(micro_edges_per_macro_edge + 1)) / (6)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]);
+                const __m256d src_dof_9 = _mm256_loadu_pd(& _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]);
+                const __m256d k_dof_0 = _mm256_loadu_pd(& _data_kVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]);
+                const __m256d k_dof_1 = _mm256_loadu_pd(& _data_kVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]);
+                const __m256d k_dof_2 = _mm256_loadu_pd(& _data_kVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]);
+                const __m256d k_dof_3 = _mm256_loadu_pd(& _data_kVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]);
+                const __m256d k_dof_4 = _mm256_loadu_pd(& _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]);
+                const __m256d k_dof_5 = _mm256_loadu_pd(& _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + 2*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]);
+                const __m256d k_dof_6 = _mm256_loadu_pd(& _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]);
+                const __m256d k_dof_7 = _mm256_loadu_pd(& _data_kEdge[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]);
+                const __m256d k_dof_8 = _mm256_loadu_pd(& _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge - 1)*(micro_edges_per_macro_edge + 1)) / (6)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]);
+                const __m256d k_dof_9 = _mm256_loadu_pd(& _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]);
+                __m256d q_acc_0_0 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_0_1 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_0_2 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_0_3 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_0_4 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_0_5 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_0_6 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_0_7 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_0_8 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_0_9 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_1_0 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_1_1 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_1_2 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_1_3 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_1_4 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_1_5 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_1_6 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_1_7 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_1_8 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_1_9 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_2_0 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_2_1 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_2_2 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_2_3 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_2_4 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_2_5 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_2_6 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_2_7 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_2_8 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_2_9 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_3_0 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_3_1 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_3_2 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_3_3 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_3_4 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_3_5 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_3_6 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_3_7 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_3_8 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_3_9 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                for (int64_t q = 0; q < 11; q += 1)
+                {
+                   const __m256d tmp_qloop_0 = _mm256_mul_pd(_mm256_set_pd(4.0,4.0,4.0,4.0),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q]));
+                   const __m256d tmp_qloop_1 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q]));
+                   const __m256d tmp_qloop_2 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q]));
+                   const __m256d tmp_qloop_3 = _mm256_mul_pd(_mm256_mul_pd(_mm256_set_pd(4.0,4.0,4.0,4.0),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q])),_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q]));
+                   const __m256d tmp_qloop_4 = _mm256_mul_pd(_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q]),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q]));
+                   const __m256d tmp_qloop_5 = _mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(2.0,2.0,2.0,2.0));
+                   const __m256d tmp_qloop_6 = _mm256_mul_pd(_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q]),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q]));
+                   const __m256d tmp_qloop_7 = _mm256_mul_pd(tmp_qloop_6,_mm256_set_pd(2.0,2.0,2.0,2.0));
+                   const __m256d tmp_qloop_8 = _mm256_mul_pd(_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q]),_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q]));
+                   const __m256d tmp_qloop_9 = _mm256_mul_pd(tmp_qloop_8,_mm256_set_pd(2.0,2.0,2.0,2.0));
+                   const __m256d tmp_qloop_10 = _mm256_add_pd(tmp_qloop_1,tmp_qloop_2);
+                   const __m256d tmp_qloop_11 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(p_affine_0_0,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),p_affine_1_0),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q])),_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(p_affine_0_0,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),p_affine_2_0),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q]))),_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(p_affine_0_0,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),p_affine_3_0),_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q]))),p_affine_0_0);
+                   const __m256d tmp_qloop_12 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(p_affine_0_1,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),p_affine_1_1),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q])),_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(p_affine_0_1,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),p_affine_2_1),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q]))),_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(p_affine_0_1,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),p_affine_3_1),_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q]))),p_affine_0_1);
+                   const __m256d tmp_qloop_13 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(p_affine_0_2,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),p_affine_1_2),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q])),_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(p_affine_0_2,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),p_affine_2_2),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q]))),_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(p_affine_0_2,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),p_affine_3_2),_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q]))),p_affine_0_2);
+                   const __m256d tmp_qloop_14 = _mm256_mul_pd(tmp_qloop_11,tmp_qloop_11);
+                   const __m256d tmp_qloop_15 = _mm256_mul_pd(tmp_qloop_12,tmp_qloop_12);
+                   const __m256d tmp_qloop_16 = _mm256_mul_pd(tmp_qloop_13,tmp_qloop_13);
+                   const __m256d tmp_qloop_17 = _mm256_add_pd(_mm256_add_pd(tmp_qloop_14,tmp_qloop_15),tmp_qloop_16);
+                   const __m256d tmp_qloop_18 = _mm256_div_pd(_mm256_sqrt_pd(tmp_qloop_17),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_17,tmp_qloop_17),tmp_qloop_17),tmp_qloop_17),tmp_qloop_17));
+                   const __m256d tmp_qloop_39 = _mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_31,tmp_qloop_31,tmp_qloop_31,tmp_qloop_31)),_mm256_mul_pd(tmp_qloop_13,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)));
+                   const __m256d tmp_qloop_40 = _mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_20,tmp_qloop_20,tmp_qloop_20,tmp_qloop_20)),_mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)));
+                   const __m256d tmp_qloop_41 = _mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_27,tmp_qloop_27,tmp_qloop_27,tmp_qloop_27)),_mm256_mul_pd(tmp_qloop_12,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)));
+                   const __m256d tmp_qloop_42 = _mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(radRayVertex,radRayVertex,radRayVertex,radRayVertex),_mm256_set_pd(tmp_qloop_35,tmp_qloop_35,tmp_qloop_35,tmp_qloop_35)),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_39,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_set_pd(tmp_qloop_26,tmp_qloop_26,tmp_qloop_26,tmp_qloop_26)),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_40,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_set_pd(tmp_qloop_33,tmp_qloop_33,tmp_qloop_33,tmp_qloop_33))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_41,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_set_pd(tmp_qloop_34,tmp_qloop_34,tmp_qloop_34,tmp_qloop_34))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_41,_mm256_set_pd(tmp_qloop_21,tmp_qloop_21,tmp_qloop_21,tmp_qloop_21)),_mm256_set_pd(tmp_qloop_22,tmp_qloop_22,tmp_qloop_22,tmp_qloop_22))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_40,_mm256_set_pd(tmp_qloop_25,tmp_qloop_25,tmp_qloop_25,tmp_qloop_25)),_mm256_set_pd(tmp_qloop_32,tmp_qloop_32,tmp_qloop_32,tmp_qloop_32))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_39,_mm256_set_pd(tmp_qloop_28,tmp_qloop_28,tmp_qloop_28,tmp_qloop_28)),_mm256_set_pd(tmp_qloop_29,tmp_qloop_29,tmp_qloop_29,tmp_qloop_29))),_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_set_pd(tmp_qloop_37,tmp_qloop_37,tmp_qloop_37,tmp_qloop_37)));
+                   const __m256d tmp_qloop_43 = _mm256_mul_pd(tmp_qloop_42,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0));
+                   const __m256d tmp_qloop_44 = _mm256_add_pd(_mm256_mul_pd(tmp_qloop_17,_mm256_set_pd(tmp_qloop_38,tmp_qloop_38,tmp_qloop_38,tmp_qloop_38)),_mm256_mul_pd(tmp_qloop_13,tmp_qloop_43));
+                   const __m256d tmp_qloop_46 = _mm256_add_pd(_mm256_mul_pd(tmp_qloop_17,_mm256_set_pd(tmp_qloop_45,tmp_qloop_45,tmp_qloop_45,tmp_qloop_45)),_mm256_mul_pd(tmp_qloop_11,tmp_qloop_43));
+                   const __m256d tmp_qloop_48 = _mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_12,tmp_qloop_42),_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_17,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_set_pd(tmp_qloop_37,tmp_qloop_37,tmp_qloop_37,tmp_qloop_37)),_mm256_set_pd(tmp_qloop_47,tmp_qloop_47,tmp_qloop_47,tmp_qloop_47)));
+                   const __m256d tmp_qloop_49 = _mm256_add_pd(_mm256_mul_pd(tmp_qloop_17,_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_12,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_set_pd(tmp_qloop_37,tmp_qloop_37,tmp_qloop_37,tmp_qloop_37)),_mm256_set_pd(tmp_qloop_47,tmp_qloop_47,tmp_qloop_47,tmp_qloop_47)),tmp_qloop_42)),_mm256_mul_pd(tmp_qloop_15,tmp_qloop_43));
+                   const __m256d tmp_qloop_50 = _mm256_mul_pd(tmp_qloop_18,_mm256_set_pd(tmp_qloop_36,tmp_qloop_36,tmp_qloop_36,tmp_qloop_36));
+                   const __m256d tmp_qloop_51 = _mm256_mul_pd(tmp_qloop_11,tmp_qloop_46);
+                   const __m256d tmp_qloop_52 = _mm256_mul_pd(tmp_qloop_13,tmp_qloop_44);
+                   const __m256d tmp_qloop_53 = _mm256_add_pd(_mm256_mul_pd(tmp_qloop_17,_mm256_add_pd(_mm256_mul_pd(tmp_qloop_13,_mm256_set_pd(tmp_qloop_38,tmp_qloop_38,tmp_qloop_38,tmp_qloop_38)),tmp_qloop_42)),_mm256_mul_pd(tmp_qloop_16,tmp_qloop_43));
+                   const __m256d tmp_qloop_54 = _mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_12,tmp_qloop_48),tmp_qloop_50),_mm256_set_pd(1.0,1.0,1.0,1.0));
+                   const __m256d tmp_qloop_55 = _mm256_add_pd(_mm256_mul_pd(tmp_qloop_17,_mm256_add_pd(_mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(tmp_qloop_45,tmp_qloop_45,tmp_qloop_45,tmp_qloop_45)),tmp_qloop_42)),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_14,tmp_qloop_42),_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)));
+                   const __m256d tmp_qloop_56 = _mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(k_dof_1,_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q])),tmp_qloop_5)),_mm256_mul_pd(k_dof_2,_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q])),tmp_qloop_7))),_mm256_mul_pd(k_dof_3,_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q])),tmp_qloop_9))),_mm256_mul_pd(k_dof_9,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(4.0,4.0,4.0,4.0),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q])),_mm256_mul_pd(tmp_qloop_10,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(-4.0,-4.0,-4.0,-4.0))))),_mm256_mul_pd(k_dof_8,_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(4.0,4.0,4.0,4.0),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q])),_mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_3,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_6,_mm256_set_pd(-4.0,-4.0,-4.0,-4.0))))),_mm256_mul_pd(k_dof_7,_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(4.0,4.0,4.0,4.0),_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q])),_mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_3,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_8,_mm256_set_pd(-4.0,-4.0,-4.0,-4.0))))),_mm256_mul_pd(k_dof_0,_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-3.0,-3.0,-3.0,-3.0),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q])),_mm256_mul_pd(_mm256_set_pd(-3.0,-3.0,-3.0,-3.0),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q]))),_mm256_mul_pd(_mm256_set_pd(-3.0,-3.0,-3.0,-3.0),_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q]))),_mm256_set_pd(1.0,1.0,1.0,1.0)),tmp_qloop_10),tmp_qloop_3),tmp_qloop_5),tmp_qloop_7),tmp_qloop_9))),_mm256_mul_pd(k_dof_4,tmp_qloop_3)),_mm256_mul_pd(k_dof_5,tmp_qloop_2)),_mm256_mul_pd(k_dof_6,tmp_qloop_1)),_mm256_set_pd(_data_q_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q])),_mm256_castsi256_pd(_mm256_and_si256(_mm256_set1_epi64x(0x7fffffffffffffff), _mm256_castpd_si256(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_51,tmp_qloop_53),tmp_qloop_54),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_52,tmp_qloop_54),tmp_qloop_55)),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_49,tmp_qloop_50),tmp_qloop_51),tmp_qloop_52),_mm256_set_pd(1.0,1.0,1.0,1.0))),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_18,tmp_qloop_49),tmp_qloop_53),tmp_qloop_55),_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_set_pd(tmp_qloop_36,tmp_qloop_36,tmp_qloop_36,tmp_qloop_36))),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_11,tmp_qloop_12),tmp_qloop_13),tmp_qloop_18),tmp_qloop_44),tmp_qloop_46),tmp_qloop_48),_mm256_set_pd(-2.0,-2.0,-2.0,-2.0)),_mm256_set_pd(tmp_qloop_36,tmp_qloop_36,tmp_qloop_36,tmp_qloop_36)))))));
+                   const __m256d tmp_qloop_57 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 14],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 14],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 14],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 14]));
+                   const __m256d q_tmp_0_0 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q]));
+                   const __m256d q_tmp_0_1 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 1],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 1],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 1],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 1]));
+                   const __m256d q_tmp_0_2 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 2],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 2],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 2],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 2]));
+                   const __m256d q_tmp_0_3 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 3],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 3],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 3],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 3]));
+                   const __m256d q_tmp_0_4 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 4],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 4],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 4],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 4]));
+                   const __m256d q_tmp_0_5 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 5],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 5],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 5],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 5]));
+                   const __m256d q_tmp_0_6 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 6],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 6],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 6],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 6]));
+                   const __m256d q_tmp_0_7 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 7],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 7],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 7],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 7]));
+                   const __m256d q_tmp_0_8 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 8],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 8],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 8],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 8]));
+                   const __m256d q_tmp_0_9 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 9],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 9],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 9],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 9]));
+                   const __m256d q_tmp_1_0 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 10],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 10],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 10],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 10]));
+                   const __m256d q_tmp_1_1 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 11],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 11],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 11],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 11]));
+                   const __m256d q_tmp_1_2 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 12],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 12],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 12],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 12]));
+                   const __m256d q_tmp_1_3 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 13],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 13],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 13],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 13]));
+                   const __m256d q_tmp_1_4 = tmp_qloop_57;
+                   const __m256d q_tmp_1_5 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 15],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 15],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 15],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 15]));
+                   const __m256d q_tmp_1_6 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 16],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 16],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 16],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 16]));
+                   const __m256d q_tmp_1_7 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 17],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 17],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 17],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 17]));
+                   const __m256d q_tmp_1_8 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 18],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 18],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 18],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 18]));
+                   const __m256d q_tmp_1_9 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 19],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 19],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 19],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 19]));
+                   const __m256d q_tmp_2_0 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 20],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 20],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 20],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 20]));
+                   const __m256d q_tmp_2_1 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 21],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 21],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 21],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 21]));
+                   const __m256d q_tmp_2_2 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 22],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 22],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 22],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 22]));
+                   const __m256d q_tmp_2_3 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 23],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 23],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 23],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 23]));
+                   const __m256d q_tmp_2_4 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 24],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 24],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 24],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 24]));
+                   const __m256d q_tmp_2_5 = tmp_qloop_57;
+                   const __m256d q_tmp_2_6 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 25],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 25],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 25],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 25]));
+                   const __m256d q_tmp_2_7 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 26],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 26],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 26],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 26]));
+                   const __m256d q_tmp_2_8 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 27],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 27],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 27],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 27]));
+                   const __m256d q_tmp_2_9 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 28],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 28],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 28],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 28]));
+                   const __m256d q_tmp_3_0 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 29],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 29],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 29],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 29]));
+                   const __m256d q_tmp_3_1 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 30],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 30],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 30],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 30]));
+                   const __m256d q_tmp_3_2 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 31],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 31],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 31],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 31]));
+                   const __m256d q_tmp_3_3 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 32],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 32],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 32],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 32]));
+                   const __m256d q_tmp_3_4 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 33],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 33],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 33],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 33]));
+                   const __m256d q_tmp_3_5 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 34],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 34],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 34],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 34]));
+                   const __m256d q_tmp_3_6 = tmp_qloop_57;
+                   const __m256d q_tmp_3_7 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 35],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 35],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 35],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 35]));
+                   const __m256d q_tmp_3_8 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 36],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 36],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 36],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 36]));
+                   const __m256d q_tmp_3_9 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 37],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 37],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 37],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 37]));
+                   q_acc_0_0 = _mm256_add_pd(q_acc_0_0,q_tmp_0_0);
+                   q_acc_0_1 = _mm256_add_pd(q_acc_0_1,q_tmp_0_1);
+                   q_acc_0_2 = _mm256_add_pd(q_acc_0_2,q_tmp_0_2);
+                   q_acc_0_3 = _mm256_add_pd(q_acc_0_3,q_tmp_0_3);
+                   q_acc_0_4 = _mm256_add_pd(q_acc_0_4,q_tmp_0_4);
+                   q_acc_0_5 = _mm256_add_pd(q_acc_0_5,q_tmp_0_5);
+                   q_acc_0_6 = _mm256_add_pd(q_acc_0_6,q_tmp_0_6);
+                   q_acc_0_7 = _mm256_add_pd(q_acc_0_7,q_tmp_0_7);
+                   q_acc_0_8 = _mm256_add_pd(q_acc_0_8,q_tmp_0_8);
+                   q_acc_0_9 = _mm256_add_pd(q_acc_0_9,q_tmp_0_9);
+                   q_acc_1_0 = _mm256_add_pd(q_acc_1_0,q_tmp_1_0);
+                   q_acc_1_1 = _mm256_add_pd(q_acc_1_1,q_tmp_1_1);
+                   q_acc_1_2 = _mm256_add_pd(q_acc_1_2,q_tmp_1_2);
+                   q_acc_1_3 = _mm256_add_pd(q_acc_1_3,q_tmp_1_3);
+                   q_acc_1_4 = _mm256_add_pd(q_acc_1_4,q_tmp_1_4);
+                   q_acc_1_5 = _mm256_add_pd(q_acc_1_5,q_tmp_1_5);
+                   q_acc_1_6 = _mm256_add_pd(q_acc_1_6,q_tmp_1_6);
+                   q_acc_1_7 = _mm256_add_pd(q_acc_1_7,q_tmp_1_7);
+                   q_acc_1_8 = _mm256_add_pd(q_acc_1_8,q_tmp_1_8);
+                   q_acc_1_9 = _mm256_add_pd(q_acc_1_9,q_tmp_1_9);
+                   q_acc_2_0 = _mm256_add_pd(q_acc_2_0,q_tmp_2_0);
+                   q_acc_2_1 = _mm256_add_pd(q_acc_2_1,q_tmp_2_1);
+                   q_acc_2_2 = _mm256_add_pd(q_acc_2_2,q_tmp_2_2);
+                   q_acc_2_3 = _mm256_add_pd(q_acc_2_3,q_tmp_2_3);
+                   q_acc_2_4 = _mm256_add_pd(q_acc_2_4,q_tmp_2_4);
+                   q_acc_2_5 = _mm256_add_pd(q_acc_2_5,q_tmp_2_5);
+                   q_acc_2_6 = _mm256_add_pd(q_acc_2_6,q_tmp_2_6);
+                   q_acc_2_7 = _mm256_add_pd(q_acc_2_7,q_tmp_2_7);
+                   q_acc_2_8 = _mm256_add_pd(q_acc_2_8,q_tmp_2_8);
+                   q_acc_2_9 = _mm256_add_pd(q_acc_2_9,q_tmp_2_9);
+                   q_acc_3_0 = _mm256_add_pd(q_acc_3_0,q_tmp_3_0);
+                   q_acc_3_1 = _mm256_add_pd(q_acc_3_1,q_tmp_3_1);
+                   q_acc_3_2 = _mm256_add_pd(q_acc_3_2,q_tmp_3_2);
+                   q_acc_3_3 = _mm256_add_pd(q_acc_3_3,q_tmp_3_3);
+                   q_acc_3_4 = _mm256_add_pd(q_acc_3_4,q_tmp_3_4);
+                   q_acc_3_5 = _mm256_add_pd(q_acc_3_5,q_tmp_3_5);
+                   q_acc_3_6 = _mm256_add_pd(q_acc_3_6,q_tmp_3_6);
+                   q_acc_3_7 = _mm256_add_pd(q_acc_3_7,q_tmp_3_7);
+                   q_acc_3_8 = _mm256_add_pd(q_acc_3_8,q_tmp_3_8);
+                   q_acc_3_9 = _mm256_add_pd(q_acc_3_9,q_tmp_3_9);
+                }
+                const __m256d elMatVec_0 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(q_acc_0_0,src_dof_0),_mm256_mul_pd(q_acc_0_1,src_dof_1)),_mm256_mul_pd(q_acc_0_2,src_dof_2)),_mm256_mul_pd(q_acc_0_3,src_dof_3)),_mm256_mul_pd(q_acc_0_4,src_dof_4)),_mm256_mul_pd(q_acc_0_5,src_dof_5)),_mm256_mul_pd(q_acc_0_6,src_dof_6)),_mm256_mul_pd(q_acc_0_7,src_dof_7)),_mm256_mul_pd(q_acc_0_8,src_dof_8)),_mm256_mul_pd(q_acc_0_9,src_dof_9));
+                const __m256d elMatVec_1 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(q_acc_1_0,src_dof_0),_mm256_mul_pd(q_acc_1_1,src_dof_1)),_mm256_mul_pd(q_acc_1_2,src_dof_2)),_mm256_mul_pd(q_acc_1_3,src_dof_3)),_mm256_mul_pd(q_acc_1_4,src_dof_4)),_mm256_mul_pd(q_acc_1_5,src_dof_5)),_mm256_mul_pd(q_acc_1_6,src_dof_6)),_mm256_mul_pd(q_acc_1_7,src_dof_7)),_mm256_mul_pd(q_acc_1_8,src_dof_8)),_mm256_mul_pd(q_acc_1_9,src_dof_9));
+                const __m256d elMatVec_2 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(q_acc_2_0,src_dof_0),_mm256_mul_pd(q_acc_2_1,src_dof_1)),_mm256_mul_pd(q_acc_2_2,src_dof_2)),_mm256_mul_pd(q_acc_2_3,src_dof_3)),_mm256_mul_pd(q_acc_2_4,src_dof_4)),_mm256_mul_pd(q_acc_2_5,src_dof_5)),_mm256_mul_pd(q_acc_2_6,src_dof_6)),_mm256_mul_pd(q_acc_2_7,src_dof_7)),_mm256_mul_pd(q_acc_2_8,src_dof_8)),_mm256_mul_pd(q_acc_2_9,src_dof_9));
+                const __m256d elMatVec_3 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(q_acc_3_0,src_dof_0),_mm256_mul_pd(q_acc_3_1,src_dof_1)),_mm256_mul_pd(q_acc_3_2,src_dof_2)),_mm256_mul_pd(q_acc_3_3,src_dof_3)),_mm256_mul_pd(q_acc_3_4,src_dof_4)),_mm256_mul_pd(q_acc_3_5,src_dof_5)),_mm256_mul_pd(q_acc_3_6,src_dof_6)),_mm256_mul_pd(q_acc_3_7,src_dof_7)),_mm256_mul_pd(q_acc_3_8,src_dof_8)),_mm256_mul_pd(q_acc_3_9,src_dof_9));
+                _mm256_storeu_pd(&_data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))],_mm256_add_pd(elMatVec_0,_mm256_loadu_pd(& _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))])));
+                _mm256_storeu_pd(&_data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))],_mm256_add_pd(elMatVec_1,_mm256_loadu_pd(& _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))])));
+                _mm256_storeu_pd(&_data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1],_mm256_add_pd(elMatVec_2,_mm256_loadu_pd(& _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1])));
+                _mm256_storeu_pd(&_data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))],_mm256_add_pd(elMatVec_3,_mm256_loadu_pd(& _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))])));
+             }
+             for (int64_t ctr_0 = (int64_t)((-ctr_1 - ctr_2 + micro_edges_per_macro_edge - 1) / (4)) * (4); ctr_0 < -ctr_1 - ctr_2 + micro_edges_per_macro_edge - 1; ctr_0 += 1)
+             {
+            
+                const int64_t phantom_ctr_0 = ctr_0;
+                real_t _data_float_loop_ctr_array_dim_0[4];
+                _data_float_loop_ctr_array_dim_0[0] = (real_t) ctr_0+ 0;
+                _data_float_loop_ctr_array_dim_0[1] = (real_t) ctr_0+ 1;
+                _data_float_loop_ctr_array_dim_0[2] = (real_t) ctr_0+ 2;
+                _data_float_loop_ctr_array_dim_0[3] = (real_t) ctr_0+ 3;
+                real_t _data_float_loop_ctr_array_dim_1[4];
+                _data_float_loop_ctr_array_dim_1[0] = (real_t) ctr_1;
+                _data_float_loop_ctr_array_dim_1[1] = (real_t) ctr_1;
+                _data_float_loop_ctr_array_dim_1[2] = (real_t) ctr_1;
+                _data_float_loop_ctr_array_dim_1[3] = (real_t) ctr_1;
+                real_t _data_float_loop_ctr_array_dim_2[4];
+                _data_float_loop_ctr_array_dim_2[0] = (real_t) ctr_2;
+                _data_float_loop_ctr_array_dim_2[1] = (real_t) ctr_2;
+                _data_float_loop_ctr_array_dim_2[2] = (real_t) ctr_2;
+                _data_float_loop_ctr_array_dim_2[3] = (real_t) ctr_2;
+            
+                const real_t p_affine_0_0 = macro_vertex_coord_id_0comp0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0)*1.0*_data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0)*(1.0 + _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0)*1.0*_data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0];
+                const real_t p_affine_0_1 = macro_vertex_coord_id_0comp1 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1)*1.0*_data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1)*(1.0 + _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1)*1.0*_data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0];
+                const real_t p_affine_0_2 = macro_vertex_coord_id_0comp2 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2)*1.0*_data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2)*(1.0 + _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2)*1.0*_data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0];
+                const real_t p_affine_1_0 = macro_vertex_coord_id_0comp0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0)*1.0*_data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0)*1.0*_data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0)*(1.0 + _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0])*1.0;
+                const real_t p_affine_1_1 = macro_vertex_coord_id_0comp1 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1)*1.0*_data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1)*1.0*_data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1)*(1.0 + _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0])*1.0;
+                const real_t p_affine_1_2 = macro_vertex_coord_id_0comp2 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2)*1.0*_data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2)*1.0*_data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2)*(1.0 + _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0])*1.0;
+                const real_t p_affine_2_0 = macro_vertex_coord_id_0comp0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0)*(1.0 + _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0)*1.0*_data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0)*(1.0 + _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0])*1.0;
+                const real_t p_affine_2_1 = macro_vertex_coord_id_0comp1 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1)*(1.0 + _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1)*1.0*_data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1)*(1.0 + _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0])*1.0;
+                const real_t p_affine_2_2 = macro_vertex_coord_id_0comp2 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2)*(1.0 + _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2)*1.0*_data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2)*(1.0 + _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0])*1.0;
+                const real_t p_affine_3_0 = macro_vertex_coord_id_0comp0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0)*1.0*_data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0)*(1.0 + _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0)*(1.0 + _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0])*1.0;
+                const real_t p_affine_3_1 = macro_vertex_coord_id_0comp1 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1)*1.0*_data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1)*(1.0 + _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1)*(1.0 + _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0])*1.0;
+                const real_t p_affine_3_2 = macro_vertex_coord_id_0comp2 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2)*1.0*_data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2)*(1.0 + _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2)*(1.0 + _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0])*1.0;
+                const real_t src_dof_0 = _data_srcVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))];
+                const real_t src_dof_1 = _data_srcVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))];
+                const real_t src_dof_2 = _data_srcVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1];
+                const real_t src_dof_3 = _data_srcVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))];
+                const real_t src_dof_4 = _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))];
+                const real_t src_dof_5 = _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + 2*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))];
+                const real_t src_dof_6 = _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))];
+                const real_t src_dof_7 = _data_srcEdge[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))];
+                const real_t src_dof_8 = _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge - 1)*(micro_edges_per_macro_edge + 1)) / (6)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))];
+                const real_t src_dof_9 = _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))];
+                const real_t k_dof_0 = _data_kVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))];
+                const real_t k_dof_1 = _data_kVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))];
+                const real_t k_dof_2 = _data_kVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1];
+                const real_t k_dof_3 = _data_kVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))];
+                const real_t k_dof_4 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))];
+                const real_t k_dof_5 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + 2*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))];
+                const real_t k_dof_6 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))];
+                const real_t k_dof_7 = _data_kEdge[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))];
+                const real_t k_dof_8 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge - 1)*(micro_edges_per_macro_edge + 1)) / (6)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))];
+                const real_t k_dof_9 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))];
+                real_t q_acc_0_0 = 0.0;
+                real_t q_acc_0_1 = 0.0;
+                real_t q_acc_0_2 = 0.0;
+                real_t q_acc_0_3 = 0.0;
+                real_t q_acc_0_4 = 0.0;
+                real_t q_acc_0_5 = 0.0;
+                real_t q_acc_0_6 = 0.0;
+                real_t q_acc_0_7 = 0.0;
+                real_t q_acc_0_8 = 0.0;
+                real_t q_acc_0_9 = 0.0;
+                real_t q_acc_1_0 = 0.0;
+                real_t q_acc_1_1 = 0.0;
+                real_t q_acc_1_2 = 0.0;
+                real_t q_acc_1_3 = 0.0;
+                real_t q_acc_1_4 = 0.0;
+                real_t q_acc_1_5 = 0.0;
+                real_t q_acc_1_6 = 0.0;
+                real_t q_acc_1_7 = 0.0;
+                real_t q_acc_1_8 = 0.0;
+                real_t q_acc_1_9 = 0.0;
+                real_t q_acc_2_0 = 0.0;
+                real_t q_acc_2_1 = 0.0;
+                real_t q_acc_2_2 = 0.0;
+                real_t q_acc_2_3 = 0.0;
+                real_t q_acc_2_4 = 0.0;
+                real_t q_acc_2_5 = 0.0;
+                real_t q_acc_2_6 = 0.0;
+                real_t q_acc_2_7 = 0.0;
+                real_t q_acc_2_8 = 0.0;
+                real_t q_acc_2_9 = 0.0;
+                real_t q_acc_3_0 = 0.0;
+                real_t q_acc_3_1 = 0.0;
+                real_t q_acc_3_2 = 0.0;
+                real_t q_acc_3_3 = 0.0;
+                real_t q_acc_3_4 = 0.0;
+                real_t q_acc_3_5 = 0.0;
+                real_t q_acc_3_6 = 0.0;
+                real_t q_acc_3_7 = 0.0;
+                real_t q_acc_3_8 = 0.0;
+                real_t q_acc_3_9 = 0.0;
+                for (int64_t q = 0; q < 11; q += 1)
+                {
+                   const real_t tmp_qloop_0 = 4.0*_data_q_p_0[q];
+                   const real_t tmp_qloop_1 = tmp_qloop_0*_data_q_p_1[q];
+                   const real_t tmp_qloop_2 = tmp_qloop_0*_data_q_p_2[q];
+                   const real_t tmp_qloop_3 = 4.0*_data_q_p_1[q]*_data_q_p_2[q];
+                   const real_t tmp_qloop_4 = (_data_q_p_0[q]*_data_q_p_0[q]);
+                   const real_t tmp_qloop_5 = tmp_qloop_4*2.0;
+                   const real_t tmp_qloop_6 = (_data_q_p_1[q]*_data_q_p_1[q]);
+                   const real_t tmp_qloop_7 = tmp_qloop_6*2.0;
+                   const real_t tmp_qloop_8 = (_data_q_p_2[q]*_data_q_p_2[q]);
+                   const real_t tmp_qloop_9 = tmp_qloop_8*2.0;
+                   const real_t tmp_qloop_10 = tmp_qloop_1 + tmp_qloop_2;
+                   const real_t tmp_qloop_11 = p_affine_0_0 + (-p_affine_0_0 + p_affine_1_0)*_data_q_p_0[q] + (-p_affine_0_0 + p_affine_2_0)*_data_q_p_1[q] + (-p_affine_0_0 + p_affine_3_0)*_data_q_p_2[q];
+                   const real_t tmp_qloop_12 = p_affine_0_1 + (-p_affine_0_1 + p_affine_1_1)*_data_q_p_0[q] + (-p_affine_0_1 + p_affine_2_1)*_data_q_p_1[q] + (-p_affine_0_1 + p_affine_3_1)*_data_q_p_2[q];
+                   const real_t tmp_qloop_13 = p_affine_0_2 + (-p_affine_0_2 + p_affine_1_2)*_data_q_p_0[q] + (-p_affine_0_2 + p_affine_2_2)*_data_q_p_1[q] + (-p_affine_0_2 + p_affine_3_2)*_data_q_p_2[q];
+                   const real_t tmp_qloop_14 = (tmp_qloop_11*tmp_qloop_11);
+                   const real_t tmp_qloop_15 = (tmp_qloop_12*tmp_qloop_12);
+                   const real_t tmp_qloop_16 = (tmp_qloop_13*tmp_qloop_13);
+                   const real_t tmp_qloop_17 = tmp_qloop_14 + tmp_qloop_15 + tmp_qloop_16;
+                   const real_t tmp_qloop_18 = pow(tmp_qloop_17, -4.5000000000000000);
+                   const real_t tmp_qloop_39 = -tmp_qloop_13 - tmp_qloop_31;
+                   const real_t tmp_qloop_40 = -tmp_qloop_11 - tmp_qloop_20;
+                   const real_t tmp_qloop_41 = -tmp_qloop_12 - tmp_qloop_27;
+                   const real_t tmp_qloop_42 = radRayVertex*tmp_qloop_35 - tmp_qloop_37*(tmp_qloop_21*tmp_qloop_22*tmp_qloop_41 + tmp_qloop_25*tmp_qloop_32*tmp_qloop_40 - tmp_qloop_26*tmp_qloop_39 + tmp_qloop_28*tmp_qloop_29*tmp_qloop_39 - tmp_qloop_33*tmp_qloop_40 - tmp_qloop_34*tmp_qloop_41);
+                   const real_t tmp_qloop_43 = -tmp_qloop_42;
+                   const real_t tmp_qloop_44 = tmp_qloop_13*tmp_qloop_43 + tmp_qloop_17*tmp_qloop_38;
+                   const real_t tmp_qloop_46 = tmp_qloop_11*tmp_qloop_43 + tmp_qloop_17*tmp_qloop_45;
+                   const real_t tmp_qloop_48 = -tmp_qloop_12*tmp_qloop_42 - tmp_qloop_17*tmp_qloop_37*tmp_qloop_47;
+                   const real_t tmp_qloop_49 = tmp_qloop_15*tmp_qloop_43 + tmp_qloop_17*(-tmp_qloop_12*tmp_qloop_37*tmp_qloop_47 + tmp_qloop_42);
+                   const real_t tmp_qloop_50 = tmp_qloop_18*tmp_qloop_36;
+                   const real_t tmp_qloop_51 = tmp_qloop_11*tmp_qloop_46;
+                   const real_t tmp_qloop_52 = tmp_qloop_13*tmp_qloop_44;
+                   const real_t tmp_qloop_53 = tmp_qloop_16*tmp_qloop_43 + tmp_qloop_17*(tmp_qloop_13*tmp_qloop_38 + tmp_qloop_42);
+                   const real_t tmp_qloop_54 = tmp_qloop_12*tmp_qloop_48*tmp_qloop_50*1.0;
+                   const real_t tmp_qloop_55 = -tmp_qloop_14*tmp_qloop_42 + tmp_qloop_17*(tmp_qloop_11*tmp_qloop_45 + tmp_qloop_42);
+                   const real_t tmp_qloop_56 = (k_dof_0*(tmp_qloop_10 + tmp_qloop_3 + tmp_qloop_5 + tmp_qloop_7 + tmp_qloop_9 - 3.0*_data_q_p_0[q] - 3.0*_data_q_p_1[q] - 3.0*_data_q_p_2[q] + 1.0) + k_dof_1*(tmp_qloop_5 - _data_q_p_0[q]) + k_dof_2*(tmp_qloop_7 - _data_q_p_1[q]) + k_dof_3*(tmp_qloop_9 - _data_q_p_2[q]) + k_dof_4*tmp_qloop_3 + k_dof_5*tmp_qloop_2 + k_dof_6*tmp_qloop_1 + k_dof_7*(-tmp_qloop_2 - tmp_qloop_3 + tmp_qloop_8*-4.0 + 4.0*_data_q_p_2[q]) + k_dof_8*(-tmp_qloop_1 - tmp_qloop_3 + tmp_qloop_6*-4.0 + 4.0*_data_q_p_1[q]) + k_dof_9*(-tmp_qloop_10 + tmp_qloop_4*-4.0 + 4.0*_data_q_p_0[q]))*abs(tmp_qloop_11*tmp_qloop_12*tmp_qloop_13*tmp_qloop_18*tmp_qloop_36*tmp_qloop_44*tmp_qloop_46*tmp_qloop_48*-2.0 - tmp_qloop_18*tmp_qloop_36*tmp_qloop_49*tmp_qloop_53*tmp_qloop_55 + tmp_qloop_49*tmp_qloop_50*tmp_qloop_51*tmp_qloop_52*1.0 + tmp_qloop_51*tmp_qloop_53*tmp_qloop_54 + tmp_qloop_52*tmp_qloop_54*tmp_qloop_55)*_data_q_w[q];
+                   const real_t tmp_qloop_57 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 14];
+                   const real_t q_tmp_0_0 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q];
+                   const real_t q_tmp_0_1 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 1];
+                   const real_t q_tmp_0_2 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 2];
+                   const real_t q_tmp_0_3 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 3];
+                   const real_t q_tmp_0_4 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 4];
+                   const real_t q_tmp_0_5 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 5];
+                   const real_t q_tmp_0_6 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 6];
+                   const real_t q_tmp_0_7 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 7];
+                   const real_t q_tmp_0_8 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 8];
+                   const real_t q_tmp_0_9 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 9];
+                   const real_t q_tmp_1_0 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 10];
+                   const real_t q_tmp_1_1 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 11];
+                   const real_t q_tmp_1_2 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 12];
+                   const real_t q_tmp_1_3 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 13];
+                   const real_t q_tmp_1_4 = tmp_qloop_57;
+                   const real_t q_tmp_1_5 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 15];
+                   const real_t q_tmp_1_6 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 16];
+                   const real_t q_tmp_1_7 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 17];
+                   const real_t q_tmp_1_8 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 18];
+                   const real_t q_tmp_1_9 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 19];
+                   const real_t q_tmp_2_0 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 20];
+                   const real_t q_tmp_2_1 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 21];
+                   const real_t q_tmp_2_2 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 22];
+                   const real_t q_tmp_2_3 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 23];
+                   const real_t q_tmp_2_4 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 24];
+                   const real_t q_tmp_2_5 = tmp_qloop_57;
+                   const real_t q_tmp_2_6 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 25];
+                   const real_t q_tmp_2_7 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 26];
+                   const real_t q_tmp_2_8 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 27];
+                   const real_t q_tmp_2_9 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 28];
+                   const real_t q_tmp_3_0 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 29];
+                   const real_t q_tmp_3_1 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 30];
+                   const real_t q_tmp_3_2 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 31];
+                   const real_t q_tmp_3_3 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 32];
+                   const real_t q_tmp_3_4 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 33];
+                   const real_t q_tmp_3_5 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 34];
+                   const real_t q_tmp_3_6 = tmp_qloop_57;
+                   const real_t q_tmp_3_7 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 35];
+                   const real_t q_tmp_3_8 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 36];
+                   const real_t q_tmp_3_9 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 37];
+                   q_acc_0_0 = q_acc_0_0 + q_tmp_0_0;
+                   q_acc_0_1 = q_acc_0_1 + q_tmp_0_1;
+                   q_acc_0_2 = q_acc_0_2 + q_tmp_0_2;
+                   q_acc_0_3 = q_acc_0_3 + q_tmp_0_3;
+                   q_acc_0_4 = q_acc_0_4 + q_tmp_0_4;
+                   q_acc_0_5 = q_acc_0_5 + q_tmp_0_5;
+                   q_acc_0_6 = q_acc_0_6 + q_tmp_0_6;
+                   q_acc_0_7 = q_acc_0_7 + q_tmp_0_7;
+                   q_acc_0_8 = q_acc_0_8 + q_tmp_0_8;
+                   q_acc_0_9 = q_acc_0_9 + q_tmp_0_9;
+                   q_acc_1_0 = q_acc_1_0 + q_tmp_1_0;
+                   q_acc_1_1 = q_acc_1_1 + q_tmp_1_1;
+                   q_acc_1_2 = q_acc_1_2 + q_tmp_1_2;
+                   q_acc_1_3 = q_acc_1_3 + q_tmp_1_3;
+                   q_acc_1_4 = q_acc_1_4 + q_tmp_1_4;
+                   q_acc_1_5 = q_acc_1_5 + q_tmp_1_5;
+                   q_acc_1_6 = q_acc_1_6 + q_tmp_1_6;
+                   q_acc_1_7 = q_acc_1_7 + q_tmp_1_7;
+                   q_acc_1_8 = q_acc_1_8 + q_tmp_1_8;
+                   q_acc_1_9 = q_acc_1_9 + q_tmp_1_9;
+                   q_acc_2_0 = q_acc_2_0 + q_tmp_2_0;
+                   q_acc_2_1 = q_acc_2_1 + q_tmp_2_1;
+                   q_acc_2_2 = q_acc_2_2 + q_tmp_2_2;
+                   q_acc_2_3 = q_acc_2_3 + q_tmp_2_3;
+                   q_acc_2_4 = q_acc_2_4 + q_tmp_2_4;
+                   q_acc_2_5 = q_acc_2_5 + q_tmp_2_5;
+                   q_acc_2_6 = q_acc_2_6 + q_tmp_2_6;
+                   q_acc_2_7 = q_acc_2_7 + q_tmp_2_7;
+                   q_acc_2_8 = q_acc_2_8 + q_tmp_2_8;
+                   q_acc_2_9 = q_acc_2_9 + q_tmp_2_9;
+                   q_acc_3_0 = q_acc_3_0 + q_tmp_3_0;
+                   q_acc_3_1 = q_acc_3_1 + q_tmp_3_1;
+                   q_acc_3_2 = q_acc_3_2 + q_tmp_3_2;
+                   q_acc_3_3 = q_acc_3_3 + q_tmp_3_3;
+                   q_acc_3_4 = q_acc_3_4 + q_tmp_3_4;
+                   q_acc_3_5 = q_acc_3_5 + q_tmp_3_5;
+                   q_acc_3_6 = q_acc_3_6 + q_tmp_3_6;
+                   q_acc_3_7 = q_acc_3_7 + q_tmp_3_7;
+                   q_acc_3_8 = q_acc_3_8 + q_tmp_3_8;
+                   q_acc_3_9 = q_acc_3_9 + q_tmp_3_9;
+                }
+                const real_t elMatVec_0 = q_acc_0_0*src_dof_0 + q_acc_0_1*src_dof_1 + q_acc_0_2*src_dof_2 + q_acc_0_3*src_dof_3 + q_acc_0_4*src_dof_4 + q_acc_0_5*src_dof_5 + q_acc_0_6*src_dof_6 + q_acc_0_7*src_dof_7 + q_acc_0_8*src_dof_8 + q_acc_0_9*src_dof_9;
+                const real_t elMatVec_1 = q_acc_1_0*src_dof_0 + q_acc_1_1*src_dof_1 + q_acc_1_2*src_dof_2 + q_acc_1_3*src_dof_3 + q_acc_1_4*src_dof_4 + q_acc_1_5*src_dof_5 + q_acc_1_6*src_dof_6 + q_acc_1_7*src_dof_7 + q_acc_1_8*src_dof_8 + q_acc_1_9*src_dof_9;
+                const real_t elMatVec_2 = q_acc_2_0*src_dof_0 + q_acc_2_1*src_dof_1 + q_acc_2_2*src_dof_2 + q_acc_2_3*src_dof_3 + q_acc_2_4*src_dof_4 + q_acc_2_5*src_dof_5 + q_acc_2_6*src_dof_6 + q_acc_2_7*src_dof_7 + q_acc_2_8*src_dof_8 + q_acc_2_9*src_dof_9;
+                const real_t elMatVec_3 = q_acc_3_0*src_dof_0 + q_acc_3_1*src_dof_1 + q_acc_3_2*src_dof_2 + q_acc_3_3*src_dof_3 + q_acc_3_4*src_dof_4 + q_acc_3_5*src_dof_5 + q_acc_3_6*src_dof_6 + q_acc_3_7*src_dof_7 + q_acc_3_8*src_dof_8 + q_acc_3_9*src_dof_9;
+                _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))] = elMatVec_0 + _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))];
+                _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))] = elMatVec_1 + _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))];
+                _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1] = elMatVec_2 + _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1];
+                _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))] = elMatVec_3 + _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))];
+             }
+          }
+       }
+       const real_t tmp_coords_jac_0_GREEN_UP = 1.0 / (micro_edges_per_macro_edge_float)*1.0;
+       const real_t tmp_coords_jac_1_GREEN_UP = macro_vertex_coord_id_0comp0 + tmp_coords_jac_0_GREEN_UP*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0);
+       const real_t tmp_coords_jac_2_GREEN_UP = macro_vertex_coord_id_0comp1 + tmp_coords_jac_0_GREEN_UP*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1);
+       const real_t tmp_coords_jac_3_GREEN_UP = macro_vertex_coord_id_0comp2 + tmp_coords_jac_0_GREEN_UP*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2);
+       const real_t tmp_coords_jac_4_GREEN_UP = tmp_coords_jac_0_GREEN_UP*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0);
+       const real_t tmp_coords_jac_5_GREEN_UP = tmp_coords_jac_0_GREEN_UP*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1);
+       const real_t tmp_coords_jac_6_GREEN_UP = tmp_coords_jac_0_GREEN_UP*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2);
+       const real_t p_affine_const_0_0_GREEN_UP = tmp_coords_jac_1_GREEN_UP;
+       const real_t p_affine_const_0_1_GREEN_UP = tmp_coords_jac_2_GREEN_UP;
+       const real_t p_affine_const_0_2_GREEN_UP = tmp_coords_jac_3_GREEN_UP;
+       const real_t p_affine_const_1_0_GREEN_UP = macro_vertex_coord_id_0comp0 + tmp_coords_jac_0_GREEN_UP*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0);
+       const real_t p_affine_const_1_1_GREEN_UP = macro_vertex_coord_id_0comp1 + tmp_coords_jac_0_GREEN_UP*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1);
+       const real_t p_affine_const_1_2_GREEN_UP = macro_vertex_coord_id_0comp2 + tmp_coords_jac_0_GREEN_UP*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2);
+       const real_t p_affine_const_2_0_GREEN_UP = macro_vertex_coord_id_0comp0 + tmp_coords_jac_4_GREEN_UP;
+       const real_t p_affine_const_2_1_GREEN_UP = macro_vertex_coord_id_0comp1 + tmp_coords_jac_5_GREEN_UP;
+       const real_t p_affine_const_2_2_GREEN_UP = macro_vertex_coord_id_0comp2 + tmp_coords_jac_6_GREEN_UP;
+       const real_t p_affine_const_3_0_GREEN_UP = tmp_coords_jac_1_GREEN_UP + tmp_coords_jac_4_GREEN_UP;
+       const real_t p_affine_const_3_1_GREEN_UP = tmp_coords_jac_2_GREEN_UP + tmp_coords_jac_5_GREEN_UP;
+       const real_t p_affine_const_3_2_GREEN_UP = tmp_coords_jac_3_GREEN_UP + tmp_coords_jac_6_GREEN_UP;
+       const real_t jac_affine_0_0_GREEN_UP = -p_affine_const_0_0_GREEN_UP + p_affine_const_1_0_GREEN_UP;
+       const real_t jac_affine_0_1_GREEN_UP = -p_affine_const_0_0_GREEN_UP + p_affine_const_2_0_GREEN_UP;
+       const real_t jac_affine_0_2_GREEN_UP = -p_affine_const_0_0_GREEN_UP + p_affine_const_3_0_GREEN_UP;
+       const real_t jac_affine_1_0_GREEN_UP = -p_affine_const_0_1_GREEN_UP + p_affine_const_1_1_GREEN_UP;
+       const real_t jac_affine_1_1_GREEN_UP = -p_affine_const_0_1_GREEN_UP + p_affine_const_2_1_GREEN_UP;
+       const real_t jac_affine_1_2_GREEN_UP = -p_affine_const_0_1_GREEN_UP + p_affine_const_3_1_GREEN_UP;
+       const real_t jac_affine_2_0_GREEN_UP = -p_affine_const_0_2_GREEN_UP + p_affine_const_1_2_GREEN_UP;
+       const real_t jac_affine_2_1_GREEN_UP = -p_affine_const_0_2_GREEN_UP + p_affine_const_2_2_GREEN_UP;
+       const real_t jac_affine_2_2_GREEN_UP = -p_affine_const_0_2_GREEN_UP + p_affine_const_3_2_GREEN_UP;
+       const real_t abs_det_jac_affine_GREEN_UP = abs(jac_affine_0_0_GREEN_UP*jac_affine_1_1_GREEN_UP*jac_affine_2_2_GREEN_UP - jac_affine_0_0_GREEN_UP*jac_affine_1_2_GREEN_UP*jac_affine_2_1_GREEN_UP - jac_affine_0_1_GREEN_UP*jac_affine_1_0_GREEN_UP*jac_affine_2_2_GREEN_UP + jac_affine_0_1_GREEN_UP*jac_affine_1_2_GREEN_UP*jac_affine_2_0_GREEN_UP + jac_affine_0_2_GREEN_UP*jac_affine_1_0_GREEN_UP*jac_affine_2_1_GREEN_UP - jac_affine_0_2_GREEN_UP*jac_affine_1_1_GREEN_UP*jac_affine_2_0_GREEN_UP);
+       {
+          /* CellType.GREEN_UP */
+          const real_t _data_phi_psi_jac_affine_det_0_0_GREEN_UP [] = {((real_t)(abs_det_jac_affine_GREEN_UP*-0.010749089276961213)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0013747922567553051)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.01396287204173041)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.008164600589399525)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.012151214443257608)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.019083835042434261)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.072053489056043002)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0046416810200408439)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.017525267423213611)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.027523941260433657)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.044193869792483409)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0056523290877285)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0574070354280087)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.033567987580949914)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.049958575567593019)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.078461393265588306)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.29624114484395714)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.019083835042434251)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.072053489056042974)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.11316209633188964)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.02813947970791995)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0035989968838093011)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.036552673846023863)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.021373681684931475)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.031810029988819218)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.18862506775555832)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.012151214443257601)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.045878482755592566)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.07205348905604296)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0074529241534464254)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.00095321772406372263)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0096812133204938391)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0056609585582659784)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0084250932599439499)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.013231853551815916)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0032183281481346165)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.012151214443257603)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.019083835042434251)), ((real_t)(abs_det_jac_affine_GREEN_UP*-2.9012262911449775e-5)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.00014612615736184792)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.00047804109319682082)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0032416491456343029)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0021116678219306132)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.00052791366753715454)), ((real_t)(abs_det_jac_affine_GREEN_UP*7.0977528354966774e-5)), ((real_t)(abs_det_jac_affine_GREEN_UP*9.9895812682163066e-5)), ((real_t)(abs_det_jac_affine_GREEN_UP*1.3430904167093961e-5)), ((real_t)(abs_det_jac_affine_GREEN_UP*3.3577051293550935e-6)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.00015331944058422371)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.00077222451657154147)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0025262763269762738)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.017130957178208683)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.011159409734644826)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0027898350580443485)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.00037509087018302439)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.00052791366753715541)), ((real_t)(abs_det_jac_affine_GREEN_UP*7.0977528354966354e-5)), ((real_t)(abs_det_jac_affine_GREEN_UP*1.7744271574084403e-5)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.00061328158194601311)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0030889173045236238)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.010105168244399365)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.068524255492113287)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.044637916950180538)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0015003728252777238)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0021116678219306167)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.000283911881665389)), ((real_t)(abs_det_jac_affine_GREEN_UP*7.0977528354965283e-5)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0045614398903685138)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.022974618879299673)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.075159794270401023)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.50966681808331993)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.33200601647520916)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.083000987173061064)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.015706073884687172)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0021116678219306002)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.00052791366753714337)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.02118185416019976)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.040792474062018545)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.049791196691139579)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.035867609546541376)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.059688031245203839)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.021562946853404222)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.071405876738584673)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.080243884747120436)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.26572828761452333)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.095997217930328324)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.005691937733975882)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.010961657115556597)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.013379772569609637)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.009638259175114022)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.016039226535213912)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0057943440608341223)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.019188018251946451)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.021562946853404225)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0714058767385847)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.025796145274243024)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.015755757300754607)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.03034277906728966)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.037036323866953338)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.026679503441931235)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.044397913749511943)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.053114031247306501)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.059688031245203839)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.19765740883375349)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0714058767385847)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0047578795027626341)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0091628275191950465)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.011184125448277639)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0080566017962316674)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.013407157762204741)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0048434807489961713)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.018024424659562992)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.059688031245203853)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.021562946853404232)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.00015688175714697789)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0014950153325289843)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0012666972383742025)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0015490159490981592)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0062931924029516256)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0020445450956193246)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0056480276621754888)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.00013641635559728395)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.00037684830314454006)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0001224312400849633)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.002351271046368435)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.022406596720860313)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.018984670973016902)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.023215932927530856)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.094319450236798913)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.030642694050274453)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.084650020197820364)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0020445450956193168)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0056480276621755114)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0018349426677638542)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0072373072709378001)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.068968409922504109)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.058435584226493004)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.071459579463428277)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.29031907828914638)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.26055618198886238)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0062931924029516022)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.017384857321768536)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0056480276621755391)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0026198528001873307)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.024966064738678271)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.021153258143552994)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.025867850064795264)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.10509340307518385)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.034142957672569287)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0022780900577755898)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0062931924029516507)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0020445450956193428)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0016747236096797923)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.022395383667253931)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0010823709889014185)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0036990864559166563)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.00050834301173610229)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.015588264867481133)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0037476086033569342)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.00081420248681843786)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.00019574418772167287)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0060024671806827717)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.032063320402672957)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.42876947450525699)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.020722468836717273)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.070820637834037012)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.009732450635762396)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.29844418988237825)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.071749615697017544)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.015588264867481126)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0037476086033569277)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.1149198753205366)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0010456048186450997)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.013982439217157605)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.00067577259615595462)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0023095050434207478)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.00031738126788423253)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0023397995892677865)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.00050834301173610208)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.00012221184720903605)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0037476086033569355)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0043492174836919605)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.058160280082415236)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0028108917803285017)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0096064397699850354)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0013201547416997409)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.040482354049473784)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0021144645423690485)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.00050834301173610142)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.015588264867481138)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0068956855714663416)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.010091290281029655)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0080216243244021178)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0035198334831929206)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.018978279386089755)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.056811998632973766)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.01396686284573566)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.015485631440181358)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0038070424489360009)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.01139648574059631)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.025298140458325055)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.037021827096001436)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.029428861968758362)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.012913181862031289)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.069625445155635055)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.20842567519062763)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.051240105769272605)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.056811998632973738)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.013966862845735664)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.041810186095187066)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0084509467915105906)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.012367292031926986)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0098308311254096271)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0043137009617327136)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.023258663351751644)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.017116965895609845)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.018978279386089748)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0046656873831529451)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.01396686284573564)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.034375305526338835)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.050305540032273111)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.039988161309129681)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.017546529657219402)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.094607584046545581)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.28321039153111127)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.077196575526473174)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.018978279386089758)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.056811998632973676)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.036989007988906066)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.024350339729610097)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.022721604194642659)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0020718315986862396)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.053354679030800815)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.058170268354931241)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0093518161026560475)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.22863973450271471)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.036757553494219546)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.040075149727639509)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0094107024991835538)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0061951865002202629)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.005780805406949952)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.00052711310369534133)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.013574438423676774)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.014799615333023134)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0023792787088414437)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.058170268354931248)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.009351816102656051)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.010195875266786407)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0086316433720857837)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0056823218562164577)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0053022450428696702)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.00048347637471763576)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.012450687019346486)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0021823116073744556)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.053354679030800829)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0085776318491057792)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0093518161026560475)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.053690642094179834)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.035345240285608669)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.032981082352521167)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0030073250106582576)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.077445898974953548)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.084435869696849797)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.3318773554937019)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.053354679030800836)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.058170268354931241)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.2830869924348563)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.050308558644386672)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.041516821634179475)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.06274193203760102)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.020160825588817252)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.025383152182066201)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.015152528090816651)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.23919668259056145)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.14278898169094956)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.17977609281010931)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.030040718507945225)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0053386601615906274)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0044056957238823311)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0066580689659201985)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.002139433116273644)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0026936176861649991)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0016079609562587173)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.025383152182066195)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.015152528090816651)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.019077538505445499)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.023860144794362503)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0042402848796628178)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0034992684300787832)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0052882386796338152)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0016992664113091131)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0012771392678196903)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.020160825588817249)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.012035048833865587)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.01515252809081665)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.039969943152159265)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0071032236832497221)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0058618906729116316)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0088587307923610938)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0028465703978647464)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0035839271208240476)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.033772932211040815)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.020160825588817245)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.025383152182066191)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.014935575584147695)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.007791142568055953)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0073254854313094774)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.015186461110532538)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.090150328303510344)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.012455650259246793)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.015731589118882311)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.029517331411893867)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.037280633286332542)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0051508911658584714)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0063024771210085937)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0032876870064389215)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0030911901634452068)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0064083451728372039)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.038041411821271319)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0052560043865672946)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0066383769370158769)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.012455650259246798)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.015731589118882314)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0021735602717637636)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.045615473279886819)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.023795310306631609)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.022373124026687209)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.046381715060167777)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.27533253531028662)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.048046617223388682)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.090150328303510385)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.11386060898348732)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.015731589118882311)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.036116528170846006)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.018840185867421855)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.017714155002223078)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.036723208116341576)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.21799741519439725)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.030119685775736597)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.07137746553252089)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.090150328303510371)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.012455650259246793)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.032896921427909828)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.020934012679446525)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.020127575524041673)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.033499901528319088)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0098838942808698073)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.075244795478138254)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.040011251730840761)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.067458477890573201)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.035870894765649017)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.27308043404340754)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.036694010925042916)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.023350297128803515)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.022450777887903339)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.037366589313281677)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.011024731463671476)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.083929839859876898)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.044629504659074608)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.075244795478138254)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.040011251730840761)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.30460043053460045)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0048199974818136015)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0030672137093527801)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0029490559946009505)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0049083450365209726)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0014481703295155801)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.005862376301973493)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0098838942808698056)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0052557386811928905)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.040011251730840761)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.009064443351184925)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.005768174157623188)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0055459678357496689)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.009230588957667556)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0027234159279729726)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.020733009548559916)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.018587561536304909)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0098838942808698056)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.075244795478138254)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.012773605317404142)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0093099638314587951)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.055932196812816262)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0011391519589580709)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0035913578872906952)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.00039530708258920854)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.034759025419540214)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.00061078662356131824)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.053705963564394235)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0059115099192464755)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0082672024196058687)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0060254997396084128)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.036199865373541695)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.00073727030054430856)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0023243619853375876)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.00025584661404999347)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.022496381554864123)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.00039530708258920833)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.034759025419540221)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0038259870955407193)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.075107388466231287)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.054741559075980606)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.32887513974352289)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.006698087703317224)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.02111678772433076)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.20437923045390871)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0035913578872906935)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.31578513412249021)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.034759025419540214)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.00085418052598187596)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.00062256423341908954)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0037402277670030831)), ((real_t)(abs_det_jac_affine_GREEN_UP*-7.6175942132039452e-5)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.00024015678369014598)), ((real_t)(abs_det_jac_affine_GREEN_UP*2.6434479799555231e-5)), ((real_t)(abs_det_jac_affine_GREEN_UP*4.0843757608938361e-5)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0035913578872906957)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.00039530708258920849))};
+      
+          for (int64_t ctr_2 = 0; ctr_2 < micro_edges_per_macro_edge; ctr_2 += 1)
+          for (int64_t ctr_1 = 0; ctr_1 < -ctr_2 + micro_edges_per_macro_edge; ctr_1 += 1)
+          {
+             for (int64_t ctr_0 = 0; ctr_0 < (int64_t)((-ctr_1 - ctr_2 + micro_edges_per_macro_edge - 1) / (4)) * (4); ctr_0 += 4)
+             {
+            
+                const int64_t phantom_ctr_0 = ctr_0;
+                real_t _data_float_loop_ctr_array_dim_0[4];
+                _data_float_loop_ctr_array_dim_0[0] = (real_t) ctr_0+ 0;
+                _data_float_loop_ctr_array_dim_0[1] = (real_t) ctr_0+ 1;
+                _data_float_loop_ctr_array_dim_0[2] = (real_t) ctr_0+ 2;
+                _data_float_loop_ctr_array_dim_0[3] = (real_t) ctr_0+ 3;
+                real_t _data_float_loop_ctr_array_dim_1[4];
+                _data_float_loop_ctr_array_dim_1[0] = (real_t) ctr_1;
+                _data_float_loop_ctr_array_dim_1[1] = (real_t) ctr_1;
+                _data_float_loop_ctr_array_dim_1[2] = (real_t) ctr_1;
+                _data_float_loop_ctr_array_dim_1[3] = (real_t) ctr_1;
+                real_t _data_float_loop_ctr_array_dim_2[4];
+                _data_float_loop_ctr_array_dim_2[0] = (real_t) ctr_2;
+                _data_float_loop_ctr_array_dim_2[1] = (real_t) ctr_2;
+                _data_float_loop_ctr_array_dim_2[2] = (real_t) ctr_2;
+                _data_float_loop_ctr_array_dim_2[3] = (real_t) ctr_2;
+            
+                const __m256d p_affine_0_0 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0)),_mm256_set_pd(macro_vertex_coord_id_1comp0,macro_vertex_coord_id_1comp0,macro_vertex_coord_id_1comp0,macro_vertex_coord_id_1comp0)),_mm256_add_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0)),_mm256_set_pd(macro_vertex_coord_id_2comp0,macro_vertex_coord_id_2comp0,macro_vertex_coord_id_2comp0,macro_vertex_coord_id_2comp0)),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0]))),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0)),_mm256_set_pd(macro_vertex_coord_id_3comp0,macro_vertex_coord_id_3comp0,macro_vertex_coord_id_3comp0,macro_vertex_coord_id_3comp0)),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0));
+                const __m256d p_affine_0_1 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1)),_mm256_set_pd(macro_vertex_coord_id_1comp1,macro_vertex_coord_id_1comp1,macro_vertex_coord_id_1comp1,macro_vertex_coord_id_1comp1)),_mm256_add_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1)),_mm256_set_pd(macro_vertex_coord_id_2comp1,macro_vertex_coord_id_2comp1,macro_vertex_coord_id_2comp1,macro_vertex_coord_id_2comp1)),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0]))),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1)),_mm256_set_pd(macro_vertex_coord_id_3comp1,macro_vertex_coord_id_3comp1,macro_vertex_coord_id_3comp1,macro_vertex_coord_id_3comp1)),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1));
+                const __m256d p_affine_0_2 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2)),_mm256_set_pd(macro_vertex_coord_id_1comp2,macro_vertex_coord_id_1comp2,macro_vertex_coord_id_1comp2,macro_vertex_coord_id_1comp2)),_mm256_add_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2)),_mm256_set_pd(macro_vertex_coord_id_2comp2,macro_vertex_coord_id_2comp2,macro_vertex_coord_id_2comp2,macro_vertex_coord_id_2comp2)),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0]))),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2)),_mm256_set_pd(macro_vertex_coord_id_3comp2,macro_vertex_coord_id_3comp2,macro_vertex_coord_id_3comp2,macro_vertex_coord_id_3comp2)),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2));
+                const __m256d p_affine_1_0 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0)),_mm256_set_pd(macro_vertex_coord_id_1comp0,macro_vertex_coord_id_1comp0,macro_vertex_coord_id_1comp0,macro_vertex_coord_id_1comp0)),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0)),_mm256_set_pd(macro_vertex_coord_id_2comp0,macro_vertex_coord_id_2comp0,macro_vertex_coord_id_2comp0,macro_vertex_coord_id_2comp0)),_mm256_add_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float)))),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0)),_mm256_set_pd(macro_vertex_coord_id_3comp0,macro_vertex_coord_id_3comp0,macro_vertex_coord_id_3comp0,macro_vertex_coord_id_3comp0)),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0));
+                const __m256d p_affine_1_1 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1)),_mm256_set_pd(macro_vertex_coord_id_1comp1,macro_vertex_coord_id_1comp1,macro_vertex_coord_id_1comp1,macro_vertex_coord_id_1comp1)),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1)),_mm256_set_pd(macro_vertex_coord_id_2comp1,macro_vertex_coord_id_2comp1,macro_vertex_coord_id_2comp1,macro_vertex_coord_id_2comp1)),_mm256_add_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float)))),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1)),_mm256_set_pd(macro_vertex_coord_id_3comp1,macro_vertex_coord_id_3comp1,macro_vertex_coord_id_3comp1,macro_vertex_coord_id_3comp1)),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1));
+                const __m256d p_affine_1_2 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2)),_mm256_set_pd(macro_vertex_coord_id_1comp2,macro_vertex_coord_id_1comp2,macro_vertex_coord_id_1comp2,macro_vertex_coord_id_1comp2)),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2)),_mm256_set_pd(macro_vertex_coord_id_2comp2,macro_vertex_coord_id_2comp2,macro_vertex_coord_id_2comp2,macro_vertex_coord_id_2comp2)),_mm256_add_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float)))),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2)),_mm256_set_pd(macro_vertex_coord_id_3comp2,macro_vertex_coord_id_3comp2,macro_vertex_coord_id_3comp2,macro_vertex_coord_id_3comp2)),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2));
+                const __m256d p_affine_2_0 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0)),_mm256_set_pd(macro_vertex_coord_id_1comp0,macro_vertex_coord_id_1comp0,macro_vertex_coord_id_1comp0,macro_vertex_coord_id_1comp0)),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0)),_mm256_set_pd(macro_vertex_coord_id_2comp0,macro_vertex_coord_id_2comp0,macro_vertex_coord_id_2comp0,macro_vertex_coord_id_2comp0)),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0]))),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0)),_mm256_set_pd(macro_vertex_coord_id_3comp0,macro_vertex_coord_id_3comp0,macro_vertex_coord_id_3comp0,macro_vertex_coord_id_3comp0)),_mm256_add_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float)))),_mm256_set_pd(macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0));
+                const __m256d p_affine_2_1 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1)),_mm256_set_pd(macro_vertex_coord_id_1comp1,macro_vertex_coord_id_1comp1,macro_vertex_coord_id_1comp1,macro_vertex_coord_id_1comp1)),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1)),_mm256_set_pd(macro_vertex_coord_id_2comp1,macro_vertex_coord_id_2comp1,macro_vertex_coord_id_2comp1,macro_vertex_coord_id_2comp1)),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0]))),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1)),_mm256_set_pd(macro_vertex_coord_id_3comp1,macro_vertex_coord_id_3comp1,macro_vertex_coord_id_3comp1,macro_vertex_coord_id_3comp1)),_mm256_add_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float)))),_mm256_set_pd(macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1));
+                const __m256d p_affine_2_2 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2)),_mm256_set_pd(macro_vertex_coord_id_1comp2,macro_vertex_coord_id_1comp2,macro_vertex_coord_id_1comp2,macro_vertex_coord_id_1comp2)),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2)),_mm256_set_pd(macro_vertex_coord_id_2comp2,macro_vertex_coord_id_2comp2,macro_vertex_coord_id_2comp2,macro_vertex_coord_id_2comp2)),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0]))),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2)),_mm256_set_pd(macro_vertex_coord_id_3comp2,macro_vertex_coord_id_3comp2,macro_vertex_coord_id_3comp2,macro_vertex_coord_id_3comp2)),_mm256_add_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float)))),_mm256_set_pd(macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2));
+                const __m256d p_affine_3_0 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0)),_mm256_set_pd(macro_vertex_coord_id_1comp0,macro_vertex_coord_id_1comp0,macro_vertex_coord_id_1comp0,macro_vertex_coord_id_1comp0)),_mm256_add_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0)),_mm256_set_pd(macro_vertex_coord_id_2comp0,macro_vertex_coord_id_2comp0,macro_vertex_coord_id_2comp0,macro_vertex_coord_id_2comp0)),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0]))),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0)),_mm256_set_pd(macro_vertex_coord_id_3comp0,macro_vertex_coord_id_3comp0,macro_vertex_coord_id_3comp0,macro_vertex_coord_id_3comp0)),_mm256_add_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float)))),_mm256_set_pd(macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0));
+                const __m256d p_affine_3_1 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1)),_mm256_set_pd(macro_vertex_coord_id_1comp1,macro_vertex_coord_id_1comp1,macro_vertex_coord_id_1comp1,macro_vertex_coord_id_1comp1)),_mm256_add_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1)),_mm256_set_pd(macro_vertex_coord_id_2comp1,macro_vertex_coord_id_2comp1,macro_vertex_coord_id_2comp1,macro_vertex_coord_id_2comp1)),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0]))),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1)),_mm256_set_pd(macro_vertex_coord_id_3comp1,macro_vertex_coord_id_3comp1,macro_vertex_coord_id_3comp1,macro_vertex_coord_id_3comp1)),_mm256_add_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float)))),_mm256_set_pd(macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1));
+                const __m256d p_affine_3_2 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2)),_mm256_set_pd(macro_vertex_coord_id_1comp2,macro_vertex_coord_id_1comp2,macro_vertex_coord_id_1comp2,macro_vertex_coord_id_1comp2)),_mm256_add_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2)),_mm256_set_pd(macro_vertex_coord_id_2comp2,macro_vertex_coord_id_2comp2,macro_vertex_coord_id_2comp2,macro_vertex_coord_id_2comp2)),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0]))),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2)),_mm256_set_pd(macro_vertex_coord_id_3comp2,macro_vertex_coord_id_3comp2,macro_vertex_coord_id_3comp2,macro_vertex_coord_id_3comp2)),_mm256_add_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float)))),_mm256_set_pd(macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2));
+                const __m256d src_dof_0 = _mm256_loadu_pd(& _data_srcVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]);
+                const __m256d src_dof_1 = _mm256_loadu_pd(& _data_srcVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]);
+                const __m256d src_dof_2 = _mm256_loadu_pd(& _data_srcVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]);
+                const __m256d src_dof_3 = _mm256_loadu_pd(& _data_srcVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]);
+                const __m256d src_dof_4 = _mm256_loadu_pd(& _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]);
+                const __m256d src_dof_5 = _mm256_loadu_pd(& _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge - 1)*(micro_edges_per_macro_edge + 1)) / (6)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]);
+                const __m256d src_dof_6 = _mm256_loadu_pd(& _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]);
+                const __m256d src_dof_7 = _mm256_loadu_pd(& _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1]);
+                const __m256d src_dof_8 = _mm256_loadu_pd(& _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 5*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]);
+                const __m256d src_dof_9 = _mm256_loadu_pd(& _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]);
+                const __m256d k_dof_0 = _mm256_loadu_pd(& _data_kVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]);
+                const __m256d k_dof_1 = _mm256_loadu_pd(& _data_kVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]);
+                const __m256d k_dof_2 = _mm256_loadu_pd(& _data_kVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]);
+                const __m256d k_dof_3 = _mm256_loadu_pd(& _data_kVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]);
+                const __m256d k_dof_4 = _mm256_loadu_pd(& _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]);
+                const __m256d k_dof_5 = _mm256_loadu_pd(& _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge - 1)*(micro_edges_per_macro_edge + 1)) / (6)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]);
+                const __m256d k_dof_6 = _mm256_loadu_pd(& _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]);
+                const __m256d k_dof_7 = _mm256_loadu_pd(& _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1]);
+                const __m256d k_dof_8 = _mm256_loadu_pd(& _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 5*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]);
+                const __m256d k_dof_9 = _mm256_loadu_pd(& _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]);
+                __m256d q_acc_0_0 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_0_1 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_0_2 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_0_3 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_0_4 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_0_5 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_0_6 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_0_7 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_0_8 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_0_9 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_1_0 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_1_1 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_1_2 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_1_3 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_1_4 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_1_5 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_1_6 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_1_7 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_1_8 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_1_9 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_2_0 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_2_1 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_2_2 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_2_3 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_2_4 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_2_5 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_2_6 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_2_7 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_2_8 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_2_9 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_3_0 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_3_1 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_3_2 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_3_3 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_3_4 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_3_5 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_3_6 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_3_7 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_3_8 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_3_9 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                for (int64_t q = 0; q < 11; q += 1)
+                {
+                   const __m256d tmp_qloop_0 = _mm256_mul_pd(_mm256_set_pd(4.0,4.0,4.0,4.0),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q]));
+                   const __m256d tmp_qloop_1 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q]));
+                   const __m256d tmp_qloop_2 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q]));
+                   const __m256d tmp_qloop_3 = _mm256_mul_pd(_mm256_mul_pd(_mm256_set_pd(4.0,4.0,4.0,4.0),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q])),_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q]));
+                   const __m256d tmp_qloop_4 = _mm256_mul_pd(_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q]),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q]));
+                   const __m256d tmp_qloop_5 = _mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(2.0,2.0,2.0,2.0));
+                   const __m256d tmp_qloop_6 = _mm256_mul_pd(_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q]),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q]));
+                   const __m256d tmp_qloop_7 = _mm256_mul_pd(tmp_qloop_6,_mm256_set_pd(2.0,2.0,2.0,2.0));
+                   const __m256d tmp_qloop_8 = _mm256_mul_pd(_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q]),_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q]));
+                   const __m256d tmp_qloop_9 = _mm256_mul_pd(tmp_qloop_8,_mm256_set_pd(2.0,2.0,2.0,2.0));
+                   const __m256d tmp_qloop_10 = _mm256_add_pd(tmp_qloop_1,tmp_qloop_2);
+                   const __m256d tmp_qloop_11 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(p_affine_0_0,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),p_affine_1_0),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q])),_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(p_affine_0_0,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),p_affine_2_0),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q]))),_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(p_affine_0_0,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),p_affine_3_0),_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q]))),p_affine_0_0);
+                   const __m256d tmp_qloop_12 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(p_affine_0_1,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),p_affine_1_1),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q])),_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(p_affine_0_1,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),p_affine_2_1),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q]))),_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(p_affine_0_1,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),p_affine_3_1),_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q]))),p_affine_0_1);
+                   const __m256d tmp_qloop_13 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(p_affine_0_2,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),p_affine_1_2),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q])),_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(p_affine_0_2,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),p_affine_2_2),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q]))),_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(p_affine_0_2,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),p_affine_3_2),_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q]))),p_affine_0_2);
+                   const __m256d tmp_qloop_14 = _mm256_mul_pd(tmp_qloop_11,tmp_qloop_11);
+                   const __m256d tmp_qloop_15 = _mm256_mul_pd(tmp_qloop_12,tmp_qloop_12);
+                   const __m256d tmp_qloop_16 = _mm256_mul_pd(tmp_qloop_13,tmp_qloop_13);
+                   const __m256d tmp_qloop_17 = _mm256_add_pd(_mm256_add_pd(tmp_qloop_14,tmp_qloop_15),tmp_qloop_16);
+                   const __m256d tmp_qloop_18 = _mm256_div_pd(_mm256_sqrt_pd(tmp_qloop_17),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_17,tmp_qloop_17),tmp_qloop_17),tmp_qloop_17),tmp_qloop_17));
+                   const __m256d tmp_qloop_39 = _mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_31,tmp_qloop_31,tmp_qloop_31,tmp_qloop_31)),_mm256_mul_pd(tmp_qloop_13,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)));
+                   const __m256d tmp_qloop_40 = _mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_20,tmp_qloop_20,tmp_qloop_20,tmp_qloop_20)),_mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)));
+                   const __m256d tmp_qloop_41 = _mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_27,tmp_qloop_27,tmp_qloop_27,tmp_qloop_27)),_mm256_mul_pd(tmp_qloop_12,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)));
+                   const __m256d tmp_qloop_42 = _mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(radRayVertex,radRayVertex,radRayVertex,radRayVertex),_mm256_set_pd(tmp_qloop_35,tmp_qloop_35,tmp_qloop_35,tmp_qloop_35)),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_39,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_set_pd(tmp_qloop_26,tmp_qloop_26,tmp_qloop_26,tmp_qloop_26)),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_40,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_set_pd(tmp_qloop_33,tmp_qloop_33,tmp_qloop_33,tmp_qloop_33))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_41,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_set_pd(tmp_qloop_34,tmp_qloop_34,tmp_qloop_34,tmp_qloop_34))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_41,_mm256_set_pd(tmp_qloop_21,tmp_qloop_21,tmp_qloop_21,tmp_qloop_21)),_mm256_set_pd(tmp_qloop_22,tmp_qloop_22,tmp_qloop_22,tmp_qloop_22))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_40,_mm256_set_pd(tmp_qloop_25,tmp_qloop_25,tmp_qloop_25,tmp_qloop_25)),_mm256_set_pd(tmp_qloop_32,tmp_qloop_32,tmp_qloop_32,tmp_qloop_32))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_39,_mm256_set_pd(tmp_qloop_28,tmp_qloop_28,tmp_qloop_28,tmp_qloop_28)),_mm256_set_pd(tmp_qloop_29,tmp_qloop_29,tmp_qloop_29,tmp_qloop_29))),_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_set_pd(tmp_qloop_37,tmp_qloop_37,tmp_qloop_37,tmp_qloop_37)));
+                   const __m256d tmp_qloop_43 = _mm256_mul_pd(tmp_qloop_42,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0));
+                   const __m256d tmp_qloop_44 = _mm256_add_pd(_mm256_mul_pd(tmp_qloop_17,_mm256_set_pd(tmp_qloop_38,tmp_qloop_38,tmp_qloop_38,tmp_qloop_38)),_mm256_mul_pd(tmp_qloop_13,tmp_qloop_43));
+                   const __m256d tmp_qloop_46 = _mm256_add_pd(_mm256_mul_pd(tmp_qloop_17,_mm256_set_pd(tmp_qloop_45,tmp_qloop_45,tmp_qloop_45,tmp_qloop_45)),_mm256_mul_pd(tmp_qloop_11,tmp_qloop_43));
+                   const __m256d tmp_qloop_48 = _mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_12,tmp_qloop_42),_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_17,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_set_pd(tmp_qloop_37,tmp_qloop_37,tmp_qloop_37,tmp_qloop_37)),_mm256_set_pd(tmp_qloop_47,tmp_qloop_47,tmp_qloop_47,tmp_qloop_47)));
+                   const __m256d tmp_qloop_49 = _mm256_add_pd(_mm256_mul_pd(tmp_qloop_17,_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_12,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_set_pd(tmp_qloop_37,tmp_qloop_37,tmp_qloop_37,tmp_qloop_37)),_mm256_set_pd(tmp_qloop_47,tmp_qloop_47,tmp_qloop_47,tmp_qloop_47)),tmp_qloop_42)),_mm256_mul_pd(tmp_qloop_15,tmp_qloop_43));
+                   const __m256d tmp_qloop_50 = _mm256_mul_pd(tmp_qloop_18,_mm256_set_pd(tmp_qloop_36,tmp_qloop_36,tmp_qloop_36,tmp_qloop_36));
+                   const __m256d tmp_qloop_51 = _mm256_mul_pd(tmp_qloop_11,tmp_qloop_46);
+                   const __m256d tmp_qloop_52 = _mm256_mul_pd(tmp_qloop_13,tmp_qloop_44);
+                   const __m256d tmp_qloop_53 = _mm256_add_pd(_mm256_mul_pd(tmp_qloop_17,_mm256_add_pd(_mm256_mul_pd(tmp_qloop_13,_mm256_set_pd(tmp_qloop_38,tmp_qloop_38,tmp_qloop_38,tmp_qloop_38)),tmp_qloop_42)),_mm256_mul_pd(tmp_qloop_16,tmp_qloop_43));
+                   const __m256d tmp_qloop_54 = _mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_12,tmp_qloop_48),tmp_qloop_50),_mm256_set_pd(1.0,1.0,1.0,1.0));
+                   const __m256d tmp_qloop_55 = _mm256_add_pd(_mm256_mul_pd(tmp_qloop_17,_mm256_add_pd(_mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(tmp_qloop_45,tmp_qloop_45,tmp_qloop_45,tmp_qloop_45)),tmp_qloop_42)),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_14,tmp_qloop_42),_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)));
+                   const __m256d tmp_qloop_56 = _mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(k_dof_1,_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q])),tmp_qloop_5)),_mm256_mul_pd(k_dof_2,_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q])),tmp_qloop_7))),_mm256_mul_pd(k_dof_3,_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q])),tmp_qloop_9))),_mm256_mul_pd(k_dof_9,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(4.0,4.0,4.0,4.0),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q])),_mm256_mul_pd(tmp_qloop_10,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(-4.0,-4.0,-4.0,-4.0))))),_mm256_mul_pd(k_dof_8,_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(4.0,4.0,4.0,4.0),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q])),_mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_3,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_6,_mm256_set_pd(-4.0,-4.0,-4.0,-4.0))))),_mm256_mul_pd(k_dof_7,_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(4.0,4.0,4.0,4.0),_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q])),_mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_3,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_8,_mm256_set_pd(-4.0,-4.0,-4.0,-4.0))))),_mm256_mul_pd(k_dof_0,_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-3.0,-3.0,-3.0,-3.0),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q])),_mm256_mul_pd(_mm256_set_pd(-3.0,-3.0,-3.0,-3.0),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q]))),_mm256_mul_pd(_mm256_set_pd(-3.0,-3.0,-3.0,-3.0),_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q]))),_mm256_set_pd(1.0,1.0,1.0,1.0)),tmp_qloop_10),tmp_qloop_3),tmp_qloop_5),tmp_qloop_7),tmp_qloop_9))),_mm256_mul_pd(k_dof_4,tmp_qloop_3)),_mm256_mul_pd(k_dof_5,tmp_qloop_2)),_mm256_mul_pd(k_dof_6,tmp_qloop_1)),_mm256_set_pd(_data_q_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q])),_mm256_castsi256_pd(_mm256_and_si256(_mm256_set1_epi64x(0x7fffffffffffffff), _mm256_castpd_si256(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_51,tmp_qloop_53),tmp_qloop_54),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_52,tmp_qloop_54),tmp_qloop_55)),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_49,tmp_qloop_50),tmp_qloop_51),tmp_qloop_52),_mm256_set_pd(1.0,1.0,1.0,1.0))),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_18,tmp_qloop_49),tmp_qloop_53),tmp_qloop_55),_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_set_pd(tmp_qloop_36,tmp_qloop_36,tmp_qloop_36,tmp_qloop_36))),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_11,tmp_qloop_12),tmp_qloop_13),tmp_qloop_18),tmp_qloop_44),tmp_qloop_46),tmp_qloop_48),_mm256_set_pd(-2.0,-2.0,-2.0,-2.0)),_mm256_set_pd(tmp_qloop_36,tmp_qloop_36,tmp_qloop_36,tmp_qloop_36)))))));
+                   const __m256d tmp_qloop_57 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 14],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 14],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 14],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 14]));
+                   const __m256d q_tmp_0_0 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q]));
+                   const __m256d q_tmp_0_1 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 1],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 1],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 1],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 1]));
+                   const __m256d q_tmp_0_2 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 2],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 2],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 2],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 2]));
+                   const __m256d q_tmp_0_3 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 3],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 3],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 3],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 3]));
+                   const __m256d q_tmp_0_4 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 4],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 4],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 4],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 4]));
+                   const __m256d q_tmp_0_5 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 5],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 5],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 5],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 5]));
+                   const __m256d q_tmp_0_6 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 6],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 6],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 6],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 6]));
+                   const __m256d q_tmp_0_7 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 7],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 7],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 7],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 7]));
+                   const __m256d q_tmp_0_8 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 8],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 8],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 8],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 8]));
+                   const __m256d q_tmp_0_9 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 9],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 9],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 9],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 9]));
+                   const __m256d q_tmp_1_0 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 10],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 10],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 10],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 10]));
+                   const __m256d q_tmp_1_1 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 11],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 11],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 11],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 11]));
+                   const __m256d q_tmp_1_2 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 12],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 12],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 12],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 12]));
+                   const __m256d q_tmp_1_3 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 13],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 13],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 13],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 13]));
+                   const __m256d q_tmp_1_4 = tmp_qloop_57;
+                   const __m256d q_tmp_1_5 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 15],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 15],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 15],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 15]));
+                   const __m256d q_tmp_1_6 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 16],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 16],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 16],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 16]));
+                   const __m256d q_tmp_1_7 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 17],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 17],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 17],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 17]));
+                   const __m256d q_tmp_1_8 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 18],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 18],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 18],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 18]));
+                   const __m256d q_tmp_1_9 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 19],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 19],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 19],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 19]));
+                   const __m256d q_tmp_2_0 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 20],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 20],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 20],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 20]));
+                   const __m256d q_tmp_2_1 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 21],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 21],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 21],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 21]));
+                   const __m256d q_tmp_2_2 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 22],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 22],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 22],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 22]));
+                   const __m256d q_tmp_2_3 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 23],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 23],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 23],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 23]));
+                   const __m256d q_tmp_2_4 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 24],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 24],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 24],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 24]));
+                   const __m256d q_tmp_2_5 = tmp_qloop_57;
+                   const __m256d q_tmp_2_6 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 25],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 25],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 25],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 25]));
+                   const __m256d q_tmp_2_7 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 26],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 26],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 26],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 26]));
+                   const __m256d q_tmp_2_8 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 27],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 27],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 27],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 27]));
+                   const __m256d q_tmp_2_9 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 28],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 28],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 28],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 28]));
+                   const __m256d q_tmp_3_0 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 29],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 29],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 29],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 29]));
+                   const __m256d q_tmp_3_1 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 30],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 30],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 30],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 30]));
+                   const __m256d q_tmp_3_2 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 31],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 31],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 31],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 31]));
+                   const __m256d q_tmp_3_3 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 32],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 32],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 32],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 32]));
+                   const __m256d q_tmp_3_4 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 33],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 33],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 33],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 33]));
+                   const __m256d q_tmp_3_5 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 34],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 34],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 34],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 34]));
+                   const __m256d q_tmp_3_6 = tmp_qloop_57;
+                   const __m256d q_tmp_3_7 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 35],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 35],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 35],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 35]));
+                   const __m256d q_tmp_3_8 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 36],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 36],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 36],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 36]));
+                   const __m256d q_tmp_3_9 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 37],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 37],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 37],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 37]));
+                   q_acc_0_0 = _mm256_add_pd(q_acc_0_0,q_tmp_0_0);
+                   q_acc_0_1 = _mm256_add_pd(q_acc_0_1,q_tmp_0_1);
+                   q_acc_0_2 = _mm256_add_pd(q_acc_0_2,q_tmp_0_2);
+                   q_acc_0_3 = _mm256_add_pd(q_acc_0_3,q_tmp_0_3);
+                   q_acc_0_4 = _mm256_add_pd(q_acc_0_4,q_tmp_0_4);
+                   q_acc_0_5 = _mm256_add_pd(q_acc_0_5,q_tmp_0_5);
+                   q_acc_0_6 = _mm256_add_pd(q_acc_0_6,q_tmp_0_6);
+                   q_acc_0_7 = _mm256_add_pd(q_acc_0_7,q_tmp_0_7);
+                   q_acc_0_8 = _mm256_add_pd(q_acc_0_8,q_tmp_0_8);
+                   q_acc_0_9 = _mm256_add_pd(q_acc_0_9,q_tmp_0_9);
+                   q_acc_1_0 = _mm256_add_pd(q_acc_1_0,q_tmp_1_0);
+                   q_acc_1_1 = _mm256_add_pd(q_acc_1_1,q_tmp_1_1);
+                   q_acc_1_2 = _mm256_add_pd(q_acc_1_2,q_tmp_1_2);
+                   q_acc_1_3 = _mm256_add_pd(q_acc_1_3,q_tmp_1_3);
+                   q_acc_1_4 = _mm256_add_pd(q_acc_1_4,q_tmp_1_4);
+                   q_acc_1_5 = _mm256_add_pd(q_acc_1_5,q_tmp_1_5);
+                   q_acc_1_6 = _mm256_add_pd(q_acc_1_6,q_tmp_1_6);
+                   q_acc_1_7 = _mm256_add_pd(q_acc_1_7,q_tmp_1_7);
+                   q_acc_1_8 = _mm256_add_pd(q_acc_1_8,q_tmp_1_8);
+                   q_acc_1_9 = _mm256_add_pd(q_acc_1_9,q_tmp_1_9);
+                   q_acc_2_0 = _mm256_add_pd(q_acc_2_0,q_tmp_2_0);
+                   q_acc_2_1 = _mm256_add_pd(q_acc_2_1,q_tmp_2_1);
+                   q_acc_2_2 = _mm256_add_pd(q_acc_2_2,q_tmp_2_2);
+                   q_acc_2_3 = _mm256_add_pd(q_acc_2_3,q_tmp_2_3);
+                   q_acc_2_4 = _mm256_add_pd(q_acc_2_4,q_tmp_2_4);
+                   q_acc_2_5 = _mm256_add_pd(q_acc_2_5,q_tmp_2_5);
+                   q_acc_2_6 = _mm256_add_pd(q_acc_2_6,q_tmp_2_6);
+                   q_acc_2_7 = _mm256_add_pd(q_acc_2_7,q_tmp_2_7);
+                   q_acc_2_8 = _mm256_add_pd(q_acc_2_8,q_tmp_2_8);
+                   q_acc_2_9 = _mm256_add_pd(q_acc_2_9,q_tmp_2_9);
+                   q_acc_3_0 = _mm256_add_pd(q_acc_3_0,q_tmp_3_0);
+                   q_acc_3_1 = _mm256_add_pd(q_acc_3_1,q_tmp_3_1);
+                   q_acc_3_2 = _mm256_add_pd(q_acc_3_2,q_tmp_3_2);
+                   q_acc_3_3 = _mm256_add_pd(q_acc_3_3,q_tmp_3_3);
+                   q_acc_3_4 = _mm256_add_pd(q_acc_3_4,q_tmp_3_4);
+                   q_acc_3_5 = _mm256_add_pd(q_acc_3_5,q_tmp_3_5);
+                   q_acc_3_6 = _mm256_add_pd(q_acc_3_6,q_tmp_3_6);
+                   q_acc_3_7 = _mm256_add_pd(q_acc_3_7,q_tmp_3_7);
+                   q_acc_3_8 = _mm256_add_pd(q_acc_3_8,q_tmp_3_8);
+                   q_acc_3_9 = _mm256_add_pd(q_acc_3_9,q_tmp_3_9);
+                }
+                const __m256d elMatVec_0 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(q_acc_0_0,src_dof_0),_mm256_mul_pd(q_acc_0_1,src_dof_1)),_mm256_mul_pd(q_acc_0_2,src_dof_2)),_mm256_mul_pd(q_acc_0_3,src_dof_3)),_mm256_mul_pd(q_acc_0_4,src_dof_4)),_mm256_mul_pd(q_acc_0_5,src_dof_5)),_mm256_mul_pd(q_acc_0_6,src_dof_6)),_mm256_mul_pd(q_acc_0_7,src_dof_7)),_mm256_mul_pd(q_acc_0_8,src_dof_8)),_mm256_mul_pd(q_acc_0_9,src_dof_9));
+                const __m256d elMatVec_1 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(q_acc_1_0,src_dof_0),_mm256_mul_pd(q_acc_1_1,src_dof_1)),_mm256_mul_pd(q_acc_1_2,src_dof_2)),_mm256_mul_pd(q_acc_1_3,src_dof_3)),_mm256_mul_pd(q_acc_1_4,src_dof_4)),_mm256_mul_pd(q_acc_1_5,src_dof_5)),_mm256_mul_pd(q_acc_1_6,src_dof_6)),_mm256_mul_pd(q_acc_1_7,src_dof_7)),_mm256_mul_pd(q_acc_1_8,src_dof_8)),_mm256_mul_pd(q_acc_1_9,src_dof_9));
+                const __m256d elMatVec_2 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(q_acc_2_0,src_dof_0),_mm256_mul_pd(q_acc_2_1,src_dof_1)),_mm256_mul_pd(q_acc_2_2,src_dof_2)),_mm256_mul_pd(q_acc_2_3,src_dof_3)),_mm256_mul_pd(q_acc_2_4,src_dof_4)),_mm256_mul_pd(q_acc_2_5,src_dof_5)),_mm256_mul_pd(q_acc_2_6,src_dof_6)),_mm256_mul_pd(q_acc_2_7,src_dof_7)),_mm256_mul_pd(q_acc_2_8,src_dof_8)),_mm256_mul_pd(q_acc_2_9,src_dof_9));
+                const __m256d elMatVec_3 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(q_acc_3_0,src_dof_0),_mm256_mul_pd(q_acc_3_1,src_dof_1)),_mm256_mul_pd(q_acc_3_2,src_dof_2)),_mm256_mul_pd(q_acc_3_3,src_dof_3)),_mm256_mul_pd(q_acc_3_4,src_dof_4)),_mm256_mul_pd(q_acc_3_5,src_dof_5)),_mm256_mul_pd(q_acc_3_6,src_dof_6)),_mm256_mul_pd(q_acc_3_7,src_dof_7)),_mm256_mul_pd(q_acc_3_8,src_dof_8)),_mm256_mul_pd(q_acc_3_9,src_dof_9));
+                _mm256_storeu_pd(&_data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1],_mm256_add_pd(elMatVec_0,_mm256_loadu_pd(& _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1])));
+                _mm256_storeu_pd(&_data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))],_mm256_add_pd(elMatVec_1,_mm256_loadu_pd(& _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))])));
+                _mm256_storeu_pd(&_data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))],_mm256_add_pd(elMatVec_2,_mm256_loadu_pd(& _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))])));
+                _mm256_storeu_pd(&_data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1],_mm256_add_pd(elMatVec_3,_mm256_loadu_pd(& _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1])));
+             }
+             for (int64_t ctr_0 = (int64_t)((-ctr_1 - ctr_2 + micro_edges_per_macro_edge - 1) / (4)) * (4); ctr_0 < -ctr_1 - ctr_2 + micro_edges_per_macro_edge - 1; ctr_0 += 1)
+             {
+            
+                const int64_t phantom_ctr_0 = ctr_0;
+                real_t _data_float_loop_ctr_array_dim_0[4];
+                _data_float_loop_ctr_array_dim_0[0] = (real_t) ctr_0+ 0;
+                _data_float_loop_ctr_array_dim_0[1] = (real_t) ctr_0+ 1;
+                _data_float_loop_ctr_array_dim_0[2] = (real_t) ctr_0+ 2;
+                _data_float_loop_ctr_array_dim_0[3] = (real_t) ctr_0+ 3;
+                real_t _data_float_loop_ctr_array_dim_1[4];
+                _data_float_loop_ctr_array_dim_1[0] = (real_t) ctr_1;
+                _data_float_loop_ctr_array_dim_1[1] = (real_t) ctr_1;
+                _data_float_loop_ctr_array_dim_1[2] = (real_t) ctr_1;
+                _data_float_loop_ctr_array_dim_1[3] = (real_t) ctr_1;
+                real_t _data_float_loop_ctr_array_dim_2[4];
+                _data_float_loop_ctr_array_dim_2[0] = (real_t) ctr_2;
+                _data_float_loop_ctr_array_dim_2[1] = (real_t) ctr_2;
+                _data_float_loop_ctr_array_dim_2[2] = (real_t) ctr_2;
+                _data_float_loop_ctr_array_dim_2[3] = (real_t) ctr_2;
+            
+                const real_t p_affine_0_0 = macro_vertex_coord_id_0comp0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0)*(1.0 + _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0)*1.0*_data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0)*1.0*_data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0];
+                const real_t p_affine_0_1 = macro_vertex_coord_id_0comp1 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1)*(1.0 + _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1)*1.0*_data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1)*1.0*_data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0];
+                const real_t p_affine_0_2 = macro_vertex_coord_id_0comp2 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2)*(1.0 + _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2)*1.0*_data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2)*1.0*_data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0];
+                const real_t p_affine_1_0 = macro_vertex_coord_id_0comp0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0)*1.0*_data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0)*(1.0 + _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0)*1.0*_data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0];
+                const real_t p_affine_1_1 = macro_vertex_coord_id_0comp1 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1)*1.0*_data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1)*(1.0 + _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1)*1.0*_data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0];
+                const real_t p_affine_1_2 = macro_vertex_coord_id_0comp2 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2)*1.0*_data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2)*(1.0 + _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2)*1.0*_data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0];
+                const real_t p_affine_2_0 = macro_vertex_coord_id_0comp0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0)*1.0*_data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0)*1.0*_data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0)*(1.0 + _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0])*1.0;
+                const real_t p_affine_2_1 = macro_vertex_coord_id_0comp1 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1)*1.0*_data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1)*1.0*_data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1)*(1.0 + _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0])*1.0;
+                const real_t p_affine_2_2 = macro_vertex_coord_id_0comp2 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2)*1.0*_data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2)*1.0*_data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2)*(1.0 + _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0])*1.0;
+                const real_t p_affine_3_0 = macro_vertex_coord_id_0comp0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0)*(1.0 + _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0)*1.0*_data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0)*(1.0 + _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0])*1.0;
+                const real_t p_affine_3_1 = macro_vertex_coord_id_0comp1 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1)*(1.0 + _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1)*1.0*_data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1)*(1.0 + _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0])*1.0;
+                const real_t p_affine_3_2 = macro_vertex_coord_id_0comp2 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2)*(1.0 + _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2)*1.0*_data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2)*(1.0 + _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0])*1.0;
+                const real_t src_dof_0 = _data_srcVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1];
+                const real_t src_dof_1 = _data_srcVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))];
+                const real_t src_dof_2 = _data_srcVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))];
+                const real_t src_dof_3 = _data_srcVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1];
+                const real_t src_dof_4 = _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))];
+                const real_t src_dof_5 = _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge - 1)*(micro_edges_per_macro_edge + 1)) / (6)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))];
+                const real_t src_dof_6 = _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))];
+                const real_t src_dof_7 = _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1];
+                const real_t src_dof_8 = _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 5*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))];
+                const real_t src_dof_9 = _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))];
+                const real_t k_dof_0 = _data_kVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1];
+                const real_t k_dof_1 = _data_kVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))];
+                const real_t k_dof_2 = _data_kVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))];
+                const real_t k_dof_3 = _data_kVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1];
+                const real_t k_dof_4 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))];
+                const real_t k_dof_5 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge - 1)*(micro_edges_per_macro_edge + 1)) / (6)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))];
+                const real_t k_dof_6 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))];
+                const real_t k_dof_7 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1];
+                const real_t k_dof_8 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 5*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))];
+                const real_t k_dof_9 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))];
+                real_t q_acc_0_0 = 0.0;
+                real_t q_acc_0_1 = 0.0;
+                real_t q_acc_0_2 = 0.0;
+                real_t q_acc_0_3 = 0.0;
+                real_t q_acc_0_4 = 0.0;
+                real_t q_acc_0_5 = 0.0;
+                real_t q_acc_0_6 = 0.0;
+                real_t q_acc_0_7 = 0.0;
+                real_t q_acc_0_8 = 0.0;
+                real_t q_acc_0_9 = 0.0;
+                real_t q_acc_1_0 = 0.0;
+                real_t q_acc_1_1 = 0.0;
+                real_t q_acc_1_2 = 0.0;
+                real_t q_acc_1_3 = 0.0;
+                real_t q_acc_1_4 = 0.0;
+                real_t q_acc_1_5 = 0.0;
+                real_t q_acc_1_6 = 0.0;
+                real_t q_acc_1_7 = 0.0;
+                real_t q_acc_1_8 = 0.0;
+                real_t q_acc_1_9 = 0.0;
+                real_t q_acc_2_0 = 0.0;
+                real_t q_acc_2_1 = 0.0;
+                real_t q_acc_2_2 = 0.0;
+                real_t q_acc_2_3 = 0.0;
+                real_t q_acc_2_4 = 0.0;
+                real_t q_acc_2_5 = 0.0;
+                real_t q_acc_2_6 = 0.0;
+                real_t q_acc_2_7 = 0.0;
+                real_t q_acc_2_8 = 0.0;
+                real_t q_acc_2_9 = 0.0;
+                real_t q_acc_3_0 = 0.0;
+                real_t q_acc_3_1 = 0.0;
+                real_t q_acc_3_2 = 0.0;
+                real_t q_acc_3_3 = 0.0;
+                real_t q_acc_3_4 = 0.0;
+                real_t q_acc_3_5 = 0.0;
+                real_t q_acc_3_6 = 0.0;
+                real_t q_acc_3_7 = 0.0;
+                real_t q_acc_3_8 = 0.0;
+                real_t q_acc_3_9 = 0.0;
+                for (int64_t q = 0; q < 11; q += 1)
+                {
+                   const real_t tmp_qloop_0 = 4.0*_data_q_p_0[q];
+                   const real_t tmp_qloop_1 = tmp_qloop_0*_data_q_p_1[q];
+                   const real_t tmp_qloop_2 = tmp_qloop_0*_data_q_p_2[q];
+                   const real_t tmp_qloop_3 = 4.0*_data_q_p_1[q]*_data_q_p_2[q];
+                   const real_t tmp_qloop_4 = (_data_q_p_0[q]*_data_q_p_0[q]);
+                   const real_t tmp_qloop_5 = tmp_qloop_4*2.0;
+                   const real_t tmp_qloop_6 = (_data_q_p_1[q]*_data_q_p_1[q]);
+                   const real_t tmp_qloop_7 = tmp_qloop_6*2.0;
+                   const real_t tmp_qloop_8 = (_data_q_p_2[q]*_data_q_p_2[q]);
+                   const real_t tmp_qloop_9 = tmp_qloop_8*2.0;
+                   const real_t tmp_qloop_10 = tmp_qloop_1 + tmp_qloop_2;
+                   const real_t tmp_qloop_11 = p_affine_0_0 + (-p_affine_0_0 + p_affine_1_0)*_data_q_p_0[q] + (-p_affine_0_0 + p_affine_2_0)*_data_q_p_1[q] + (-p_affine_0_0 + p_affine_3_0)*_data_q_p_2[q];
+                   const real_t tmp_qloop_12 = p_affine_0_1 + (-p_affine_0_1 + p_affine_1_1)*_data_q_p_0[q] + (-p_affine_0_1 + p_affine_2_1)*_data_q_p_1[q] + (-p_affine_0_1 + p_affine_3_1)*_data_q_p_2[q];
+                   const real_t tmp_qloop_13 = p_affine_0_2 + (-p_affine_0_2 + p_affine_1_2)*_data_q_p_0[q] + (-p_affine_0_2 + p_affine_2_2)*_data_q_p_1[q] + (-p_affine_0_2 + p_affine_3_2)*_data_q_p_2[q];
+                   const real_t tmp_qloop_14 = (tmp_qloop_11*tmp_qloop_11);
+                   const real_t tmp_qloop_15 = (tmp_qloop_12*tmp_qloop_12);
+                   const real_t tmp_qloop_16 = (tmp_qloop_13*tmp_qloop_13);
+                   const real_t tmp_qloop_17 = tmp_qloop_14 + tmp_qloop_15 + tmp_qloop_16;
+                   const real_t tmp_qloop_18 = pow(tmp_qloop_17, -4.5000000000000000);
+                   const real_t tmp_qloop_39 = -tmp_qloop_13 - tmp_qloop_31;
+                   const real_t tmp_qloop_40 = -tmp_qloop_11 - tmp_qloop_20;
+                   const real_t tmp_qloop_41 = -tmp_qloop_12 - tmp_qloop_27;
+                   const real_t tmp_qloop_42 = radRayVertex*tmp_qloop_35 - tmp_qloop_37*(tmp_qloop_21*tmp_qloop_22*tmp_qloop_41 + tmp_qloop_25*tmp_qloop_32*tmp_qloop_40 - tmp_qloop_26*tmp_qloop_39 + tmp_qloop_28*tmp_qloop_29*tmp_qloop_39 - tmp_qloop_33*tmp_qloop_40 - tmp_qloop_34*tmp_qloop_41);
+                   const real_t tmp_qloop_43 = -tmp_qloop_42;
+                   const real_t tmp_qloop_44 = tmp_qloop_13*tmp_qloop_43 + tmp_qloop_17*tmp_qloop_38;
+                   const real_t tmp_qloop_46 = tmp_qloop_11*tmp_qloop_43 + tmp_qloop_17*tmp_qloop_45;
+                   const real_t tmp_qloop_48 = -tmp_qloop_12*tmp_qloop_42 - tmp_qloop_17*tmp_qloop_37*tmp_qloop_47;
+                   const real_t tmp_qloop_49 = tmp_qloop_15*tmp_qloop_43 + tmp_qloop_17*(-tmp_qloop_12*tmp_qloop_37*tmp_qloop_47 + tmp_qloop_42);
+                   const real_t tmp_qloop_50 = tmp_qloop_18*tmp_qloop_36;
+                   const real_t tmp_qloop_51 = tmp_qloop_11*tmp_qloop_46;
+                   const real_t tmp_qloop_52 = tmp_qloop_13*tmp_qloop_44;
+                   const real_t tmp_qloop_53 = tmp_qloop_16*tmp_qloop_43 + tmp_qloop_17*(tmp_qloop_13*tmp_qloop_38 + tmp_qloop_42);
+                   const real_t tmp_qloop_54 = tmp_qloop_12*tmp_qloop_48*tmp_qloop_50*1.0;
+                   const real_t tmp_qloop_55 = -tmp_qloop_14*tmp_qloop_42 + tmp_qloop_17*(tmp_qloop_11*tmp_qloop_45 + tmp_qloop_42);
+                   const real_t tmp_qloop_56 = (k_dof_0*(tmp_qloop_10 + tmp_qloop_3 + tmp_qloop_5 + tmp_qloop_7 + tmp_qloop_9 - 3.0*_data_q_p_0[q] - 3.0*_data_q_p_1[q] - 3.0*_data_q_p_2[q] + 1.0) + k_dof_1*(tmp_qloop_5 - _data_q_p_0[q]) + k_dof_2*(tmp_qloop_7 - _data_q_p_1[q]) + k_dof_3*(tmp_qloop_9 - _data_q_p_2[q]) + k_dof_4*tmp_qloop_3 + k_dof_5*tmp_qloop_2 + k_dof_6*tmp_qloop_1 + k_dof_7*(-tmp_qloop_2 - tmp_qloop_3 + tmp_qloop_8*-4.0 + 4.0*_data_q_p_2[q]) + k_dof_8*(-tmp_qloop_1 - tmp_qloop_3 + tmp_qloop_6*-4.0 + 4.0*_data_q_p_1[q]) + k_dof_9*(-tmp_qloop_10 + tmp_qloop_4*-4.0 + 4.0*_data_q_p_0[q]))*abs(tmp_qloop_11*tmp_qloop_12*tmp_qloop_13*tmp_qloop_18*tmp_qloop_36*tmp_qloop_44*tmp_qloop_46*tmp_qloop_48*-2.0 - tmp_qloop_18*tmp_qloop_36*tmp_qloop_49*tmp_qloop_53*tmp_qloop_55 + tmp_qloop_49*tmp_qloop_50*tmp_qloop_51*tmp_qloop_52*1.0 + tmp_qloop_51*tmp_qloop_53*tmp_qloop_54 + tmp_qloop_52*tmp_qloop_54*tmp_qloop_55)*_data_q_w[q];
+                   const real_t tmp_qloop_57 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 14];
+                   const real_t q_tmp_0_0 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q];
+                   const real_t q_tmp_0_1 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 1];
+                   const real_t q_tmp_0_2 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 2];
+                   const real_t q_tmp_0_3 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 3];
+                   const real_t q_tmp_0_4 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 4];
+                   const real_t q_tmp_0_5 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 5];
+                   const real_t q_tmp_0_6 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 6];
+                   const real_t q_tmp_0_7 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 7];
+                   const real_t q_tmp_0_8 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 8];
+                   const real_t q_tmp_0_9 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 9];
+                   const real_t q_tmp_1_0 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 10];
+                   const real_t q_tmp_1_1 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 11];
+                   const real_t q_tmp_1_2 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 12];
+                   const real_t q_tmp_1_3 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 13];
+                   const real_t q_tmp_1_4 = tmp_qloop_57;
+                   const real_t q_tmp_1_5 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 15];
+                   const real_t q_tmp_1_6 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 16];
+                   const real_t q_tmp_1_7 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 17];
+                   const real_t q_tmp_1_8 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 18];
+                   const real_t q_tmp_1_9 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 19];
+                   const real_t q_tmp_2_0 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 20];
+                   const real_t q_tmp_2_1 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 21];
+                   const real_t q_tmp_2_2 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 22];
+                   const real_t q_tmp_2_3 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 23];
+                   const real_t q_tmp_2_4 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 24];
+                   const real_t q_tmp_2_5 = tmp_qloop_57;
+                   const real_t q_tmp_2_6 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 25];
+                   const real_t q_tmp_2_7 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 26];
+                   const real_t q_tmp_2_8 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 27];
+                   const real_t q_tmp_2_9 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 28];
+                   const real_t q_tmp_3_0 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 29];
+                   const real_t q_tmp_3_1 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 30];
+                   const real_t q_tmp_3_2 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 31];
+                   const real_t q_tmp_3_3 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 32];
+                   const real_t q_tmp_3_4 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 33];
+                   const real_t q_tmp_3_5 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 34];
+                   const real_t q_tmp_3_6 = tmp_qloop_57;
+                   const real_t q_tmp_3_7 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 35];
+                   const real_t q_tmp_3_8 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 36];
+                   const real_t q_tmp_3_9 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 37];
+                   q_acc_0_0 = q_acc_0_0 + q_tmp_0_0;
+                   q_acc_0_1 = q_acc_0_1 + q_tmp_0_1;
+                   q_acc_0_2 = q_acc_0_2 + q_tmp_0_2;
+                   q_acc_0_3 = q_acc_0_3 + q_tmp_0_3;
+                   q_acc_0_4 = q_acc_0_4 + q_tmp_0_4;
+                   q_acc_0_5 = q_acc_0_5 + q_tmp_0_5;
+                   q_acc_0_6 = q_acc_0_6 + q_tmp_0_6;
+                   q_acc_0_7 = q_acc_0_7 + q_tmp_0_7;
+                   q_acc_0_8 = q_acc_0_8 + q_tmp_0_8;
+                   q_acc_0_9 = q_acc_0_9 + q_tmp_0_9;
+                   q_acc_1_0 = q_acc_1_0 + q_tmp_1_0;
+                   q_acc_1_1 = q_acc_1_1 + q_tmp_1_1;
+                   q_acc_1_2 = q_acc_1_2 + q_tmp_1_2;
+                   q_acc_1_3 = q_acc_1_3 + q_tmp_1_3;
+                   q_acc_1_4 = q_acc_1_4 + q_tmp_1_4;
+                   q_acc_1_5 = q_acc_1_5 + q_tmp_1_5;
+                   q_acc_1_6 = q_acc_1_6 + q_tmp_1_6;
+                   q_acc_1_7 = q_acc_1_7 + q_tmp_1_7;
+                   q_acc_1_8 = q_acc_1_8 + q_tmp_1_8;
+                   q_acc_1_9 = q_acc_1_9 + q_tmp_1_9;
+                   q_acc_2_0 = q_acc_2_0 + q_tmp_2_0;
+                   q_acc_2_1 = q_acc_2_1 + q_tmp_2_1;
+                   q_acc_2_2 = q_acc_2_2 + q_tmp_2_2;
+                   q_acc_2_3 = q_acc_2_3 + q_tmp_2_3;
+                   q_acc_2_4 = q_acc_2_4 + q_tmp_2_4;
+                   q_acc_2_5 = q_acc_2_5 + q_tmp_2_5;
+                   q_acc_2_6 = q_acc_2_6 + q_tmp_2_6;
+                   q_acc_2_7 = q_acc_2_7 + q_tmp_2_7;
+                   q_acc_2_8 = q_acc_2_8 + q_tmp_2_8;
+                   q_acc_2_9 = q_acc_2_9 + q_tmp_2_9;
+                   q_acc_3_0 = q_acc_3_0 + q_tmp_3_0;
+                   q_acc_3_1 = q_acc_3_1 + q_tmp_3_1;
+                   q_acc_3_2 = q_acc_3_2 + q_tmp_3_2;
+                   q_acc_3_3 = q_acc_3_3 + q_tmp_3_3;
+                   q_acc_3_4 = q_acc_3_4 + q_tmp_3_4;
+                   q_acc_3_5 = q_acc_3_5 + q_tmp_3_5;
+                   q_acc_3_6 = q_acc_3_6 + q_tmp_3_6;
+                   q_acc_3_7 = q_acc_3_7 + q_tmp_3_7;
+                   q_acc_3_8 = q_acc_3_8 + q_tmp_3_8;
+                   q_acc_3_9 = q_acc_3_9 + q_tmp_3_9;
+                }
+                const real_t elMatVec_0 = q_acc_0_0*src_dof_0 + q_acc_0_1*src_dof_1 + q_acc_0_2*src_dof_2 + q_acc_0_3*src_dof_3 + q_acc_0_4*src_dof_4 + q_acc_0_5*src_dof_5 + q_acc_0_6*src_dof_6 + q_acc_0_7*src_dof_7 + q_acc_0_8*src_dof_8 + q_acc_0_9*src_dof_9;
+                const real_t elMatVec_1 = q_acc_1_0*src_dof_0 + q_acc_1_1*src_dof_1 + q_acc_1_2*src_dof_2 + q_acc_1_3*src_dof_3 + q_acc_1_4*src_dof_4 + q_acc_1_5*src_dof_5 + q_acc_1_6*src_dof_6 + q_acc_1_7*src_dof_7 + q_acc_1_8*src_dof_8 + q_acc_1_9*src_dof_9;
+                const real_t elMatVec_2 = q_acc_2_0*src_dof_0 + q_acc_2_1*src_dof_1 + q_acc_2_2*src_dof_2 + q_acc_2_3*src_dof_3 + q_acc_2_4*src_dof_4 + q_acc_2_5*src_dof_5 + q_acc_2_6*src_dof_6 + q_acc_2_7*src_dof_7 + q_acc_2_8*src_dof_8 + q_acc_2_9*src_dof_9;
+                const real_t elMatVec_3 = q_acc_3_0*src_dof_0 + q_acc_3_1*src_dof_1 + q_acc_3_2*src_dof_2 + q_acc_3_3*src_dof_3 + q_acc_3_4*src_dof_4 + q_acc_3_5*src_dof_5 + q_acc_3_6*src_dof_6 + q_acc_3_7*src_dof_7 + q_acc_3_8*src_dof_8 + q_acc_3_9*src_dof_9;
+                _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1] = elMatVec_0 + _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1];
+                _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))] = elMatVec_1 + _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))];
+                _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))] = elMatVec_2 + _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))];
+                _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1] = elMatVec_3 + _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1];
+             }
+          }
+       }
+       const real_t tmp_coords_jac_0_GREEN_DOWN = 1.0 / (micro_edges_per_macro_edge_float)*1.0;
+       const real_t tmp_coords_jac_1_GREEN_DOWN = macro_vertex_coord_id_0comp0 + tmp_coords_jac_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0);
+       const real_t tmp_coords_jac_2_GREEN_DOWN = macro_vertex_coord_id_0comp1 + tmp_coords_jac_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1);
+       const real_t tmp_coords_jac_3_GREEN_DOWN = macro_vertex_coord_id_0comp2 + tmp_coords_jac_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2);
+       const real_t tmp_coords_jac_4_GREEN_DOWN = tmp_coords_jac_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0);
+       const real_t tmp_coords_jac_5_GREEN_DOWN = tmp_coords_jac_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1);
+       const real_t tmp_coords_jac_6_GREEN_DOWN = tmp_coords_jac_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2);
+       const real_t tmp_coords_jac_7_GREEN_DOWN = tmp_coords_jac_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0);
+       const real_t tmp_coords_jac_8_GREEN_DOWN = tmp_coords_jac_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1);
+       const real_t tmp_coords_jac_9_GREEN_DOWN = tmp_coords_jac_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2);
+       const real_t p_affine_const_0_0_GREEN_DOWN = tmp_coords_jac_1_GREEN_DOWN;
+       const real_t p_affine_const_0_1_GREEN_DOWN = tmp_coords_jac_2_GREEN_DOWN;
+       const real_t p_affine_const_0_2_GREEN_DOWN = tmp_coords_jac_3_GREEN_DOWN;
+       const real_t p_affine_const_1_0_GREEN_DOWN = tmp_coords_jac_1_GREEN_DOWN + tmp_coords_jac_4_GREEN_DOWN;
+       const real_t p_affine_const_1_1_GREEN_DOWN = tmp_coords_jac_2_GREEN_DOWN + tmp_coords_jac_5_GREEN_DOWN;
+       const real_t p_affine_const_1_2_GREEN_DOWN = tmp_coords_jac_3_GREEN_DOWN + tmp_coords_jac_6_GREEN_DOWN;
+       const real_t p_affine_const_2_0_GREEN_DOWN = macro_vertex_coord_id_0comp0 + tmp_coords_jac_4_GREEN_DOWN + tmp_coords_jac_7_GREEN_DOWN;
+       const real_t p_affine_const_2_1_GREEN_DOWN = macro_vertex_coord_id_0comp1 + tmp_coords_jac_5_GREEN_DOWN + tmp_coords_jac_8_GREEN_DOWN;
+       const real_t p_affine_const_2_2_GREEN_DOWN = macro_vertex_coord_id_0comp2 + tmp_coords_jac_6_GREEN_DOWN + tmp_coords_jac_9_GREEN_DOWN;
+       const real_t p_affine_const_3_0_GREEN_DOWN = tmp_coords_jac_1_GREEN_DOWN + tmp_coords_jac_7_GREEN_DOWN;
+       const real_t p_affine_const_3_1_GREEN_DOWN = tmp_coords_jac_2_GREEN_DOWN + tmp_coords_jac_8_GREEN_DOWN;
+       const real_t p_affine_const_3_2_GREEN_DOWN = tmp_coords_jac_3_GREEN_DOWN + tmp_coords_jac_9_GREEN_DOWN;
+       const real_t jac_affine_0_0_GREEN_DOWN = -p_affine_const_0_0_GREEN_DOWN + p_affine_const_1_0_GREEN_DOWN;
+       const real_t jac_affine_0_1_GREEN_DOWN = -p_affine_const_0_0_GREEN_DOWN + p_affine_const_2_0_GREEN_DOWN;
+       const real_t jac_affine_0_2_GREEN_DOWN = -p_affine_const_0_0_GREEN_DOWN + p_affine_const_3_0_GREEN_DOWN;
+       const real_t jac_affine_1_0_GREEN_DOWN = -p_affine_const_0_1_GREEN_DOWN + p_affine_const_1_1_GREEN_DOWN;
+       const real_t jac_affine_1_1_GREEN_DOWN = -p_affine_const_0_1_GREEN_DOWN + p_affine_const_2_1_GREEN_DOWN;
+       const real_t jac_affine_1_2_GREEN_DOWN = -p_affine_const_0_1_GREEN_DOWN + p_affine_const_3_1_GREEN_DOWN;
+       const real_t jac_affine_2_0_GREEN_DOWN = -p_affine_const_0_2_GREEN_DOWN + p_affine_const_1_2_GREEN_DOWN;
+       const real_t jac_affine_2_1_GREEN_DOWN = -p_affine_const_0_2_GREEN_DOWN + p_affine_const_2_2_GREEN_DOWN;
+       const real_t jac_affine_2_2_GREEN_DOWN = -p_affine_const_0_2_GREEN_DOWN + p_affine_const_3_2_GREEN_DOWN;
+       const real_t abs_det_jac_affine_GREEN_DOWN = abs(jac_affine_0_0_GREEN_DOWN*jac_affine_1_1_GREEN_DOWN*jac_affine_2_2_GREEN_DOWN - jac_affine_0_0_GREEN_DOWN*jac_affine_1_2_GREEN_DOWN*jac_affine_2_1_GREEN_DOWN - jac_affine_0_1_GREEN_DOWN*jac_affine_1_0_GREEN_DOWN*jac_affine_2_2_GREEN_DOWN + jac_affine_0_1_GREEN_DOWN*jac_affine_1_2_GREEN_DOWN*jac_affine_2_0_GREEN_DOWN + jac_affine_0_2_GREEN_DOWN*jac_affine_1_0_GREEN_DOWN*jac_affine_2_1_GREEN_DOWN - jac_affine_0_2_GREEN_DOWN*jac_affine_1_1_GREEN_DOWN*jac_affine_2_0_GREEN_DOWN);
+       {
+          /* CellType.GREEN_DOWN */
+          const real_t _data_phi_psi_jac_affine_det_0_0_GREEN_DOWN [] = {((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.010749089276961213)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0013747922567553051)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.01396287204173041)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.008164600589399525)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.012151214443257608)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.019083835042434261)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.072053489056043002)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0046416810200408439)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.017525267423213611)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.027523941260433657)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.044193869792483409)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0056523290877285)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0574070354280087)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.033567987580949914)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.049958575567593019)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.078461393265588306)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.29624114484395714)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.019083835042434251)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.072053489056042974)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.11316209633188964)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.02813947970791995)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0035989968838093011)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.036552673846023863)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.021373681684931475)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.031810029988819218)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.18862506775555832)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.012151214443257601)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.045878482755592566)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.07205348905604296)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0074529241534464254)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.00095321772406372263)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0096812133204938391)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0056609585582659784)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0084250932599439499)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.013231853551815916)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0032183281481346165)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.012151214443257603)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.019083835042434251)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-2.9012262911449775e-5)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.00014612615736184792)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.00047804109319682082)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0032416491456343029)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0021116678219306132)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.00052791366753715454)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*7.0977528354966774e-5)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*9.9895812682163066e-5)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*1.3430904167093961e-5)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*3.3577051293550935e-6)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.00015331944058422371)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.00077222451657154147)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0025262763269762738)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.017130957178208683)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.011159409734644826)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0027898350580443485)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.00037509087018302439)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.00052791366753715541)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*7.0977528354966354e-5)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*1.7744271574084403e-5)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.00061328158194601311)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0030889173045236238)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.010105168244399365)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.068524255492113287)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.044637916950180538)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0015003728252777238)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0021116678219306167)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.000283911881665389)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*7.0977528354965283e-5)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0045614398903685138)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.022974618879299673)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.075159794270401023)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.50966681808331993)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.33200601647520916)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.083000987173061064)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.015706073884687172)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0021116678219306002)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.00052791366753714337)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.02118185416019976)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.040792474062018545)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.049791196691139579)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.035867609546541376)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.059688031245203839)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.021562946853404222)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.071405876738584673)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.080243884747120436)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.26572828761452333)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.095997217930328324)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.005691937733975882)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.010961657115556597)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.013379772569609637)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.009638259175114022)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.016039226535213912)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0057943440608341223)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.019188018251946451)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.021562946853404225)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0714058767385847)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.025796145274243024)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.015755757300754607)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.03034277906728966)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.037036323866953338)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.026679503441931235)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.044397913749511943)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.053114031247306501)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.059688031245203839)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.19765740883375349)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0714058767385847)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0047578795027626341)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0091628275191950465)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.011184125448277639)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0080566017962316674)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.013407157762204741)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0048434807489961713)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.018024424659562992)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.059688031245203853)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.021562946853404232)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.00015688175714697789)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0014950153325289843)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0012666972383742025)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0015490159490981592)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0062931924029516256)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0020445450956193246)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0056480276621754888)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.00013641635559728395)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.00037684830314454006)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0001224312400849633)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.002351271046368435)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.022406596720860313)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.018984670973016902)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.023215932927530856)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.094319450236798913)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.030642694050274453)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.084650020197820364)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0020445450956193168)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0056480276621755114)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0018349426677638542)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0072373072709378001)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.068968409922504109)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.058435584226493004)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.071459579463428277)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.29031907828914638)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.26055618198886238)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0062931924029516022)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.017384857321768536)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0056480276621755391)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0026198528001873307)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.024966064738678271)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.021153258143552994)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.025867850064795264)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.10509340307518385)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.034142957672569287)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0022780900577755898)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0062931924029516507)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0020445450956193428)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0016747236096797923)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.022395383667253931)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0010823709889014185)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0036990864559166563)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.00050834301173610229)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.015588264867481133)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0037476086033569342)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.00081420248681843786)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.00019574418772167287)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0060024671806827717)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.032063320402672957)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.42876947450525699)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.020722468836717273)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.070820637834037012)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.009732450635762396)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.29844418988237825)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.071749615697017544)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.015588264867481126)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0037476086033569277)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.1149198753205366)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0010456048186450997)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.013982439217157605)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.00067577259615595462)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0023095050434207478)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.00031738126788423253)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0023397995892677865)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.00050834301173610208)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.00012221184720903605)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0037476086033569355)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0043492174836919605)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.058160280082415236)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0028108917803285017)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0096064397699850354)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0013201547416997409)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.040482354049473784)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0021144645423690485)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.00050834301173610142)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.015588264867481138)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0068956855714663416)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.010091290281029655)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0080216243244021178)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0035198334831929206)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.018978279386089755)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.056811998632973766)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.01396686284573566)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.015485631440181358)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0038070424489360009)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.01139648574059631)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.025298140458325055)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.037021827096001436)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.029428861968758362)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.012913181862031289)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.069625445155635055)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.20842567519062763)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.051240105769272605)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.056811998632973738)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.013966862845735664)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.041810186095187066)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0084509467915105906)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.012367292031926986)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0098308311254096271)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0043137009617327136)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.023258663351751644)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.017116965895609845)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.018978279386089748)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0046656873831529451)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.01396686284573564)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.034375305526338835)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.050305540032273111)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.039988161309129681)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.017546529657219402)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.094607584046545581)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.28321039153111127)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.077196575526473174)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.018978279386089758)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.056811998632973676)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.036989007988906066)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.024350339729610097)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.022721604194642659)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0020718315986862396)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.053354679030800815)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.058170268354931241)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0093518161026560475)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.22863973450271471)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.036757553494219546)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.040075149727639509)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0094107024991835538)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0061951865002202629)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.005780805406949952)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.00052711310369534133)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.013574438423676774)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.014799615333023134)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0023792787088414437)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.058170268354931248)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.009351816102656051)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.010195875266786407)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0086316433720857837)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0056823218562164577)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0053022450428696702)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.00048347637471763576)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.012450687019346486)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0021823116073744556)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.053354679030800829)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0085776318491057792)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0093518161026560475)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.053690642094179834)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.035345240285608669)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.032981082352521167)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0030073250106582576)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.077445898974953548)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.084435869696849797)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.3318773554937019)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.053354679030800836)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.058170268354931241)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.2830869924348563)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.050308558644386672)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.041516821634179475)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.06274193203760102)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.020160825588817252)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.025383152182066201)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.015152528090816651)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.23919668259056145)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.14278898169094956)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.17977609281010931)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.030040718507945225)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0053386601615906274)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0044056957238823311)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0066580689659201985)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.002139433116273644)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0026936176861649991)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0016079609562587173)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.025383152182066195)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.015152528090816651)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.019077538505445499)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.023860144794362503)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0042402848796628178)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0034992684300787832)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0052882386796338152)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0016992664113091131)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0012771392678196903)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.020160825588817249)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.012035048833865587)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.01515252809081665)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.039969943152159265)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0071032236832497221)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0058618906729116316)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0088587307923610938)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0028465703978647464)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0035839271208240476)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.033772932211040815)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.020160825588817245)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.025383152182066191)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.014935575584147695)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.007791142568055953)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0073254854313094774)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.015186461110532538)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.090150328303510344)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.012455650259246793)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.015731589118882311)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.029517331411893867)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.037280633286332542)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0051508911658584714)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0063024771210085937)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0032876870064389215)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0030911901634452068)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0064083451728372039)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.038041411821271319)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0052560043865672946)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0066383769370158769)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.012455650259246798)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.015731589118882314)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0021735602717637636)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.045615473279886819)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.023795310306631609)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.022373124026687209)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.046381715060167777)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.27533253531028662)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.048046617223388682)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.090150328303510385)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.11386060898348732)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.015731589118882311)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.036116528170846006)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.018840185867421855)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.017714155002223078)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.036723208116341576)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.21799741519439725)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.030119685775736597)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.07137746553252089)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.090150328303510371)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.012455650259246793)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.032896921427909828)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.020934012679446525)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.020127575524041673)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.033499901528319088)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0098838942808698073)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.075244795478138254)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.040011251730840761)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.067458477890573201)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.035870894765649017)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.27308043404340754)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.036694010925042916)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.023350297128803515)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.022450777887903339)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.037366589313281677)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.011024731463671476)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.083929839859876898)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.044629504659074608)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.075244795478138254)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.040011251730840761)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.30460043053460045)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0048199974818136015)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0030672137093527801)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0029490559946009505)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0049083450365209726)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0014481703295155801)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.005862376301973493)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0098838942808698056)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0052557386811928905)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.040011251730840761)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.009064443351184925)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.005768174157623188)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0055459678357496689)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.009230588957667556)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0027234159279729726)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.020733009548559916)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.018587561536304909)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0098838942808698056)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.075244795478138254)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.012773605317404142)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0093099638314587951)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.055932196812816262)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0011391519589580709)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0035913578872906952)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.00039530708258920854)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.034759025419540214)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.00061078662356131824)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.053705963564394235)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0059115099192464755)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0082672024196058687)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0060254997396084128)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.036199865373541695)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.00073727030054430856)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0023243619853375876)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.00025584661404999347)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.022496381554864123)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.00039530708258920833)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.034759025419540221)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0038259870955407193)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.075107388466231287)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.054741559075980606)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.32887513974352289)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.006698087703317224)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.02111678772433076)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.20437923045390871)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0035913578872906935)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.31578513412249021)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.034759025419540214)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.00085418052598187596)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.00062256423341908954)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0037402277670030831)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-7.6175942132039452e-5)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.00024015678369014598)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*2.6434479799555231e-5)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*4.0843757608938361e-5)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0035913578872906957)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.00039530708258920849))};
+      
+          for (int64_t ctr_2 = 0; ctr_2 < micro_edges_per_macro_edge; ctr_2 += 1)
+          for (int64_t ctr_1 = 0; ctr_1 < -ctr_2 + micro_edges_per_macro_edge; ctr_1 += 1)
+          {
+             for (int64_t ctr_0 = 0; ctr_0 < (int64_t)((-ctr_1 - ctr_2 + micro_edges_per_macro_edge - 1) / (4)) * (4); ctr_0 += 4)
+             {
+            
+                const int64_t phantom_ctr_0 = ctr_0;
+                real_t _data_float_loop_ctr_array_dim_0[4];
+                _data_float_loop_ctr_array_dim_0[0] = (real_t) ctr_0+ 0;
+                _data_float_loop_ctr_array_dim_0[1] = (real_t) ctr_0+ 1;
+                _data_float_loop_ctr_array_dim_0[2] = (real_t) ctr_0+ 2;
+                _data_float_loop_ctr_array_dim_0[3] = (real_t) ctr_0+ 3;
+                real_t _data_float_loop_ctr_array_dim_1[4];
+                _data_float_loop_ctr_array_dim_1[0] = (real_t) ctr_1;
+                _data_float_loop_ctr_array_dim_1[1] = (real_t) ctr_1;
+                _data_float_loop_ctr_array_dim_1[2] = (real_t) ctr_1;
+                _data_float_loop_ctr_array_dim_1[3] = (real_t) ctr_1;
+                real_t _data_float_loop_ctr_array_dim_2[4];
+                _data_float_loop_ctr_array_dim_2[0] = (real_t) ctr_2;
+                _data_float_loop_ctr_array_dim_2[1] = (real_t) ctr_2;
+                _data_float_loop_ctr_array_dim_2[2] = (real_t) ctr_2;
+                _data_float_loop_ctr_array_dim_2[3] = (real_t) ctr_2;
+            
+                const __m256d p_affine_0_0 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0)),_mm256_set_pd(macro_vertex_coord_id_1comp0,macro_vertex_coord_id_1comp0,macro_vertex_coord_id_1comp0,macro_vertex_coord_id_1comp0)),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0)),_mm256_set_pd(macro_vertex_coord_id_2comp0,macro_vertex_coord_id_2comp0,macro_vertex_coord_id_2comp0,macro_vertex_coord_id_2comp0)),_mm256_add_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float)))),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0)),_mm256_set_pd(macro_vertex_coord_id_3comp0,macro_vertex_coord_id_3comp0,macro_vertex_coord_id_3comp0,macro_vertex_coord_id_3comp0)),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0));
+                const __m256d p_affine_0_1 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1)),_mm256_set_pd(macro_vertex_coord_id_1comp1,macro_vertex_coord_id_1comp1,macro_vertex_coord_id_1comp1,macro_vertex_coord_id_1comp1)),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1)),_mm256_set_pd(macro_vertex_coord_id_2comp1,macro_vertex_coord_id_2comp1,macro_vertex_coord_id_2comp1,macro_vertex_coord_id_2comp1)),_mm256_add_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float)))),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1)),_mm256_set_pd(macro_vertex_coord_id_3comp1,macro_vertex_coord_id_3comp1,macro_vertex_coord_id_3comp1,macro_vertex_coord_id_3comp1)),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1));
+                const __m256d p_affine_0_2 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2)),_mm256_set_pd(macro_vertex_coord_id_1comp2,macro_vertex_coord_id_1comp2,macro_vertex_coord_id_1comp2,macro_vertex_coord_id_1comp2)),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2)),_mm256_set_pd(macro_vertex_coord_id_2comp2,macro_vertex_coord_id_2comp2,macro_vertex_coord_id_2comp2,macro_vertex_coord_id_2comp2)),_mm256_add_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float)))),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2)),_mm256_set_pd(macro_vertex_coord_id_3comp2,macro_vertex_coord_id_3comp2,macro_vertex_coord_id_3comp2,macro_vertex_coord_id_3comp2)),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2));
+                const __m256d p_affine_1_0 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0)),_mm256_set_pd(macro_vertex_coord_id_1comp0,macro_vertex_coord_id_1comp0,macro_vertex_coord_id_1comp0,macro_vertex_coord_id_1comp0)),_mm256_add_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0)),_mm256_set_pd(macro_vertex_coord_id_2comp0,macro_vertex_coord_id_2comp0,macro_vertex_coord_id_2comp0,macro_vertex_coord_id_2comp0)),_mm256_add_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float)))),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0)),_mm256_set_pd(macro_vertex_coord_id_3comp0,macro_vertex_coord_id_3comp0,macro_vertex_coord_id_3comp0,macro_vertex_coord_id_3comp0)),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0));
+                const __m256d p_affine_1_1 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1)),_mm256_set_pd(macro_vertex_coord_id_1comp1,macro_vertex_coord_id_1comp1,macro_vertex_coord_id_1comp1,macro_vertex_coord_id_1comp1)),_mm256_add_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1)),_mm256_set_pd(macro_vertex_coord_id_2comp1,macro_vertex_coord_id_2comp1,macro_vertex_coord_id_2comp1,macro_vertex_coord_id_2comp1)),_mm256_add_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float)))),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1)),_mm256_set_pd(macro_vertex_coord_id_3comp1,macro_vertex_coord_id_3comp1,macro_vertex_coord_id_3comp1,macro_vertex_coord_id_3comp1)),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1));
+                const __m256d p_affine_1_2 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2)),_mm256_set_pd(macro_vertex_coord_id_1comp2,macro_vertex_coord_id_1comp2,macro_vertex_coord_id_1comp2,macro_vertex_coord_id_1comp2)),_mm256_add_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2)),_mm256_set_pd(macro_vertex_coord_id_2comp2,macro_vertex_coord_id_2comp2,macro_vertex_coord_id_2comp2,macro_vertex_coord_id_2comp2)),_mm256_add_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float)))),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2)),_mm256_set_pd(macro_vertex_coord_id_3comp2,macro_vertex_coord_id_3comp2,macro_vertex_coord_id_3comp2,macro_vertex_coord_id_3comp2)),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2));
+                const __m256d p_affine_2_0 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0)),_mm256_set_pd(macro_vertex_coord_id_1comp0,macro_vertex_coord_id_1comp0,macro_vertex_coord_id_1comp0,macro_vertex_coord_id_1comp0)),_mm256_add_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0)),_mm256_set_pd(macro_vertex_coord_id_2comp0,macro_vertex_coord_id_2comp0,macro_vertex_coord_id_2comp0,macro_vertex_coord_id_2comp0)),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0]))),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0)),_mm256_set_pd(macro_vertex_coord_id_3comp0,macro_vertex_coord_id_3comp0,macro_vertex_coord_id_3comp0,macro_vertex_coord_id_3comp0)),_mm256_add_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float)))),_mm256_set_pd(macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0));
+                const __m256d p_affine_2_1 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1)),_mm256_set_pd(macro_vertex_coord_id_1comp1,macro_vertex_coord_id_1comp1,macro_vertex_coord_id_1comp1,macro_vertex_coord_id_1comp1)),_mm256_add_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1)),_mm256_set_pd(macro_vertex_coord_id_2comp1,macro_vertex_coord_id_2comp1,macro_vertex_coord_id_2comp1,macro_vertex_coord_id_2comp1)),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0]))),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1)),_mm256_set_pd(macro_vertex_coord_id_3comp1,macro_vertex_coord_id_3comp1,macro_vertex_coord_id_3comp1,macro_vertex_coord_id_3comp1)),_mm256_add_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float)))),_mm256_set_pd(macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1));
+                const __m256d p_affine_2_2 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2)),_mm256_set_pd(macro_vertex_coord_id_1comp2,macro_vertex_coord_id_1comp2,macro_vertex_coord_id_1comp2,macro_vertex_coord_id_1comp2)),_mm256_add_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2)),_mm256_set_pd(macro_vertex_coord_id_2comp2,macro_vertex_coord_id_2comp2,macro_vertex_coord_id_2comp2,macro_vertex_coord_id_2comp2)),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0]))),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2)),_mm256_set_pd(macro_vertex_coord_id_3comp2,macro_vertex_coord_id_3comp2,macro_vertex_coord_id_3comp2,macro_vertex_coord_id_3comp2)),_mm256_add_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float)))),_mm256_set_pd(macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2));
+                const __m256d p_affine_3_0 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0)),_mm256_set_pd(macro_vertex_coord_id_1comp0,macro_vertex_coord_id_1comp0,macro_vertex_coord_id_1comp0,macro_vertex_coord_id_1comp0)),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0)),_mm256_set_pd(macro_vertex_coord_id_2comp0,macro_vertex_coord_id_2comp0,macro_vertex_coord_id_2comp0,macro_vertex_coord_id_2comp0)),_mm256_add_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float)))),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0)),_mm256_set_pd(macro_vertex_coord_id_3comp0,macro_vertex_coord_id_3comp0,macro_vertex_coord_id_3comp0,macro_vertex_coord_id_3comp0)),_mm256_add_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float)))),_mm256_set_pd(macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0,macro_vertex_coord_id_0comp0));
+                const __m256d p_affine_3_1 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1)),_mm256_set_pd(macro_vertex_coord_id_1comp1,macro_vertex_coord_id_1comp1,macro_vertex_coord_id_1comp1,macro_vertex_coord_id_1comp1)),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1)),_mm256_set_pd(macro_vertex_coord_id_2comp1,macro_vertex_coord_id_2comp1,macro_vertex_coord_id_2comp1,macro_vertex_coord_id_2comp1)),_mm256_add_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float)))),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1)),_mm256_set_pd(macro_vertex_coord_id_3comp1,macro_vertex_coord_id_3comp1,macro_vertex_coord_id_3comp1,macro_vertex_coord_id_3comp1)),_mm256_add_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float)))),_mm256_set_pd(macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1,macro_vertex_coord_id_0comp1));
+                const __m256d p_affine_3_2 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2)),_mm256_set_pd(macro_vertex_coord_id_1comp2,macro_vertex_coord_id_1comp2,macro_vertex_coord_id_1comp2,macro_vertex_coord_id_1comp2)),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float))),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2)),_mm256_set_pd(macro_vertex_coord_id_2comp2,macro_vertex_coord_id_2comp2,macro_vertex_coord_id_2comp2,macro_vertex_coord_id_2comp2)),_mm256_add_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float)))),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2)),_mm256_set_pd(macro_vertex_coord_id_3comp2,macro_vertex_coord_id_3comp2,macro_vertex_coord_id_3comp2,macro_vertex_coord_id_3comp2)),_mm256_add_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_loadu_pd(& _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0]))),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float,micro_edges_per_macro_edge_float)))),_mm256_set_pd(macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2,macro_vertex_coord_id_0comp2));
+                const __m256d src_dof_0 = _mm256_loadu_pd(& _data_srcVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]);
+                const __m256d src_dof_1 = _mm256_loadu_pd(& _data_srcVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]);
+                const __m256d src_dof_2 = _mm256_loadu_pd(& _data_srcVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]);
+                const __m256d src_dof_3 = _mm256_loadu_pd(& _data_srcVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]);
+                const __m256d src_dof_4 = _mm256_loadu_pd(& _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]);
+                const __m256d src_dof_5 = _mm256_loadu_pd(& _data_srcEdge[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 5*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]);
+                const __m256d src_dof_6 = _mm256_loadu_pd(& _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1]);
+                const __m256d src_dof_7 = _mm256_loadu_pd(& _data_srcEdge[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]);
+                const __m256d src_dof_8 = _mm256_loadu_pd(& _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge - 1)*(micro_edges_per_macro_edge + 1)) / (6)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]);
+                const __m256d src_dof_9 = _mm256_loadu_pd(& _data_srcEdge[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]);
+                const __m256d k_dof_0 = _mm256_loadu_pd(& _data_kVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]);
+                const __m256d k_dof_1 = _mm256_loadu_pd(& _data_kVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]);
+                const __m256d k_dof_2 = _mm256_loadu_pd(& _data_kVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]);
+                const __m256d k_dof_3 = _mm256_loadu_pd(& _data_kVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]);
+                const __m256d k_dof_4 = _mm256_loadu_pd(& _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]);
+                const __m256d k_dof_5 = _mm256_loadu_pd(& _data_kEdge[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 5*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]);
+                const __m256d k_dof_6 = _mm256_loadu_pd(& _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1]);
+                const __m256d k_dof_7 = _mm256_loadu_pd(& _data_kEdge[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]);
+                const __m256d k_dof_8 = _mm256_loadu_pd(& _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge - 1)*(micro_edges_per_macro_edge + 1)) / (6)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]);
+                const __m256d k_dof_9 = _mm256_loadu_pd(& _data_kEdge[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]);
+                __m256d q_acc_0_0 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_0_1 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_0_2 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_0_3 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_0_4 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_0_5 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_0_6 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_0_7 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_0_8 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_0_9 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_1_0 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_1_1 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_1_2 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_1_3 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_1_4 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_1_5 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_1_6 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_1_7 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_1_8 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_1_9 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_2_0 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_2_1 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_2_2 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_2_3 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_2_4 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_2_5 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_2_6 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_2_7 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_2_8 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_2_9 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_3_0 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_3_1 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_3_2 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_3_3 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_3_4 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_3_5 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_3_6 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_3_7 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_3_8 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_3_9 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                for (int64_t q = 0; q < 11; q += 1)
+                {
+                   const __m256d tmp_qloop_0 = _mm256_mul_pd(_mm256_set_pd(4.0,4.0,4.0,4.0),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q]));
+                   const __m256d tmp_qloop_1 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q]));
+                   const __m256d tmp_qloop_2 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q]));
+                   const __m256d tmp_qloop_3 = _mm256_mul_pd(_mm256_mul_pd(_mm256_set_pd(4.0,4.0,4.0,4.0),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q])),_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q]));
+                   const __m256d tmp_qloop_4 = _mm256_mul_pd(_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q]),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q]));
+                   const __m256d tmp_qloop_5 = _mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(2.0,2.0,2.0,2.0));
+                   const __m256d tmp_qloop_6 = _mm256_mul_pd(_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q]),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q]));
+                   const __m256d tmp_qloop_7 = _mm256_mul_pd(tmp_qloop_6,_mm256_set_pd(2.0,2.0,2.0,2.0));
+                   const __m256d tmp_qloop_8 = _mm256_mul_pd(_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q]),_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q]));
+                   const __m256d tmp_qloop_9 = _mm256_mul_pd(tmp_qloop_8,_mm256_set_pd(2.0,2.0,2.0,2.0));
+                   const __m256d tmp_qloop_10 = _mm256_add_pd(tmp_qloop_1,tmp_qloop_2);
+                   const __m256d tmp_qloop_11 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(p_affine_0_0,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),p_affine_1_0),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q])),_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(p_affine_0_0,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),p_affine_2_0),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q]))),_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(p_affine_0_0,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),p_affine_3_0),_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q]))),p_affine_0_0);
+                   const __m256d tmp_qloop_12 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(p_affine_0_1,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),p_affine_1_1),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q])),_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(p_affine_0_1,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),p_affine_2_1),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q]))),_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(p_affine_0_1,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),p_affine_3_1),_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q]))),p_affine_0_1);
+                   const __m256d tmp_qloop_13 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(p_affine_0_2,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),p_affine_1_2),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q])),_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(p_affine_0_2,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),p_affine_2_2),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q]))),_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(p_affine_0_2,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),p_affine_3_2),_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q]))),p_affine_0_2);
+                   const __m256d tmp_qloop_14 = _mm256_mul_pd(tmp_qloop_11,tmp_qloop_11);
+                   const __m256d tmp_qloop_15 = _mm256_mul_pd(tmp_qloop_12,tmp_qloop_12);
+                   const __m256d tmp_qloop_16 = _mm256_mul_pd(tmp_qloop_13,tmp_qloop_13);
+                   const __m256d tmp_qloop_17 = _mm256_add_pd(_mm256_add_pd(tmp_qloop_14,tmp_qloop_15),tmp_qloop_16);
+                   const __m256d tmp_qloop_18 = _mm256_div_pd(_mm256_sqrt_pd(tmp_qloop_17),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_17,tmp_qloop_17),tmp_qloop_17),tmp_qloop_17),tmp_qloop_17));
+                   const __m256d tmp_qloop_39 = _mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_31,tmp_qloop_31,tmp_qloop_31,tmp_qloop_31)),_mm256_mul_pd(tmp_qloop_13,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)));
+                   const __m256d tmp_qloop_40 = _mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_20,tmp_qloop_20,tmp_qloop_20,tmp_qloop_20)),_mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)));
+                   const __m256d tmp_qloop_41 = _mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_27,tmp_qloop_27,tmp_qloop_27,tmp_qloop_27)),_mm256_mul_pd(tmp_qloop_12,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)));
+                   const __m256d tmp_qloop_42 = _mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(radRayVertex,radRayVertex,radRayVertex,radRayVertex),_mm256_set_pd(tmp_qloop_35,tmp_qloop_35,tmp_qloop_35,tmp_qloop_35)),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_39,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_set_pd(tmp_qloop_26,tmp_qloop_26,tmp_qloop_26,tmp_qloop_26)),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_40,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_set_pd(tmp_qloop_33,tmp_qloop_33,tmp_qloop_33,tmp_qloop_33))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_41,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_set_pd(tmp_qloop_34,tmp_qloop_34,tmp_qloop_34,tmp_qloop_34))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_41,_mm256_set_pd(tmp_qloop_21,tmp_qloop_21,tmp_qloop_21,tmp_qloop_21)),_mm256_set_pd(tmp_qloop_22,tmp_qloop_22,tmp_qloop_22,tmp_qloop_22))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_40,_mm256_set_pd(tmp_qloop_25,tmp_qloop_25,tmp_qloop_25,tmp_qloop_25)),_mm256_set_pd(tmp_qloop_32,tmp_qloop_32,tmp_qloop_32,tmp_qloop_32))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_39,_mm256_set_pd(tmp_qloop_28,tmp_qloop_28,tmp_qloop_28,tmp_qloop_28)),_mm256_set_pd(tmp_qloop_29,tmp_qloop_29,tmp_qloop_29,tmp_qloop_29))),_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_set_pd(tmp_qloop_37,tmp_qloop_37,tmp_qloop_37,tmp_qloop_37)));
+                   const __m256d tmp_qloop_43 = _mm256_mul_pd(tmp_qloop_42,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0));
+                   const __m256d tmp_qloop_44 = _mm256_add_pd(_mm256_mul_pd(tmp_qloop_17,_mm256_set_pd(tmp_qloop_38,tmp_qloop_38,tmp_qloop_38,tmp_qloop_38)),_mm256_mul_pd(tmp_qloop_13,tmp_qloop_43));
+                   const __m256d tmp_qloop_46 = _mm256_add_pd(_mm256_mul_pd(tmp_qloop_17,_mm256_set_pd(tmp_qloop_45,tmp_qloop_45,tmp_qloop_45,tmp_qloop_45)),_mm256_mul_pd(tmp_qloop_11,tmp_qloop_43));
+                   const __m256d tmp_qloop_48 = _mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_12,tmp_qloop_42),_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_17,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_set_pd(tmp_qloop_37,tmp_qloop_37,tmp_qloop_37,tmp_qloop_37)),_mm256_set_pd(tmp_qloop_47,tmp_qloop_47,tmp_qloop_47,tmp_qloop_47)));
+                   const __m256d tmp_qloop_49 = _mm256_add_pd(_mm256_mul_pd(tmp_qloop_17,_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_12,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_set_pd(tmp_qloop_37,tmp_qloop_37,tmp_qloop_37,tmp_qloop_37)),_mm256_set_pd(tmp_qloop_47,tmp_qloop_47,tmp_qloop_47,tmp_qloop_47)),tmp_qloop_42)),_mm256_mul_pd(tmp_qloop_15,tmp_qloop_43));
+                   const __m256d tmp_qloop_50 = _mm256_mul_pd(tmp_qloop_18,_mm256_set_pd(tmp_qloop_36,tmp_qloop_36,tmp_qloop_36,tmp_qloop_36));
+                   const __m256d tmp_qloop_51 = _mm256_mul_pd(tmp_qloop_11,tmp_qloop_46);
+                   const __m256d tmp_qloop_52 = _mm256_mul_pd(tmp_qloop_13,tmp_qloop_44);
+                   const __m256d tmp_qloop_53 = _mm256_add_pd(_mm256_mul_pd(tmp_qloop_17,_mm256_add_pd(_mm256_mul_pd(tmp_qloop_13,_mm256_set_pd(tmp_qloop_38,tmp_qloop_38,tmp_qloop_38,tmp_qloop_38)),tmp_qloop_42)),_mm256_mul_pd(tmp_qloop_16,tmp_qloop_43));
+                   const __m256d tmp_qloop_54 = _mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_12,tmp_qloop_48),tmp_qloop_50),_mm256_set_pd(1.0,1.0,1.0,1.0));
+                   const __m256d tmp_qloop_55 = _mm256_add_pd(_mm256_mul_pd(tmp_qloop_17,_mm256_add_pd(_mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(tmp_qloop_45,tmp_qloop_45,tmp_qloop_45,tmp_qloop_45)),tmp_qloop_42)),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_14,tmp_qloop_42),_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)));
+                   const __m256d tmp_qloop_56 = _mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(k_dof_1,_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q])),tmp_qloop_5)),_mm256_mul_pd(k_dof_2,_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q])),tmp_qloop_7))),_mm256_mul_pd(k_dof_3,_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q])),tmp_qloop_9))),_mm256_mul_pd(k_dof_9,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(4.0,4.0,4.0,4.0),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q])),_mm256_mul_pd(tmp_qloop_10,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(-4.0,-4.0,-4.0,-4.0))))),_mm256_mul_pd(k_dof_8,_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(4.0,4.0,4.0,4.0),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q])),_mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_3,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_6,_mm256_set_pd(-4.0,-4.0,-4.0,-4.0))))),_mm256_mul_pd(k_dof_7,_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(4.0,4.0,4.0,4.0),_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q])),_mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_3,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_8,_mm256_set_pd(-4.0,-4.0,-4.0,-4.0))))),_mm256_mul_pd(k_dof_0,_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-3.0,-3.0,-3.0,-3.0),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q])),_mm256_mul_pd(_mm256_set_pd(-3.0,-3.0,-3.0,-3.0),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q]))),_mm256_mul_pd(_mm256_set_pd(-3.0,-3.0,-3.0,-3.0),_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q]))),_mm256_set_pd(1.0,1.0,1.0,1.0)),tmp_qloop_10),tmp_qloop_3),tmp_qloop_5),tmp_qloop_7),tmp_qloop_9))),_mm256_mul_pd(k_dof_4,tmp_qloop_3)),_mm256_mul_pd(k_dof_5,tmp_qloop_2)),_mm256_mul_pd(k_dof_6,tmp_qloop_1)),_mm256_set_pd(_data_q_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q])),_mm256_castsi256_pd(_mm256_and_si256(_mm256_set1_epi64x(0x7fffffffffffffff), _mm256_castpd_si256(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_51,tmp_qloop_53),tmp_qloop_54),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_52,tmp_qloop_54),tmp_qloop_55)),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_49,tmp_qloop_50),tmp_qloop_51),tmp_qloop_52),_mm256_set_pd(1.0,1.0,1.0,1.0))),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_18,tmp_qloop_49),tmp_qloop_53),tmp_qloop_55),_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_set_pd(tmp_qloop_36,tmp_qloop_36,tmp_qloop_36,tmp_qloop_36))),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_11,tmp_qloop_12),tmp_qloop_13),tmp_qloop_18),tmp_qloop_44),tmp_qloop_46),tmp_qloop_48),_mm256_set_pd(-2.0,-2.0,-2.0,-2.0)),_mm256_set_pd(tmp_qloop_36,tmp_qloop_36,tmp_qloop_36,tmp_qloop_36)))))));
+                   const __m256d tmp_qloop_57 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 14],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 14],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 14],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 14]));
+                   const __m256d q_tmp_0_0 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q]));
+                   const __m256d q_tmp_0_1 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 1],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 1],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 1],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 1]));
+                   const __m256d q_tmp_0_2 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 2],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 2],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 2],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 2]));
+                   const __m256d q_tmp_0_3 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 3],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 3],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 3],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 3]));
+                   const __m256d q_tmp_0_4 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 4],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 4],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 4],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 4]));
+                   const __m256d q_tmp_0_5 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 5],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 5],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 5],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 5]));
+                   const __m256d q_tmp_0_6 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 6],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 6],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 6],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 6]));
+                   const __m256d q_tmp_0_7 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 7],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 7],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 7],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 7]));
+                   const __m256d q_tmp_0_8 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 8],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 8],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 8],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 8]));
+                   const __m256d q_tmp_0_9 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 9],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 9],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 9],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 9]));
+                   const __m256d q_tmp_1_0 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 10],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 10],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 10],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 10]));
+                   const __m256d q_tmp_1_1 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 11],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 11],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 11],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 11]));
+                   const __m256d q_tmp_1_2 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 12],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 12],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 12],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 12]));
+                   const __m256d q_tmp_1_3 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 13],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 13],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 13],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 13]));
+                   const __m256d q_tmp_1_4 = tmp_qloop_57;
+                   const __m256d q_tmp_1_5 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 15],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 15],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 15],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 15]));
+                   const __m256d q_tmp_1_6 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 16],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 16],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 16],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 16]));
+                   const __m256d q_tmp_1_7 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 17],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 17],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 17],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 17]));
+                   const __m256d q_tmp_1_8 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 18],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 18],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 18],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 18]));
+                   const __m256d q_tmp_1_9 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 19],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 19],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 19],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 19]));
+                   const __m256d q_tmp_2_0 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 20],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 20],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 20],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 20]));
+                   const __m256d q_tmp_2_1 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 21],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 21],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 21],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 21]));
+                   const __m256d q_tmp_2_2 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 22],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 22],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 22],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 22]));
+                   const __m256d q_tmp_2_3 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 23],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 23],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 23],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 23]));
+                   const __m256d q_tmp_2_4 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 24],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 24],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 24],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 24]));
+                   const __m256d q_tmp_2_5 = tmp_qloop_57;
+                   const __m256d q_tmp_2_6 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 25],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 25],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 25],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 25]));
+                   const __m256d q_tmp_2_7 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 26],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 26],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 26],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 26]));
+                   const __m256d q_tmp_2_8 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 27],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 27],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 27],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 27]));
+                   const __m256d q_tmp_2_9 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 28],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 28],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 28],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 28]));
+                   const __m256d q_tmp_3_0 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 29],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 29],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 29],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 29]));
+                   const __m256d q_tmp_3_1 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 30],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 30],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 30],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 30]));
+                   const __m256d q_tmp_3_2 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 31],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 31],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 31],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 31]));
+                   const __m256d q_tmp_3_3 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 32],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 32],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 32],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 32]));
+                   const __m256d q_tmp_3_4 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 33],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 33],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 33],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 33]));
+                   const __m256d q_tmp_3_5 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 34],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 34],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 34],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 34]));
+                   const __m256d q_tmp_3_6 = tmp_qloop_57;
+                   const __m256d q_tmp_3_7 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 35],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 35],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 35],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 35]));
+                   const __m256d q_tmp_3_8 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 36],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 36],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 36],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 36]));
+                   const __m256d q_tmp_3_9 = _mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 37],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 37],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 37],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 37]));
+                   q_acc_0_0 = _mm256_add_pd(q_acc_0_0,q_tmp_0_0);
+                   q_acc_0_1 = _mm256_add_pd(q_acc_0_1,q_tmp_0_1);
+                   q_acc_0_2 = _mm256_add_pd(q_acc_0_2,q_tmp_0_2);
+                   q_acc_0_3 = _mm256_add_pd(q_acc_0_3,q_tmp_0_3);
+                   q_acc_0_4 = _mm256_add_pd(q_acc_0_4,q_tmp_0_4);
+                   q_acc_0_5 = _mm256_add_pd(q_acc_0_5,q_tmp_0_5);
+                   q_acc_0_6 = _mm256_add_pd(q_acc_0_6,q_tmp_0_6);
+                   q_acc_0_7 = _mm256_add_pd(q_acc_0_7,q_tmp_0_7);
+                   q_acc_0_8 = _mm256_add_pd(q_acc_0_8,q_tmp_0_8);
+                   q_acc_0_9 = _mm256_add_pd(q_acc_0_9,q_tmp_0_9);
+                   q_acc_1_0 = _mm256_add_pd(q_acc_1_0,q_tmp_1_0);
+                   q_acc_1_1 = _mm256_add_pd(q_acc_1_1,q_tmp_1_1);
+                   q_acc_1_2 = _mm256_add_pd(q_acc_1_2,q_tmp_1_2);
+                   q_acc_1_3 = _mm256_add_pd(q_acc_1_3,q_tmp_1_3);
+                   q_acc_1_4 = _mm256_add_pd(q_acc_1_4,q_tmp_1_4);
+                   q_acc_1_5 = _mm256_add_pd(q_acc_1_5,q_tmp_1_5);
+                   q_acc_1_6 = _mm256_add_pd(q_acc_1_6,q_tmp_1_6);
+                   q_acc_1_7 = _mm256_add_pd(q_acc_1_7,q_tmp_1_7);
+                   q_acc_1_8 = _mm256_add_pd(q_acc_1_8,q_tmp_1_8);
+                   q_acc_1_9 = _mm256_add_pd(q_acc_1_9,q_tmp_1_9);
+                   q_acc_2_0 = _mm256_add_pd(q_acc_2_0,q_tmp_2_0);
+                   q_acc_2_1 = _mm256_add_pd(q_acc_2_1,q_tmp_2_1);
+                   q_acc_2_2 = _mm256_add_pd(q_acc_2_2,q_tmp_2_2);
+                   q_acc_2_3 = _mm256_add_pd(q_acc_2_3,q_tmp_2_3);
+                   q_acc_2_4 = _mm256_add_pd(q_acc_2_4,q_tmp_2_4);
+                   q_acc_2_5 = _mm256_add_pd(q_acc_2_5,q_tmp_2_5);
+                   q_acc_2_6 = _mm256_add_pd(q_acc_2_6,q_tmp_2_6);
+                   q_acc_2_7 = _mm256_add_pd(q_acc_2_7,q_tmp_2_7);
+                   q_acc_2_8 = _mm256_add_pd(q_acc_2_8,q_tmp_2_8);
+                   q_acc_2_9 = _mm256_add_pd(q_acc_2_9,q_tmp_2_9);
+                   q_acc_3_0 = _mm256_add_pd(q_acc_3_0,q_tmp_3_0);
+                   q_acc_3_1 = _mm256_add_pd(q_acc_3_1,q_tmp_3_1);
+                   q_acc_3_2 = _mm256_add_pd(q_acc_3_2,q_tmp_3_2);
+                   q_acc_3_3 = _mm256_add_pd(q_acc_3_3,q_tmp_3_3);
+                   q_acc_3_4 = _mm256_add_pd(q_acc_3_4,q_tmp_3_4);
+                   q_acc_3_5 = _mm256_add_pd(q_acc_3_5,q_tmp_3_5);
+                   q_acc_3_6 = _mm256_add_pd(q_acc_3_6,q_tmp_3_6);
+                   q_acc_3_7 = _mm256_add_pd(q_acc_3_7,q_tmp_3_7);
+                   q_acc_3_8 = _mm256_add_pd(q_acc_3_8,q_tmp_3_8);
+                   q_acc_3_9 = _mm256_add_pd(q_acc_3_9,q_tmp_3_9);
+                }
+                const __m256d elMatVec_0 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(q_acc_0_0,src_dof_0),_mm256_mul_pd(q_acc_0_1,src_dof_1)),_mm256_mul_pd(q_acc_0_2,src_dof_2)),_mm256_mul_pd(q_acc_0_3,src_dof_3)),_mm256_mul_pd(q_acc_0_4,src_dof_4)),_mm256_mul_pd(q_acc_0_5,src_dof_5)),_mm256_mul_pd(q_acc_0_6,src_dof_6)),_mm256_mul_pd(q_acc_0_7,src_dof_7)),_mm256_mul_pd(q_acc_0_8,src_dof_8)),_mm256_mul_pd(q_acc_0_9,src_dof_9));
+                const __m256d elMatVec_1 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(q_acc_1_0,src_dof_0),_mm256_mul_pd(q_acc_1_1,src_dof_1)),_mm256_mul_pd(q_acc_1_2,src_dof_2)),_mm256_mul_pd(q_acc_1_3,src_dof_3)),_mm256_mul_pd(q_acc_1_4,src_dof_4)),_mm256_mul_pd(q_acc_1_5,src_dof_5)),_mm256_mul_pd(q_acc_1_6,src_dof_6)),_mm256_mul_pd(q_acc_1_7,src_dof_7)),_mm256_mul_pd(q_acc_1_8,src_dof_8)),_mm256_mul_pd(q_acc_1_9,src_dof_9));
+                const __m256d elMatVec_2 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(q_acc_2_0,src_dof_0),_mm256_mul_pd(q_acc_2_1,src_dof_1)),_mm256_mul_pd(q_acc_2_2,src_dof_2)),_mm256_mul_pd(q_acc_2_3,src_dof_3)),_mm256_mul_pd(q_acc_2_4,src_dof_4)),_mm256_mul_pd(q_acc_2_5,src_dof_5)),_mm256_mul_pd(q_acc_2_6,src_dof_6)),_mm256_mul_pd(q_acc_2_7,src_dof_7)),_mm256_mul_pd(q_acc_2_8,src_dof_8)),_mm256_mul_pd(q_acc_2_9,src_dof_9));
+                const __m256d elMatVec_3 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(q_acc_3_0,src_dof_0),_mm256_mul_pd(q_acc_3_1,src_dof_1)),_mm256_mul_pd(q_acc_3_2,src_dof_2)),_mm256_mul_pd(q_acc_3_3,src_dof_3)),_mm256_mul_pd(q_acc_3_4,src_dof_4)),_mm256_mul_pd(q_acc_3_5,src_dof_5)),_mm256_mul_pd(q_acc_3_6,src_dof_6)),_mm256_mul_pd(q_acc_3_7,src_dof_7)),_mm256_mul_pd(q_acc_3_8,src_dof_8)),_mm256_mul_pd(q_acc_3_9,src_dof_9));
+                _mm256_storeu_pd(&_data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))],_mm256_add_pd(elMatVec_0,_mm256_loadu_pd(& _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))])));
+                _mm256_storeu_pd(&_data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1],_mm256_add_pd(elMatVec_1,_mm256_loadu_pd(& _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1])));
+                _mm256_storeu_pd(&_data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1],_mm256_add_pd(elMatVec_2,_mm256_loadu_pd(& _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1])));
+                _mm256_storeu_pd(&_data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))],_mm256_add_pd(elMatVec_3,_mm256_loadu_pd(& _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))])));
+             }
+             for (int64_t ctr_0 = (int64_t)((-ctr_1 - ctr_2 + micro_edges_per_macro_edge - 1) / (4)) * (4); ctr_0 < -ctr_1 - ctr_2 + micro_edges_per_macro_edge - 1; ctr_0 += 1)
+             {
+            
+                const int64_t phantom_ctr_0 = ctr_0;
+                real_t _data_float_loop_ctr_array_dim_0[4];
+                _data_float_loop_ctr_array_dim_0[0] = (real_t) ctr_0+ 0;
+                _data_float_loop_ctr_array_dim_0[1] = (real_t) ctr_0+ 1;
+                _data_float_loop_ctr_array_dim_0[2] = (real_t) ctr_0+ 2;
+                _data_float_loop_ctr_array_dim_0[3] = (real_t) ctr_0+ 3;
+                real_t _data_float_loop_ctr_array_dim_1[4];
+                _data_float_loop_ctr_array_dim_1[0] = (real_t) ctr_1;
+                _data_float_loop_ctr_array_dim_1[1] = (real_t) ctr_1;
+                _data_float_loop_ctr_array_dim_1[2] = (real_t) ctr_1;
+                _data_float_loop_ctr_array_dim_1[3] = (real_t) ctr_1;
+                real_t _data_float_loop_ctr_array_dim_2[4];
+                _data_float_loop_ctr_array_dim_2[0] = (real_t) ctr_2;
+                _data_float_loop_ctr_array_dim_2[1] = (real_t) ctr_2;
+                _data_float_loop_ctr_array_dim_2[2] = (real_t) ctr_2;
+                _data_float_loop_ctr_array_dim_2[3] = (real_t) ctr_2;
+            
+                const real_t p_affine_0_0 = macro_vertex_coord_id_0comp0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0)*1.0*_data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0)*(1.0 + _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0)*1.0*_data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0];
+                const real_t p_affine_0_1 = macro_vertex_coord_id_0comp1 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1)*1.0*_data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1)*(1.0 + _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1)*1.0*_data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0];
+                const real_t p_affine_0_2 = macro_vertex_coord_id_0comp2 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2)*1.0*_data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2)*(1.0 + _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2)*1.0*_data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0];
+                const real_t p_affine_1_0 = macro_vertex_coord_id_0comp0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0)*(1.0 + _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0)*(1.0 + _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0)*1.0*_data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0];
+                const real_t p_affine_1_1 = macro_vertex_coord_id_0comp1 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1)*(1.0 + _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1)*(1.0 + _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1)*1.0*_data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0];
+                const real_t p_affine_1_2 = macro_vertex_coord_id_0comp2 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2)*(1.0 + _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2)*(1.0 + _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2)*1.0*_data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0];
+                const real_t p_affine_2_0 = macro_vertex_coord_id_0comp0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0)*(1.0 + _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0)*1.0*_data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0)*(1.0 + _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0])*1.0;
+                const real_t p_affine_2_1 = macro_vertex_coord_id_0comp1 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1)*(1.0 + _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1)*1.0*_data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1)*(1.0 + _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0])*1.0;
+                const real_t p_affine_2_2 = macro_vertex_coord_id_0comp2 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2)*(1.0 + _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2)*1.0*_data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2)*(1.0 + _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0])*1.0;
+                const real_t p_affine_3_0 = macro_vertex_coord_id_0comp0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0)*1.0*_data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0)*(1.0 + _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0)*(1.0 + _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0])*1.0;
+                const real_t p_affine_3_1 = macro_vertex_coord_id_0comp1 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1)*1.0*_data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1)*(1.0 + _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1)*(1.0 + _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0])*1.0;
+                const real_t p_affine_3_2 = macro_vertex_coord_id_0comp2 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2)*1.0*_data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2)*(1.0 + _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2)*(1.0 + _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0])*1.0;
+                const real_t src_dof_0 = _data_srcVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))];
+                const real_t src_dof_1 = _data_srcVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1];
+                const real_t src_dof_2 = _data_srcVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1];
+                const real_t src_dof_3 = _data_srcVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))];
+                const real_t src_dof_4 = _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))];
+                const real_t src_dof_5 = _data_srcEdge[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 5*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))];
+                const real_t src_dof_6 = _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1];
+                const real_t src_dof_7 = _data_srcEdge[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))];
+                const real_t src_dof_8 = _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge - 1)*(micro_edges_per_macro_edge + 1)) / (6)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))];
+                const real_t src_dof_9 = _data_srcEdge[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))];
+                const real_t k_dof_0 = _data_kVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))];
+                const real_t k_dof_1 = _data_kVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1];
+                const real_t k_dof_2 = _data_kVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1];
+                const real_t k_dof_3 = _data_kVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))];
+                const real_t k_dof_4 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))];
+                const real_t k_dof_5 = _data_kEdge[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 5*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))];
+                const real_t k_dof_6 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1];
+                const real_t k_dof_7 = _data_kEdge[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))];
+                const real_t k_dof_8 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge - 1)*(micro_edges_per_macro_edge + 1)) / (6)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))];
+                const real_t k_dof_9 = _data_kEdge[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))];
+                real_t q_acc_0_0 = 0.0;
+                real_t q_acc_0_1 = 0.0;
+                real_t q_acc_0_2 = 0.0;
+                real_t q_acc_0_3 = 0.0;
+                real_t q_acc_0_4 = 0.0;
+                real_t q_acc_0_5 = 0.0;
+                real_t q_acc_0_6 = 0.0;
+                real_t q_acc_0_7 = 0.0;
+                real_t q_acc_0_8 = 0.0;
+                real_t q_acc_0_9 = 0.0;
+                real_t q_acc_1_0 = 0.0;
+                real_t q_acc_1_1 = 0.0;
+                real_t q_acc_1_2 = 0.0;
+                real_t q_acc_1_3 = 0.0;
+                real_t q_acc_1_4 = 0.0;
+                real_t q_acc_1_5 = 0.0;
+                real_t q_acc_1_6 = 0.0;
+                real_t q_acc_1_7 = 0.0;
+                real_t q_acc_1_8 = 0.0;
+                real_t q_acc_1_9 = 0.0;
+                real_t q_acc_2_0 = 0.0;
+                real_t q_acc_2_1 = 0.0;
+                real_t q_acc_2_2 = 0.0;
+                real_t q_acc_2_3 = 0.0;
+                real_t q_acc_2_4 = 0.0;
+                real_t q_acc_2_5 = 0.0;
+                real_t q_acc_2_6 = 0.0;
+                real_t q_acc_2_7 = 0.0;
+                real_t q_acc_2_8 = 0.0;
+                real_t q_acc_2_9 = 0.0;
+                real_t q_acc_3_0 = 0.0;
+                real_t q_acc_3_1 = 0.0;
+                real_t q_acc_3_2 = 0.0;
+                real_t q_acc_3_3 = 0.0;
+                real_t q_acc_3_4 = 0.0;
+                real_t q_acc_3_5 = 0.0;
+                real_t q_acc_3_6 = 0.0;
+                real_t q_acc_3_7 = 0.0;
+                real_t q_acc_3_8 = 0.0;
+                real_t q_acc_3_9 = 0.0;
+                for (int64_t q = 0; q < 11; q += 1)
+                {
+                   const real_t tmp_qloop_0 = 4.0*_data_q_p_0[q];
+                   const real_t tmp_qloop_1 = tmp_qloop_0*_data_q_p_1[q];
+                   const real_t tmp_qloop_2 = tmp_qloop_0*_data_q_p_2[q];
+                   const real_t tmp_qloop_3 = 4.0*_data_q_p_1[q]*_data_q_p_2[q];
+                   const real_t tmp_qloop_4 = (_data_q_p_0[q]*_data_q_p_0[q]);
+                   const real_t tmp_qloop_5 = tmp_qloop_4*2.0;
+                   const real_t tmp_qloop_6 = (_data_q_p_1[q]*_data_q_p_1[q]);
+                   const real_t tmp_qloop_7 = tmp_qloop_6*2.0;
+                   const real_t tmp_qloop_8 = (_data_q_p_2[q]*_data_q_p_2[q]);
+                   const real_t tmp_qloop_9 = tmp_qloop_8*2.0;
+                   const real_t tmp_qloop_10 = tmp_qloop_1 + tmp_qloop_2;
+                   const real_t tmp_qloop_11 = p_affine_0_0 + (-p_affine_0_0 + p_affine_1_0)*_data_q_p_0[q] + (-p_affine_0_0 + p_affine_2_0)*_data_q_p_1[q] + (-p_affine_0_0 + p_affine_3_0)*_data_q_p_2[q];
+                   const real_t tmp_qloop_12 = p_affine_0_1 + (-p_affine_0_1 + p_affine_1_1)*_data_q_p_0[q] + (-p_affine_0_1 + p_affine_2_1)*_data_q_p_1[q] + (-p_affine_0_1 + p_affine_3_1)*_data_q_p_2[q];
+                   const real_t tmp_qloop_13 = p_affine_0_2 + (-p_affine_0_2 + p_affine_1_2)*_data_q_p_0[q] + (-p_affine_0_2 + p_affine_2_2)*_data_q_p_1[q] + (-p_affine_0_2 + p_affine_3_2)*_data_q_p_2[q];
+                   const real_t tmp_qloop_14 = (tmp_qloop_11*tmp_qloop_11);
+                   const real_t tmp_qloop_15 = (tmp_qloop_12*tmp_qloop_12);
+                   const real_t tmp_qloop_16 = (tmp_qloop_13*tmp_qloop_13);
+                   const real_t tmp_qloop_17 = tmp_qloop_14 + tmp_qloop_15 + tmp_qloop_16;
+                   const real_t tmp_qloop_18 = pow(tmp_qloop_17, -4.5000000000000000);
+                   const real_t tmp_qloop_39 = -tmp_qloop_13 - tmp_qloop_31;
+                   const real_t tmp_qloop_40 = -tmp_qloop_11 - tmp_qloop_20;
+                   const real_t tmp_qloop_41 = -tmp_qloop_12 - tmp_qloop_27;
+                   const real_t tmp_qloop_42 = radRayVertex*tmp_qloop_35 - tmp_qloop_37*(tmp_qloop_21*tmp_qloop_22*tmp_qloop_41 + tmp_qloop_25*tmp_qloop_32*tmp_qloop_40 - tmp_qloop_26*tmp_qloop_39 + tmp_qloop_28*tmp_qloop_29*tmp_qloop_39 - tmp_qloop_33*tmp_qloop_40 - tmp_qloop_34*tmp_qloop_41);
+                   const real_t tmp_qloop_43 = -tmp_qloop_42;
+                   const real_t tmp_qloop_44 = tmp_qloop_13*tmp_qloop_43 + tmp_qloop_17*tmp_qloop_38;
+                   const real_t tmp_qloop_46 = tmp_qloop_11*tmp_qloop_43 + tmp_qloop_17*tmp_qloop_45;
+                   const real_t tmp_qloop_48 = -tmp_qloop_12*tmp_qloop_42 - tmp_qloop_17*tmp_qloop_37*tmp_qloop_47;
+                   const real_t tmp_qloop_49 = tmp_qloop_15*tmp_qloop_43 + tmp_qloop_17*(-tmp_qloop_12*tmp_qloop_37*tmp_qloop_47 + tmp_qloop_42);
+                   const real_t tmp_qloop_50 = tmp_qloop_18*tmp_qloop_36;
+                   const real_t tmp_qloop_51 = tmp_qloop_11*tmp_qloop_46;
+                   const real_t tmp_qloop_52 = tmp_qloop_13*tmp_qloop_44;
+                   const real_t tmp_qloop_53 = tmp_qloop_16*tmp_qloop_43 + tmp_qloop_17*(tmp_qloop_13*tmp_qloop_38 + tmp_qloop_42);
+                   const real_t tmp_qloop_54 = tmp_qloop_12*tmp_qloop_48*tmp_qloop_50*1.0;
+                   const real_t tmp_qloop_55 = -tmp_qloop_14*tmp_qloop_42 + tmp_qloop_17*(tmp_qloop_11*tmp_qloop_45 + tmp_qloop_42);
+                   const real_t tmp_qloop_56 = (k_dof_0*(tmp_qloop_10 + tmp_qloop_3 + tmp_qloop_5 + tmp_qloop_7 + tmp_qloop_9 - 3.0*_data_q_p_0[q] - 3.0*_data_q_p_1[q] - 3.0*_data_q_p_2[q] + 1.0) + k_dof_1*(tmp_qloop_5 - _data_q_p_0[q]) + k_dof_2*(tmp_qloop_7 - _data_q_p_1[q]) + k_dof_3*(tmp_qloop_9 - _data_q_p_2[q]) + k_dof_4*tmp_qloop_3 + k_dof_5*tmp_qloop_2 + k_dof_6*tmp_qloop_1 + k_dof_7*(-tmp_qloop_2 - tmp_qloop_3 + tmp_qloop_8*-4.0 + 4.0*_data_q_p_2[q]) + k_dof_8*(-tmp_qloop_1 - tmp_qloop_3 + tmp_qloop_6*-4.0 + 4.0*_data_q_p_1[q]) + k_dof_9*(-tmp_qloop_10 + tmp_qloop_4*-4.0 + 4.0*_data_q_p_0[q]))*abs(tmp_qloop_11*tmp_qloop_12*tmp_qloop_13*tmp_qloop_18*tmp_qloop_36*tmp_qloop_44*tmp_qloop_46*tmp_qloop_48*-2.0 - tmp_qloop_18*tmp_qloop_36*tmp_qloop_49*tmp_qloop_53*tmp_qloop_55 + tmp_qloop_49*tmp_qloop_50*tmp_qloop_51*tmp_qloop_52*1.0 + tmp_qloop_51*tmp_qloop_53*tmp_qloop_54 + tmp_qloop_52*tmp_qloop_54*tmp_qloop_55)*_data_q_w[q];
+                   const real_t tmp_qloop_57 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 14];
+                   const real_t q_tmp_0_0 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q];
+                   const real_t q_tmp_0_1 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 1];
+                   const real_t q_tmp_0_2 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 2];
+                   const real_t q_tmp_0_3 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 3];
+                   const real_t q_tmp_0_4 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 4];
+                   const real_t q_tmp_0_5 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 5];
+                   const real_t q_tmp_0_6 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 6];
+                   const real_t q_tmp_0_7 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 7];
+                   const real_t q_tmp_0_8 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 8];
+                   const real_t q_tmp_0_9 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 9];
+                   const real_t q_tmp_1_0 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 10];
+                   const real_t q_tmp_1_1 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 11];
+                   const real_t q_tmp_1_2 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 12];
+                   const real_t q_tmp_1_3 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 13];
+                   const real_t q_tmp_1_4 = tmp_qloop_57;
+                   const real_t q_tmp_1_5 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 15];
+                   const real_t q_tmp_1_6 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 16];
+                   const real_t q_tmp_1_7 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 17];
+                   const real_t q_tmp_1_8 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 18];
+                   const real_t q_tmp_1_9 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 19];
+                   const real_t q_tmp_2_0 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 20];
+                   const real_t q_tmp_2_1 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 21];
+                   const real_t q_tmp_2_2 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 22];
+                   const real_t q_tmp_2_3 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 23];
+                   const real_t q_tmp_2_4 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 24];
+                   const real_t q_tmp_2_5 = tmp_qloop_57;
+                   const real_t q_tmp_2_6 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 25];
+                   const real_t q_tmp_2_7 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 26];
+                   const real_t q_tmp_2_8 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 27];
+                   const real_t q_tmp_2_9 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 28];
+                   const real_t q_tmp_3_0 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 29];
+                   const real_t q_tmp_3_1 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 30];
+                   const real_t q_tmp_3_2 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 31];
+                   const real_t q_tmp_3_3 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 32];
+                   const real_t q_tmp_3_4 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 33];
+                   const real_t q_tmp_3_5 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 34];
+                   const real_t q_tmp_3_6 = tmp_qloop_57;
+                   const real_t q_tmp_3_7 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 35];
+                   const real_t q_tmp_3_8 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 36];
+                   const real_t q_tmp_3_9 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 37];
+                   q_acc_0_0 = q_acc_0_0 + q_tmp_0_0;
+                   q_acc_0_1 = q_acc_0_1 + q_tmp_0_1;
+                   q_acc_0_2 = q_acc_0_2 + q_tmp_0_2;
+                   q_acc_0_3 = q_acc_0_3 + q_tmp_0_3;
+                   q_acc_0_4 = q_acc_0_4 + q_tmp_0_4;
+                   q_acc_0_5 = q_acc_0_5 + q_tmp_0_5;
+                   q_acc_0_6 = q_acc_0_6 + q_tmp_0_6;
+                   q_acc_0_7 = q_acc_0_7 + q_tmp_0_7;
+                   q_acc_0_8 = q_acc_0_8 + q_tmp_0_8;
+                   q_acc_0_9 = q_acc_0_9 + q_tmp_0_9;
+                   q_acc_1_0 = q_acc_1_0 + q_tmp_1_0;
+                   q_acc_1_1 = q_acc_1_1 + q_tmp_1_1;
+                   q_acc_1_2 = q_acc_1_2 + q_tmp_1_2;
+                   q_acc_1_3 = q_acc_1_3 + q_tmp_1_3;
+                   q_acc_1_4 = q_acc_1_4 + q_tmp_1_4;
+                   q_acc_1_5 = q_acc_1_5 + q_tmp_1_5;
+                   q_acc_1_6 = q_acc_1_6 + q_tmp_1_6;
+                   q_acc_1_7 = q_acc_1_7 + q_tmp_1_7;
+                   q_acc_1_8 = q_acc_1_8 + q_tmp_1_8;
+                   q_acc_1_9 = q_acc_1_9 + q_tmp_1_9;
+                   q_acc_2_0 = q_acc_2_0 + q_tmp_2_0;
+                   q_acc_2_1 = q_acc_2_1 + q_tmp_2_1;
+                   q_acc_2_2 = q_acc_2_2 + q_tmp_2_2;
+                   q_acc_2_3 = q_acc_2_3 + q_tmp_2_3;
+                   q_acc_2_4 = q_acc_2_4 + q_tmp_2_4;
+                   q_acc_2_5 = q_acc_2_5 + q_tmp_2_5;
+                   q_acc_2_6 = q_acc_2_6 + q_tmp_2_6;
+                   q_acc_2_7 = q_acc_2_7 + q_tmp_2_7;
+                   q_acc_2_8 = q_acc_2_8 + q_tmp_2_8;
+                   q_acc_2_9 = q_acc_2_9 + q_tmp_2_9;
+                   q_acc_3_0 = q_acc_3_0 + q_tmp_3_0;
+                   q_acc_3_1 = q_acc_3_1 + q_tmp_3_1;
+                   q_acc_3_2 = q_acc_3_2 + q_tmp_3_2;
+                   q_acc_3_3 = q_acc_3_3 + q_tmp_3_3;
+                   q_acc_3_4 = q_acc_3_4 + q_tmp_3_4;
+                   q_acc_3_5 = q_acc_3_5 + q_tmp_3_5;
+                   q_acc_3_6 = q_acc_3_6 + q_tmp_3_6;
+                   q_acc_3_7 = q_acc_3_7 + q_tmp_3_7;
+                   q_acc_3_8 = q_acc_3_8 + q_tmp_3_8;
+                   q_acc_3_9 = q_acc_3_9 + q_tmp_3_9;
+                }
+                const real_t elMatVec_0 = q_acc_0_0*src_dof_0 + q_acc_0_1*src_dof_1 + q_acc_0_2*src_dof_2 + q_acc_0_3*src_dof_3 + q_acc_0_4*src_dof_4 + q_acc_0_5*src_dof_5 + q_acc_0_6*src_dof_6 + q_acc_0_7*src_dof_7 + q_acc_0_8*src_dof_8 + q_acc_0_9*src_dof_9;
+                const real_t elMatVec_1 = q_acc_1_0*src_dof_0 + q_acc_1_1*src_dof_1 + q_acc_1_2*src_dof_2 + q_acc_1_3*src_dof_3 + q_acc_1_4*src_dof_4 + q_acc_1_5*src_dof_5 + q_acc_1_6*src_dof_6 + q_acc_1_7*src_dof_7 + q_acc_1_8*src_dof_8 + q_acc_1_9*src_dof_9;
+                const real_t elMatVec_2 = q_acc_2_0*src_dof_0 + q_acc_2_1*src_dof_1 + q_acc_2_2*src_dof_2 + q_acc_2_3*src_dof_3 + q_acc_2_4*src_dof_4 + q_acc_2_5*src_dof_5 + q_acc_2_6*src_dof_6 + q_acc_2_7*src_dof_7 + q_acc_2_8*src_dof_8 + q_acc_2_9*src_dof_9;
+                const real_t elMatVec_3 = q_acc_3_0*src_dof_0 + q_acc_3_1*src_dof_1 + q_acc_3_2*src_dof_2 + q_acc_3_3*src_dof_3 + q_acc_3_4*src_dof_4 + q_acc_3_5*src_dof_5 + q_acc_3_6*src_dof_6 + q_acc_3_7*src_dof_7 + q_acc_3_8*src_dof_8 + q_acc_3_9*src_dof_9;
+                _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))] = elMatVec_0 + _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))];
+                _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1] = elMatVec_1 + _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1];
+                _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1] = elMatVec_2 + _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1];
+                _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))] = elMatVec_3 + _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))];
+             }
+          }
+       }
+    }
+}
+} // namespace operatorgeneration
+
+} // namespace hyteg
diff --git a/operators/k_mass/avx/P2ToP1ElementwiseKMass_apply_macro_2D.cpp b/operators/k_mass/avx/P2ToP1ElementwiseKMass_apply_macro_2D.cpp
new file mode 100644
index 0000000000000000000000000000000000000000..5d047aca0ffb5971d77a7cef3326ae26822fb089
--- /dev/null
+++ b/operators/k_mass/avx/P2ToP1ElementwiseKMass_apply_macro_2D.cpp
@@ -0,0 +1,452 @@
+/*
+* Copyright (c) 2017-2024 Nils Kohl, Daniel Bauer, Fabian Böhm.
+*
+* This file is part of HyTeG
+* (see https://i10git.cs.fau.de/hyteg/hyteg).
+*
+* This program is free software: you can redistribute it and/or modify
+* it under the terms of the GNU General Public License as published by
+* the Free Software Foundation, either version 3 of the License, or
+* (at your option) any later version.
+*
+* This program is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+* GNU General Public License for more details.
+*
+* You should have received a copy of the GNU General Public License
+* along with this program. If not, see <http://www.gnu.org/licenses/>.
+*/
+
+/*
+* The entire file was generated with the HyTeG form generator.
+*
+* Avoid modifying this file. If buggy, consider fixing the generator itself.
+*/
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+#include "../P2ToP1ElementwiseKMass.hpp"
+
+#define FUNC_PREFIX  
+
+namespace hyteg {
+
+namespace operatorgeneration {
+
+void P2ToP1ElementwiseKMass::apply_macro_2D( real_t * RESTRICT  _data_dst, real_t * RESTRICT  _data_kEdge, real_t * RESTRICT  _data_kVertex, real_t * RESTRICT  _data_srcEdge, real_t * RESTRICT  _data_srcVertex, real_t macro_vertex_coord_id_0comp0, real_t macro_vertex_coord_id_0comp1, real_t macro_vertex_coord_id_1comp0, real_t macro_vertex_coord_id_1comp1, real_t macro_vertex_coord_id_2comp0, real_t macro_vertex_coord_id_2comp1, int64_t micro_edges_per_macro_edge, real_t micro_edges_per_macro_edge_float ) const
+{
+    {
+       const real_t _data_q_w [] = {-0.28125, 0.26041666666666669, 0.26041666666666669, 0.26041666666666669};
+   
+       const real_t _data_q_p_0 [] = {0.33333333333333331, 0.20000000000000001, 0.59999999999999998, 0.20000000000000001};
+   
+       const real_t _data_q_p_1 [] = {0.33333333333333331, 0.59999999999999998, 0.20000000000000001, 0.20000000000000001};
+   
+       const real_t tmp_coords_jac_0_GRAY = 1.0 / (micro_edges_per_macro_edge_float)*1.0;
+       const real_t p_affine_const_0_0_GRAY = macro_vertex_coord_id_0comp0;
+       const real_t p_affine_const_0_1_GRAY = macro_vertex_coord_id_0comp1;
+       const real_t p_affine_const_1_0_GRAY = macro_vertex_coord_id_0comp0 + tmp_coords_jac_0_GRAY*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0);
+       const real_t p_affine_const_1_1_GRAY = macro_vertex_coord_id_0comp1 + tmp_coords_jac_0_GRAY*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1);
+       const real_t p_affine_const_2_0_GRAY = macro_vertex_coord_id_0comp0 + tmp_coords_jac_0_GRAY*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0);
+       const real_t p_affine_const_2_1_GRAY = macro_vertex_coord_id_0comp1 + tmp_coords_jac_0_GRAY*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1);
+       const real_t jac_affine_0_0_GRAY = -p_affine_const_0_0_GRAY + p_affine_const_1_0_GRAY;
+       const real_t jac_affine_0_1_GRAY = -p_affine_const_0_0_GRAY + p_affine_const_2_0_GRAY;
+       const real_t jac_affine_1_0_GRAY = -p_affine_const_0_1_GRAY + p_affine_const_1_1_GRAY;
+       const real_t jac_affine_1_1_GRAY = -p_affine_const_0_1_GRAY + p_affine_const_2_1_GRAY;
+       const real_t abs_det_jac_affine_GRAY = abs(jac_affine_0_0_GRAY*jac_affine_1_1_GRAY - jac_affine_0_1_GRAY*jac_affine_1_0_GRAY);
+       {
+          /* FaceType.GRAY */
+          const real_t _data_phi_psi_jac_affine_det_0_0_GRAY [] = {((real_t)(abs_det_jac_affine_GRAY*-0.037037037037037063)), ((real_t)(abs_det_jac_affine_GRAY*-0.037037037037037042)), ((real_t)(abs_det_jac_affine_GRAY*-0.037037037037037042)), ((real_t)(abs_det_jac_affine_GRAY*0.14814814814814817)), ((real_t)(abs_det_jac_affine_GRAY*0.14814814814814817)), ((real_t)(abs_det_jac_affine_GRAY*0.14814814814814817)), ((real_t)(abs_det_jac_affine_GRAY*-0.037037037037037049)), ((real_t)(abs_det_jac_affine_GRAY*-0.037037037037037035)), ((real_t)(abs_det_jac_affine_GRAY*-0.037037037037037035)), ((real_t)(abs_det_jac_affine_GRAY*0.14814814814814814)), ((real_t)(abs_det_jac_affine_GRAY*0.14814814814814814)), ((real_t)(abs_det_jac_affine_GRAY*0.14814814814814814)), ((real_t)(abs_det_jac_affine_GRAY*-0.037037037037037049)), ((real_t)(abs_det_jac_affine_GRAY*-0.037037037037037035)), ((real_t)(abs_det_jac_affine_GRAY*-0.037037037037037035)), ((real_t)(abs_det_jac_affine_GRAY*0.14814814814814814)), ((real_t)(abs_det_jac_affine_GRAY*0.14814814814814814)), ((real_t)(abs_det_jac_affine_GRAY*0.14814814814814814)), ((real_t)(abs_det_jac_affine_GRAY*-0.023999999999999987)), ((real_t)(abs_det_jac_affine_GRAY*-0.024000000000000007)), ((real_t)(abs_det_jac_affine_GRAY*0.024000000000000007)), ((real_t)(abs_det_jac_affine_GRAY*0.09600000000000003)), ((real_t)(abs_det_jac_affine_GRAY*0.09600000000000003)), ((real_t)(abs_det_jac_affine_GRAY*0.032000000000000015)), ((real_t)(abs_det_jac_affine_GRAY*-0.02399999999999998)), ((real_t)(abs_det_jac_affine_GRAY*-0.024)), ((real_t)(abs_det_jac_affine_GRAY*0.024)), ((real_t)(abs_det_jac_affine_GRAY*0.096000000000000016)), ((real_t)(abs_det_jac_affine_GRAY*0.096000000000000002)), ((real_t)(abs_det_jac_affine_GRAY*0.032000000000000008)), ((real_t)(abs_det_jac_affine_GRAY*-0.071999999999999925)), ((real_t)(abs_det_jac_affine_GRAY*-0.071999999999999995)), ((real_t)(abs_det_jac_affine_GRAY*0.071999999999999995)), ((real_t)(abs_det_jac_affine_GRAY*0.28799999999999998)), ((real_t)(abs_det_jac_affine_GRAY*0.28799999999999998)), ((real_t)(abs_det_jac_affine_GRAY*0.096000000000000016)), ((real_t)(abs_det_jac_affine_GRAY*-0.02399999999999998)), ((real_t)(abs_det_jac_affine_GRAY*0.024)), ((real_t)(abs_det_jac_affine_GRAY*-0.024)), ((real_t)(abs_det_jac_affine_GRAY*0.096000000000000002)), ((real_t)(abs_det_jac_affine_GRAY*0.032000000000000008)), ((real_t)(abs_det_jac_affine_GRAY*0.096000000000000002)), ((real_t)(abs_det_jac_affine_GRAY*-0.071999999999999925)), ((real_t)(abs_det_jac_affine_GRAY*0.071999999999999995)), ((real_t)(abs_det_jac_affine_GRAY*-0.071999999999999995)), ((real_t)(abs_det_jac_affine_GRAY*0.28799999999999998)), ((real_t)(abs_det_jac_affine_GRAY*0.096000000000000016)), ((real_t)(abs_det_jac_affine_GRAY*0.28799999999999998)), ((real_t)(abs_det_jac_affine_GRAY*-0.02399999999999998)), ((real_t)(abs_det_jac_affine_GRAY*0.024)), ((real_t)(abs_det_jac_affine_GRAY*-0.024)), ((real_t)(abs_det_jac_affine_GRAY*0.096000000000000016)), ((real_t)(abs_det_jac_affine_GRAY*0.032000000000000008)), ((real_t)(abs_det_jac_affine_GRAY*0.096000000000000002)), ((real_t)(abs_det_jac_affine_GRAY*0.071999999999999939)), ((real_t)(abs_det_jac_affine_GRAY*-0.072000000000000008)), ((real_t)(abs_det_jac_affine_GRAY*-0.072000000000000008)), ((real_t)(abs_det_jac_affine_GRAY*0.09600000000000003)), ((real_t)(abs_det_jac_affine_GRAY*0.28800000000000003)), ((real_t)(abs_det_jac_affine_GRAY*0.28800000000000003)), ((real_t)(abs_det_jac_affine_GRAY*0.02399999999999998)), ((real_t)(abs_det_jac_affine_GRAY*-0.024)), ((real_t)(abs_det_jac_affine_GRAY*-0.024)), ((real_t)(abs_det_jac_affine_GRAY*0.032000000000000008)), ((real_t)(abs_det_jac_affine_GRAY*0.096000000000000002)), ((real_t)(abs_det_jac_affine_GRAY*0.096000000000000002)), ((real_t)(abs_det_jac_affine_GRAY*0.02399999999999998)), ((real_t)(abs_det_jac_affine_GRAY*-0.024)), ((real_t)(abs_det_jac_affine_GRAY*-0.024)), ((real_t)(abs_det_jac_affine_GRAY*0.032000000000000008)), ((real_t)(abs_det_jac_affine_GRAY*0.096000000000000002)), ((real_t)(abs_det_jac_affine_GRAY*0.096000000000000002))};
+      
+          for (int64_t ctr_1 = 0; ctr_1 < micro_edges_per_macro_edge; ctr_1 += 1)
+          {
+             for (int64_t ctr_0 = 0; ctr_0 < (int64_t)((-ctr_1 + micro_edges_per_macro_edge) / (4)) * (4); ctr_0 += 4)
+             {
+                const __m256d src_dof_0 = _mm256_loadu_pd(& _data_srcVertex[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2))]);
+                const __m256d src_dof_1 = _mm256_loadu_pd(& _data_srcVertex[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + 1]);
+                const __m256d src_dof_2 = _mm256_loadu_pd(& _data_srcVertex[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2))]);
+                const __m256d src_dof_3 = _mm256_loadu_pd(& _data_srcEdge[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)) / (2))]);
+                const __m256d src_dof_4 = _mm256_loadu_pd(& _data_srcEdge[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 2*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)) / (2))]);
+                const __m256d src_dof_5 = _mm256_loadu_pd(& _data_srcEdge[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2))]);
+                const __m256d k_dof_0 = _mm256_loadu_pd(& _data_kVertex[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2))]);
+                const __m256d k_dof_1 = _mm256_loadu_pd(& _data_kVertex[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + 1]);
+                const __m256d k_dof_2 = _mm256_loadu_pd(& _data_kVertex[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2))]);
+                const __m256d k_dof_3 = _mm256_loadu_pd(& _data_kEdge[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)) / (2))]);
+                const __m256d k_dof_4 = _mm256_loadu_pd(& _data_kEdge[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 2*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)) / (2))]);
+                const __m256d k_dof_5 = _mm256_loadu_pd(& _data_kEdge[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2))]);
+                __m256d q_acc_0_0 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_0_1 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_0_2 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_0_3 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_0_4 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_0_5 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_1_0 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_1_1 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_1_2 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_1_3 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_1_4 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_1_5 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_2_0 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_2_1 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_2_2 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_2_3 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_2_4 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_2_5 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                for (int64_t q = 0; q < 4; q += 1)
+                {
+                   const __m256d tmp_qloop_0 = _mm256_mul_pd(_mm256_mul_pd(_mm256_set_pd(4.0,4.0,4.0,4.0),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q])),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q]));
+                   const __m256d tmp_qloop_1 = _mm256_mul_pd(_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q]),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q]));
+                   const __m256d tmp_qloop_2 = _mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(2.0,2.0,2.0,2.0));
+                   const __m256d tmp_qloop_3 = _mm256_mul_pd(_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q]),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q]));
+                   const __m256d tmp_qloop_4 = _mm256_mul_pd(tmp_qloop_3,_mm256_set_pd(2.0,2.0,2.0,2.0));
+                   const __m256d tmp_qloop_5 = _mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(k_dof_1,_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q])),tmp_qloop_2)),_mm256_mul_pd(k_dof_2,_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q])),tmp_qloop_4))),_mm256_mul_pd(k_dof_5,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(-4.0,-4.0,-4.0,-4.0)),_mm256_mul_pd(_mm256_set_pd(4.0,4.0,4.0,4.0),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q]))),_mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))))),_mm256_mul_pd(k_dof_4,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_3,_mm256_set_pd(-4.0,-4.0,-4.0,-4.0)),_mm256_mul_pd(_mm256_set_pd(4.0,4.0,4.0,4.0),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q]))),_mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))))),_mm256_mul_pd(k_dof_0,_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-3.0,-3.0,-3.0,-3.0),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q])),_mm256_mul_pd(_mm256_set_pd(-3.0,-3.0,-3.0,-3.0),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q]))),_mm256_set_pd(1.0,1.0,1.0,1.0)),tmp_qloop_0),tmp_qloop_2),tmp_qloop_4))),_mm256_mul_pd(k_dof_3,tmp_qloop_0)),_mm256_set_pd(_data_q_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q]));
+                   const __m256d q_tmp_0_0 = _mm256_mul_pd(tmp_qloop_5,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GRAY[18*q],_data_phi_psi_jac_affine_det_0_0_GRAY[18*q],_data_phi_psi_jac_affine_det_0_0_GRAY[18*q],_data_phi_psi_jac_affine_det_0_0_GRAY[18*q]));
+                   const __m256d q_tmp_0_1 = _mm256_mul_pd(tmp_qloop_5,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 1],_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 1],_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 1],_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 1]));
+                   const __m256d q_tmp_0_2 = _mm256_mul_pd(tmp_qloop_5,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 2],_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 2],_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 2],_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 2]));
+                   const __m256d q_tmp_0_3 = _mm256_mul_pd(tmp_qloop_5,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 3],_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 3],_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 3],_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 3]));
+                   const __m256d q_tmp_0_4 = _mm256_mul_pd(tmp_qloop_5,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 4],_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 4],_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 4],_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 4]));
+                   const __m256d q_tmp_0_5 = _mm256_mul_pd(tmp_qloop_5,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 5],_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 5],_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 5],_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 5]));
+                   const __m256d q_tmp_1_0 = _mm256_mul_pd(tmp_qloop_5,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 6],_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 6],_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 6],_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 6]));
+                   const __m256d q_tmp_1_1 = _mm256_mul_pd(tmp_qloop_5,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 7],_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 7],_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 7],_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 7]));
+                   const __m256d q_tmp_1_2 = _mm256_mul_pd(tmp_qloop_5,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 8],_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 8],_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 8],_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 8]));
+                   const __m256d q_tmp_1_3 = _mm256_mul_pd(tmp_qloop_5,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 9],_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 9],_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 9],_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 9]));
+                   const __m256d q_tmp_1_4 = _mm256_mul_pd(tmp_qloop_5,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 10],_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 10],_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 10],_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 10]));
+                   const __m256d q_tmp_1_5 = _mm256_mul_pd(tmp_qloop_5,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 11],_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 11],_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 11],_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 11]));
+                   const __m256d q_tmp_2_0 = _mm256_mul_pd(tmp_qloop_5,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 12],_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 12],_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 12],_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 12]));
+                   const __m256d q_tmp_2_1 = _mm256_mul_pd(tmp_qloop_5,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 13],_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 13],_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 13],_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 13]));
+                   const __m256d q_tmp_2_2 = _mm256_mul_pd(tmp_qloop_5,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 14],_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 14],_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 14],_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 14]));
+                   const __m256d q_tmp_2_3 = _mm256_mul_pd(tmp_qloop_5,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 15],_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 15],_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 15],_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 15]));
+                   const __m256d q_tmp_2_4 = _mm256_mul_pd(tmp_qloop_5,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 16],_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 16],_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 16],_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 16]));
+                   const __m256d q_tmp_2_5 = _mm256_mul_pd(tmp_qloop_5,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 17],_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 17],_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 17],_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 17]));
+                   q_acc_0_0 = _mm256_add_pd(q_acc_0_0,q_tmp_0_0);
+                   q_acc_0_1 = _mm256_add_pd(q_acc_0_1,q_tmp_0_1);
+                   q_acc_0_2 = _mm256_add_pd(q_acc_0_2,q_tmp_0_2);
+                   q_acc_0_3 = _mm256_add_pd(q_acc_0_3,q_tmp_0_3);
+                   q_acc_0_4 = _mm256_add_pd(q_acc_0_4,q_tmp_0_4);
+                   q_acc_0_5 = _mm256_add_pd(q_acc_0_5,q_tmp_0_5);
+                   q_acc_1_0 = _mm256_add_pd(q_acc_1_0,q_tmp_1_0);
+                   q_acc_1_1 = _mm256_add_pd(q_acc_1_1,q_tmp_1_1);
+                   q_acc_1_2 = _mm256_add_pd(q_acc_1_2,q_tmp_1_2);
+                   q_acc_1_3 = _mm256_add_pd(q_acc_1_3,q_tmp_1_3);
+                   q_acc_1_4 = _mm256_add_pd(q_acc_1_4,q_tmp_1_4);
+                   q_acc_1_5 = _mm256_add_pd(q_acc_1_5,q_tmp_1_5);
+                   q_acc_2_0 = _mm256_add_pd(q_acc_2_0,q_tmp_2_0);
+                   q_acc_2_1 = _mm256_add_pd(q_acc_2_1,q_tmp_2_1);
+                   q_acc_2_2 = _mm256_add_pd(q_acc_2_2,q_tmp_2_2);
+                   q_acc_2_3 = _mm256_add_pd(q_acc_2_3,q_tmp_2_3);
+                   q_acc_2_4 = _mm256_add_pd(q_acc_2_4,q_tmp_2_4);
+                   q_acc_2_5 = _mm256_add_pd(q_acc_2_5,q_tmp_2_5);
+                }
+                const __m256d elMatVec_0 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(q_acc_0_0,src_dof_0),_mm256_mul_pd(q_acc_0_1,src_dof_1)),_mm256_mul_pd(q_acc_0_2,src_dof_2)),_mm256_mul_pd(q_acc_0_3,src_dof_3)),_mm256_mul_pd(q_acc_0_4,src_dof_4)),_mm256_mul_pd(q_acc_0_5,src_dof_5));
+                const __m256d elMatVec_1 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(q_acc_1_0,src_dof_0),_mm256_mul_pd(q_acc_1_1,src_dof_1)),_mm256_mul_pd(q_acc_1_2,src_dof_2)),_mm256_mul_pd(q_acc_1_3,src_dof_3)),_mm256_mul_pd(q_acc_1_4,src_dof_4)),_mm256_mul_pd(q_acc_1_5,src_dof_5));
+                const __m256d elMatVec_2 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(q_acc_2_0,src_dof_0),_mm256_mul_pd(q_acc_2_1,src_dof_1)),_mm256_mul_pd(q_acc_2_2,src_dof_2)),_mm256_mul_pd(q_acc_2_3,src_dof_3)),_mm256_mul_pd(q_acc_2_4,src_dof_4)),_mm256_mul_pd(q_acc_2_5,src_dof_5));
+                _mm256_storeu_pd(&_data_dst[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2))],_mm256_add_pd(elMatVec_0,_mm256_loadu_pd(& _data_dst[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2))])));
+                _mm256_storeu_pd(&_data_dst[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + 1],_mm256_add_pd(elMatVec_1,_mm256_loadu_pd(& _data_dst[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + 1])));
+                _mm256_storeu_pd(&_data_dst[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2))],_mm256_add_pd(elMatVec_2,_mm256_loadu_pd(& _data_dst[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2))])));
+             }
+             for (int64_t ctr_0 = (int64_t)((-ctr_1 + micro_edges_per_macro_edge) / (4)) * (4); ctr_0 < -ctr_1 + micro_edges_per_macro_edge; ctr_0 += 1)
+             {
+                const real_t src_dof_0 = _data_srcVertex[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2))];
+                const real_t src_dof_1 = _data_srcVertex[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + 1];
+                const real_t src_dof_2 = _data_srcVertex[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2))];
+                const real_t src_dof_3 = _data_srcEdge[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)) / (2))];
+                const real_t src_dof_4 = _data_srcEdge[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 2*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)) / (2))];
+                const real_t src_dof_5 = _data_srcEdge[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2))];
+                const real_t k_dof_0 = _data_kVertex[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2))];
+                const real_t k_dof_1 = _data_kVertex[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + 1];
+                const real_t k_dof_2 = _data_kVertex[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2))];
+                const real_t k_dof_3 = _data_kEdge[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)) / (2))];
+                const real_t k_dof_4 = _data_kEdge[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 2*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)) / (2))];
+                const real_t k_dof_5 = _data_kEdge[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2))];
+                real_t q_acc_0_0 = 0.0;
+                real_t q_acc_0_1 = 0.0;
+                real_t q_acc_0_2 = 0.0;
+                real_t q_acc_0_3 = 0.0;
+                real_t q_acc_0_4 = 0.0;
+                real_t q_acc_0_5 = 0.0;
+                real_t q_acc_1_0 = 0.0;
+                real_t q_acc_1_1 = 0.0;
+                real_t q_acc_1_2 = 0.0;
+                real_t q_acc_1_3 = 0.0;
+                real_t q_acc_1_4 = 0.0;
+                real_t q_acc_1_5 = 0.0;
+                real_t q_acc_2_0 = 0.0;
+                real_t q_acc_2_1 = 0.0;
+                real_t q_acc_2_2 = 0.0;
+                real_t q_acc_2_3 = 0.0;
+                real_t q_acc_2_4 = 0.0;
+                real_t q_acc_2_5 = 0.0;
+                for (int64_t q = 0; q < 4; q += 1)
+                {
+                   const real_t tmp_qloop_0 = 4.0*_data_q_p_0[q]*_data_q_p_1[q];
+                   const real_t tmp_qloop_1 = (_data_q_p_0[q]*_data_q_p_0[q]);
+                   const real_t tmp_qloop_2 = tmp_qloop_1*2.0;
+                   const real_t tmp_qloop_3 = (_data_q_p_1[q]*_data_q_p_1[q]);
+                   const real_t tmp_qloop_4 = tmp_qloop_3*2.0;
+                   const real_t tmp_qloop_5 = (k_dof_0*(tmp_qloop_0 + tmp_qloop_2 + tmp_qloop_4 - 3.0*_data_q_p_0[q] - 3.0*_data_q_p_1[q] + 1.0) + k_dof_1*(tmp_qloop_2 - _data_q_p_0[q]) + k_dof_2*(tmp_qloop_4 - _data_q_p_1[q]) + k_dof_3*tmp_qloop_0 + k_dof_4*(-tmp_qloop_0 + tmp_qloop_3*-4.0 + 4.0*_data_q_p_1[q]) + k_dof_5*(-tmp_qloop_0 + tmp_qloop_1*-4.0 + 4.0*_data_q_p_0[q]))*_data_q_w[q];
+                   const real_t q_tmp_0_0 = tmp_qloop_5*_data_phi_psi_jac_affine_det_0_0_GRAY[18*q];
+                   const real_t q_tmp_0_1 = tmp_qloop_5*_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 1];
+                   const real_t q_tmp_0_2 = tmp_qloop_5*_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 2];
+                   const real_t q_tmp_0_3 = tmp_qloop_5*_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 3];
+                   const real_t q_tmp_0_4 = tmp_qloop_5*_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 4];
+                   const real_t q_tmp_0_5 = tmp_qloop_5*_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 5];
+                   const real_t q_tmp_1_0 = tmp_qloop_5*_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 6];
+                   const real_t q_tmp_1_1 = tmp_qloop_5*_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 7];
+                   const real_t q_tmp_1_2 = tmp_qloop_5*_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 8];
+                   const real_t q_tmp_1_3 = tmp_qloop_5*_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 9];
+                   const real_t q_tmp_1_4 = tmp_qloop_5*_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 10];
+                   const real_t q_tmp_1_5 = tmp_qloop_5*_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 11];
+                   const real_t q_tmp_2_0 = tmp_qloop_5*_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 12];
+                   const real_t q_tmp_2_1 = tmp_qloop_5*_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 13];
+                   const real_t q_tmp_2_2 = tmp_qloop_5*_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 14];
+                   const real_t q_tmp_2_3 = tmp_qloop_5*_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 15];
+                   const real_t q_tmp_2_4 = tmp_qloop_5*_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 16];
+                   const real_t q_tmp_2_5 = tmp_qloop_5*_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 17];
+                   q_acc_0_0 = q_acc_0_0 + q_tmp_0_0;
+                   q_acc_0_1 = q_acc_0_1 + q_tmp_0_1;
+                   q_acc_0_2 = q_acc_0_2 + q_tmp_0_2;
+                   q_acc_0_3 = q_acc_0_3 + q_tmp_0_3;
+                   q_acc_0_4 = q_acc_0_4 + q_tmp_0_4;
+                   q_acc_0_5 = q_acc_0_5 + q_tmp_0_5;
+                   q_acc_1_0 = q_acc_1_0 + q_tmp_1_0;
+                   q_acc_1_1 = q_acc_1_1 + q_tmp_1_1;
+                   q_acc_1_2 = q_acc_1_2 + q_tmp_1_2;
+                   q_acc_1_3 = q_acc_1_3 + q_tmp_1_3;
+                   q_acc_1_4 = q_acc_1_4 + q_tmp_1_4;
+                   q_acc_1_5 = q_acc_1_5 + q_tmp_1_5;
+                   q_acc_2_0 = q_acc_2_0 + q_tmp_2_0;
+                   q_acc_2_1 = q_acc_2_1 + q_tmp_2_1;
+                   q_acc_2_2 = q_acc_2_2 + q_tmp_2_2;
+                   q_acc_2_3 = q_acc_2_3 + q_tmp_2_3;
+                   q_acc_2_4 = q_acc_2_4 + q_tmp_2_4;
+                   q_acc_2_5 = q_acc_2_5 + q_tmp_2_5;
+                }
+                const real_t elMatVec_0 = q_acc_0_0*src_dof_0 + q_acc_0_1*src_dof_1 + q_acc_0_2*src_dof_2 + q_acc_0_3*src_dof_3 + q_acc_0_4*src_dof_4 + q_acc_0_5*src_dof_5;
+                const real_t elMatVec_1 = q_acc_1_0*src_dof_0 + q_acc_1_1*src_dof_1 + q_acc_1_2*src_dof_2 + q_acc_1_3*src_dof_3 + q_acc_1_4*src_dof_4 + q_acc_1_5*src_dof_5;
+                const real_t elMatVec_2 = q_acc_2_0*src_dof_0 + q_acc_2_1*src_dof_1 + q_acc_2_2*src_dof_2 + q_acc_2_3*src_dof_3 + q_acc_2_4*src_dof_4 + q_acc_2_5*src_dof_5;
+                _data_dst[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2))] = elMatVec_0 + _data_dst[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2))];
+                _data_dst[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + 1] = elMatVec_1 + _data_dst[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + 1];
+                _data_dst[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2))] = elMatVec_2 + _data_dst[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2))];
+             }
+          }
+       }
+       const real_t tmp_coords_jac_0_BLUE = 1.0 / (micro_edges_per_macro_edge_float)*1.0;
+       const real_t tmp_coords_jac_1_BLUE = macro_vertex_coord_id_0comp0 + tmp_coords_jac_0_BLUE*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0);
+       const real_t tmp_coords_jac_2_BLUE = macro_vertex_coord_id_0comp1 + tmp_coords_jac_0_BLUE*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1);
+       const real_t tmp_coords_jac_3_BLUE = tmp_coords_jac_0_BLUE*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0);
+       const real_t tmp_coords_jac_4_BLUE = tmp_coords_jac_0_BLUE*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1);
+       const real_t p_affine_const_0_0_BLUE = tmp_coords_jac_1_BLUE;
+       const real_t p_affine_const_0_1_BLUE = tmp_coords_jac_2_BLUE;
+       const real_t p_affine_const_1_0_BLUE = macro_vertex_coord_id_0comp0 + tmp_coords_jac_3_BLUE;
+       const real_t p_affine_const_1_1_BLUE = macro_vertex_coord_id_0comp1 + tmp_coords_jac_4_BLUE;
+       const real_t p_affine_const_2_0_BLUE = tmp_coords_jac_1_BLUE + tmp_coords_jac_3_BLUE;
+       const real_t p_affine_const_2_1_BLUE = tmp_coords_jac_2_BLUE + tmp_coords_jac_4_BLUE;
+       const real_t jac_affine_0_0_BLUE = -p_affine_const_0_0_BLUE + p_affine_const_1_0_BLUE;
+       const real_t jac_affine_0_1_BLUE = -p_affine_const_0_0_BLUE + p_affine_const_2_0_BLUE;
+       const real_t jac_affine_1_0_BLUE = -p_affine_const_0_1_BLUE + p_affine_const_1_1_BLUE;
+       const real_t jac_affine_1_1_BLUE = -p_affine_const_0_1_BLUE + p_affine_const_2_1_BLUE;
+       const real_t abs_det_jac_affine_BLUE = abs(jac_affine_0_0_BLUE*jac_affine_1_1_BLUE - jac_affine_0_1_BLUE*jac_affine_1_0_BLUE);
+       {
+          /* FaceType.BLUE */
+          const real_t _data_phi_psi_jac_affine_det_0_0_BLUE [] = {((real_t)(abs_det_jac_affine_BLUE*-0.037037037037037063)), ((real_t)(abs_det_jac_affine_BLUE*-0.037037037037037042)), ((real_t)(abs_det_jac_affine_BLUE*-0.037037037037037042)), ((real_t)(abs_det_jac_affine_BLUE*0.14814814814814817)), ((real_t)(abs_det_jac_affine_BLUE*0.14814814814814817)), ((real_t)(abs_det_jac_affine_BLUE*0.14814814814814817)), ((real_t)(abs_det_jac_affine_BLUE*-0.037037037037037049)), ((real_t)(abs_det_jac_affine_BLUE*-0.037037037037037035)), ((real_t)(abs_det_jac_affine_BLUE*-0.037037037037037035)), ((real_t)(abs_det_jac_affine_BLUE*0.14814814814814814)), ((real_t)(abs_det_jac_affine_BLUE*0.14814814814814814)), ((real_t)(abs_det_jac_affine_BLUE*0.14814814814814814)), ((real_t)(abs_det_jac_affine_BLUE*-0.037037037037037049)), ((real_t)(abs_det_jac_affine_BLUE*-0.037037037037037035)), ((real_t)(abs_det_jac_affine_BLUE*-0.037037037037037035)), ((real_t)(abs_det_jac_affine_BLUE*0.14814814814814814)), ((real_t)(abs_det_jac_affine_BLUE*0.14814814814814814)), ((real_t)(abs_det_jac_affine_BLUE*0.14814814814814814)), ((real_t)(abs_det_jac_affine_BLUE*-0.023999999999999987)), ((real_t)(abs_det_jac_affine_BLUE*-0.024000000000000007)), ((real_t)(abs_det_jac_affine_BLUE*0.024000000000000007)), ((real_t)(abs_det_jac_affine_BLUE*0.09600000000000003)), ((real_t)(abs_det_jac_affine_BLUE*0.09600000000000003)), ((real_t)(abs_det_jac_affine_BLUE*0.032000000000000015)), ((real_t)(abs_det_jac_affine_BLUE*-0.02399999999999998)), ((real_t)(abs_det_jac_affine_BLUE*-0.024)), ((real_t)(abs_det_jac_affine_BLUE*0.024)), ((real_t)(abs_det_jac_affine_BLUE*0.096000000000000016)), ((real_t)(abs_det_jac_affine_BLUE*0.096000000000000002)), ((real_t)(abs_det_jac_affine_BLUE*0.032000000000000008)), ((real_t)(abs_det_jac_affine_BLUE*-0.071999999999999925)), ((real_t)(abs_det_jac_affine_BLUE*-0.071999999999999995)), ((real_t)(abs_det_jac_affine_BLUE*0.071999999999999995)), ((real_t)(abs_det_jac_affine_BLUE*0.28799999999999998)), ((real_t)(abs_det_jac_affine_BLUE*0.28799999999999998)), ((real_t)(abs_det_jac_affine_BLUE*0.096000000000000016)), ((real_t)(abs_det_jac_affine_BLUE*-0.02399999999999998)), ((real_t)(abs_det_jac_affine_BLUE*0.024)), ((real_t)(abs_det_jac_affine_BLUE*-0.024)), ((real_t)(abs_det_jac_affine_BLUE*0.096000000000000002)), ((real_t)(abs_det_jac_affine_BLUE*0.032000000000000008)), ((real_t)(abs_det_jac_affine_BLUE*0.096000000000000002)), ((real_t)(abs_det_jac_affine_BLUE*-0.071999999999999925)), ((real_t)(abs_det_jac_affine_BLUE*0.071999999999999995)), ((real_t)(abs_det_jac_affine_BLUE*-0.071999999999999995)), ((real_t)(abs_det_jac_affine_BLUE*0.28799999999999998)), ((real_t)(abs_det_jac_affine_BLUE*0.096000000000000016)), ((real_t)(abs_det_jac_affine_BLUE*0.28799999999999998)), ((real_t)(abs_det_jac_affine_BLUE*-0.02399999999999998)), ((real_t)(abs_det_jac_affine_BLUE*0.024)), ((real_t)(abs_det_jac_affine_BLUE*-0.024)), ((real_t)(abs_det_jac_affine_BLUE*0.096000000000000016)), ((real_t)(abs_det_jac_affine_BLUE*0.032000000000000008)), ((real_t)(abs_det_jac_affine_BLUE*0.096000000000000002)), ((real_t)(abs_det_jac_affine_BLUE*0.071999999999999939)), ((real_t)(abs_det_jac_affine_BLUE*-0.072000000000000008)), ((real_t)(abs_det_jac_affine_BLUE*-0.072000000000000008)), ((real_t)(abs_det_jac_affine_BLUE*0.09600000000000003)), ((real_t)(abs_det_jac_affine_BLUE*0.28800000000000003)), ((real_t)(abs_det_jac_affine_BLUE*0.28800000000000003)), ((real_t)(abs_det_jac_affine_BLUE*0.02399999999999998)), ((real_t)(abs_det_jac_affine_BLUE*-0.024)), ((real_t)(abs_det_jac_affine_BLUE*-0.024)), ((real_t)(abs_det_jac_affine_BLUE*0.032000000000000008)), ((real_t)(abs_det_jac_affine_BLUE*0.096000000000000002)), ((real_t)(abs_det_jac_affine_BLUE*0.096000000000000002)), ((real_t)(abs_det_jac_affine_BLUE*0.02399999999999998)), ((real_t)(abs_det_jac_affine_BLUE*-0.024)), ((real_t)(abs_det_jac_affine_BLUE*-0.024)), ((real_t)(abs_det_jac_affine_BLUE*0.032000000000000008)), ((real_t)(abs_det_jac_affine_BLUE*0.096000000000000002)), ((real_t)(abs_det_jac_affine_BLUE*0.096000000000000002))};
+      
+          for (int64_t ctr_1 = 0; ctr_1 < micro_edges_per_macro_edge; ctr_1 += 1)
+          {
+             for (int64_t ctr_0 = 0; ctr_0 < (int64_t)((-ctr_1 + micro_edges_per_macro_edge - 1) / (4)) * (4); ctr_0 += 4)
+             {
+                const __m256d src_dof_0 = _mm256_loadu_pd(& _data_srcVertex[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + 1]);
+                const __m256d src_dof_1 = _mm256_loadu_pd(& _data_srcVertex[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2))]);
+                const __m256d src_dof_2 = _mm256_loadu_pd(& _data_srcVertex[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 1]);
+                const __m256d src_dof_3 = _mm256_loadu_pd(& _data_srcEdge[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2))]);
+                const __m256d src_dof_4 = _mm256_loadu_pd(& _data_srcEdge[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 2*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)) / (2)) + 1]);
+                const __m256d src_dof_5 = _mm256_loadu_pd(& _data_srcEdge[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)) / (2))]);
+                const __m256d k_dof_0 = _mm256_loadu_pd(& _data_kVertex[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + 1]);
+                const __m256d k_dof_1 = _mm256_loadu_pd(& _data_kVertex[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2))]);
+                const __m256d k_dof_2 = _mm256_loadu_pd(& _data_kVertex[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 1]);
+                const __m256d k_dof_3 = _mm256_loadu_pd(& _data_kEdge[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2))]);
+                const __m256d k_dof_4 = _mm256_loadu_pd(& _data_kEdge[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 2*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)) / (2)) + 1]);
+                const __m256d k_dof_5 = _mm256_loadu_pd(& _data_kEdge[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)) / (2))]);
+                __m256d q_acc_0_0 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_0_1 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_0_2 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_0_3 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_0_4 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_0_5 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_1_0 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_1_1 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_1_2 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_1_3 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_1_4 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_1_5 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_2_0 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_2_1 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_2_2 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_2_3 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_2_4 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_2_5 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                for (int64_t q = 0; q < 4; q += 1)
+                {
+                   const __m256d tmp_qloop_0 = _mm256_mul_pd(_mm256_mul_pd(_mm256_set_pd(4.0,4.0,4.0,4.0),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q])),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q]));
+                   const __m256d tmp_qloop_1 = _mm256_mul_pd(_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q]),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q]));
+                   const __m256d tmp_qloop_2 = _mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(2.0,2.0,2.0,2.0));
+                   const __m256d tmp_qloop_3 = _mm256_mul_pd(_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q]),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q]));
+                   const __m256d tmp_qloop_4 = _mm256_mul_pd(tmp_qloop_3,_mm256_set_pd(2.0,2.0,2.0,2.0));
+                   const __m256d tmp_qloop_5 = _mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(k_dof_1,_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q])),tmp_qloop_2)),_mm256_mul_pd(k_dof_2,_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q])),tmp_qloop_4))),_mm256_mul_pd(k_dof_5,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(-4.0,-4.0,-4.0,-4.0)),_mm256_mul_pd(_mm256_set_pd(4.0,4.0,4.0,4.0),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q]))),_mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))))),_mm256_mul_pd(k_dof_4,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_3,_mm256_set_pd(-4.0,-4.0,-4.0,-4.0)),_mm256_mul_pd(_mm256_set_pd(4.0,4.0,4.0,4.0),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q]))),_mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))))),_mm256_mul_pd(k_dof_0,_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-3.0,-3.0,-3.0,-3.0),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q])),_mm256_mul_pd(_mm256_set_pd(-3.0,-3.0,-3.0,-3.0),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q]))),_mm256_set_pd(1.0,1.0,1.0,1.0)),tmp_qloop_0),tmp_qloop_2),tmp_qloop_4))),_mm256_mul_pd(k_dof_3,tmp_qloop_0)),_mm256_set_pd(_data_q_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q]));
+                   const __m256d q_tmp_0_0 = _mm256_mul_pd(tmp_qloop_5,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE[18*q],_data_phi_psi_jac_affine_det_0_0_BLUE[18*q],_data_phi_psi_jac_affine_det_0_0_BLUE[18*q],_data_phi_psi_jac_affine_det_0_0_BLUE[18*q]));
+                   const __m256d q_tmp_0_1 = _mm256_mul_pd(tmp_qloop_5,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 1],_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 1],_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 1],_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 1]));
+                   const __m256d q_tmp_0_2 = _mm256_mul_pd(tmp_qloop_5,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 2],_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 2],_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 2],_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 2]));
+                   const __m256d q_tmp_0_3 = _mm256_mul_pd(tmp_qloop_5,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 3],_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 3],_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 3],_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 3]));
+                   const __m256d q_tmp_0_4 = _mm256_mul_pd(tmp_qloop_5,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 4],_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 4],_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 4],_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 4]));
+                   const __m256d q_tmp_0_5 = _mm256_mul_pd(tmp_qloop_5,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 5],_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 5],_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 5],_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 5]));
+                   const __m256d q_tmp_1_0 = _mm256_mul_pd(tmp_qloop_5,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 6],_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 6],_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 6],_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 6]));
+                   const __m256d q_tmp_1_1 = _mm256_mul_pd(tmp_qloop_5,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 7],_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 7],_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 7],_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 7]));
+                   const __m256d q_tmp_1_2 = _mm256_mul_pd(tmp_qloop_5,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 8],_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 8],_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 8],_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 8]));
+                   const __m256d q_tmp_1_3 = _mm256_mul_pd(tmp_qloop_5,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 9],_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 9],_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 9],_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 9]));
+                   const __m256d q_tmp_1_4 = _mm256_mul_pd(tmp_qloop_5,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 10],_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 10],_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 10],_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 10]));
+                   const __m256d q_tmp_1_5 = _mm256_mul_pd(tmp_qloop_5,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 11],_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 11],_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 11],_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 11]));
+                   const __m256d q_tmp_2_0 = _mm256_mul_pd(tmp_qloop_5,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 12],_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 12],_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 12],_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 12]));
+                   const __m256d q_tmp_2_1 = _mm256_mul_pd(tmp_qloop_5,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 13],_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 13],_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 13],_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 13]));
+                   const __m256d q_tmp_2_2 = _mm256_mul_pd(tmp_qloop_5,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 14],_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 14],_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 14],_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 14]));
+                   const __m256d q_tmp_2_3 = _mm256_mul_pd(tmp_qloop_5,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 15],_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 15],_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 15],_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 15]));
+                   const __m256d q_tmp_2_4 = _mm256_mul_pd(tmp_qloop_5,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 16],_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 16],_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 16],_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 16]));
+                   const __m256d q_tmp_2_5 = _mm256_mul_pd(tmp_qloop_5,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 17],_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 17],_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 17],_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 17]));
+                   q_acc_0_0 = _mm256_add_pd(q_acc_0_0,q_tmp_0_0);
+                   q_acc_0_1 = _mm256_add_pd(q_acc_0_1,q_tmp_0_1);
+                   q_acc_0_2 = _mm256_add_pd(q_acc_0_2,q_tmp_0_2);
+                   q_acc_0_3 = _mm256_add_pd(q_acc_0_3,q_tmp_0_3);
+                   q_acc_0_4 = _mm256_add_pd(q_acc_0_4,q_tmp_0_4);
+                   q_acc_0_5 = _mm256_add_pd(q_acc_0_5,q_tmp_0_5);
+                   q_acc_1_0 = _mm256_add_pd(q_acc_1_0,q_tmp_1_0);
+                   q_acc_1_1 = _mm256_add_pd(q_acc_1_1,q_tmp_1_1);
+                   q_acc_1_2 = _mm256_add_pd(q_acc_1_2,q_tmp_1_2);
+                   q_acc_1_3 = _mm256_add_pd(q_acc_1_3,q_tmp_1_3);
+                   q_acc_1_4 = _mm256_add_pd(q_acc_1_4,q_tmp_1_4);
+                   q_acc_1_5 = _mm256_add_pd(q_acc_1_5,q_tmp_1_5);
+                   q_acc_2_0 = _mm256_add_pd(q_acc_2_0,q_tmp_2_0);
+                   q_acc_2_1 = _mm256_add_pd(q_acc_2_1,q_tmp_2_1);
+                   q_acc_2_2 = _mm256_add_pd(q_acc_2_2,q_tmp_2_2);
+                   q_acc_2_3 = _mm256_add_pd(q_acc_2_3,q_tmp_2_3);
+                   q_acc_2_4 = _mm256_add_pd(q_acc_2_4,q_tmp_2_4);
+                   q_acc_2_5 = _mm256_add_pd(q_acc_2_5,q_tmp_2_5);
+                }
+                const __m256d elMatVec_0 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(q_acc_0_0,src_dof_0),_mm256_mul_pd(q_acc_0_1,src_dof_1)),_mm256_mul_pd(q_acc_0_2,src_dof_2)),_mm256_mul_pd(q_acc_0_3,src_dof_3)),_mm256_mul_pd(q_acc_0_4,src_dof_4)),_mm256_mul_pd(q_acc_0_5,src_dof_5));
+                const __m256d elMatVec_1 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(q_acc_1_0,src_dof_0),_mm256_mul_pd(q_acc_1_1,src_dof_1)),_mm256_mul_pd(q_acc_1_2,src_dof_2)),_mm256_mul_pd(q_acc_1_3,src_dof_3)),_mm256_mul_pd(q_acc_1_4,src_dof_4)),_mm256_mul_pd(q_acc_1_5,src_dof_5));
+                const __m256d elMatVec_2 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(q_acc_2_0,src_dof_0),_mm256_mul_pd(q_acc_2_1,src_dof_1)),_mm256_mul_pd(q_acc_2_2,src_dof_2)),_mm256_mul_pd(q_acc_2_3,src_dof_3)),_mm256_mul_pd(q_acc_2_4,src_dof_4)),_mm256_mul_pd(q_acc_2_5,src_dof_5));
+                _mm256_storeu_pd(&_data_dst[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + 1],_mm256_add_pd(elMatVec_0,_mm256_loadu_pd(& _data_dst[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + 1])));
+                _mm256_storeu_pd(&_data_dst[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2))],_mm256_add_pd(elMatVec_1,_mm256_loadu_pd(& _data_dst[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2))])));
+                _mm256_storeu_pd(&_data_dst[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 1],_mm256_add_pd(elMatVec_2,_mm256_loadu_pd(& _data_dst[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 1])));
+             }
+             for (int64_t ctr_0 = (int64_t)((-ctr_1 + micro_edges_per_macro_edge - 1) / (4)) * (4); ctr_0 < -ctr_1 + micro_edges_per_macro_edge - 1; ctr_0 += 1)
+             {
+                const real_t src_dof_0 = _data_srcVertex[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + 1];
+                const real_t src_dof_1 = _data_srcVertex[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2))];
+                const real_t src_dof_2 = _data_srcVertex[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 1];
+                const real_t src_dof_3 = _data_srcEdge[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2))];
+                const real_t src_dof_4 = _data_srcEdge[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 2*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)) / (2)) + 1];
+                const real_t src_dof_5 = _data_srcEdge[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)) / (2))];
+                const real_t k_dof_0 = _data_kVertex[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + 1];
+                const real_t k_dof_1 = _data_kVertex[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2))];
+                const real_t k_dof_2 = _data_kVertex[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 1];
+                const real_t k_dof_3 = _data_kEdge[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2))];
+                const real_t k_dof_4 = _data_kEdge[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 2*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)) / (2)) + 1];
+                const real_t k_dof_5 = _data_kEdge[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)) / (2))];
+                real_t q_acc_0_0 = 0.0;
+                real_t q_acc_0_1 = 0.0;
+                real_t q_acc_0_2 = 0.0;
+                real_t q_acc_0_3 = 0.0;
+                real_t q_acc_0_4 = 0.0;
+                real_t q_acc_0_5 = 0.0;
+                real_t q_acc_1_0 = 0.0;
+                real_t q_acc_1_1 = 0.0;
+                real_t q_acc_1_2 = 0.0;
+                real_t q_acc_1_3 = 0.0;
+                real_t q_acc_1_4 = 0.0;
+                real_t q_acc_1_5 = 0.0;
+                real_t q_acc_2_0 = 0.0;
+                real_t q_acc_2_1 = 0.0;
+                real_t q_acc_2_2 = 0.0;
+                real_t q_acc_2_3 = 0.0;
+                real_t q_acc_2_4 = 0.0;
+                real_t q_acc_2_5 = 0.0;
+                for (int64_t q = 0; q < 4; q += 1)
+                {
+                   const real_t tmp_qloop_0 = 4.0*_data_q_p_0[q]*_data_q_p_1[q];
+                   const real_t tmp_qloop_1 = (_data_q_p_0[q]*_data_q_p_0[q]);
+                   const real_t tmp_qloop_2 = tmp_qloop_1*2.0;
+                   const real_t tmp_qloop_3 = (_data_q_p_1[q]*_data_q_p_1[q]);
+                   const real_t tmp_qloop_4 = tmp_qloop_3*2.0;
+                   const real_t tmp_qloop_5 = (k_dof_0*(tmp_qloop_0 + tmp_qloop_2 + tmp_qloop_4 - 3.0*_data_q_p_0[q] - 3.0*_data_q_p_1[q] + 1.0) + k_dof_1*(tmp_qloop_2 - _data_q_p_0[q]) + k_dof_2*(tmp_qloop_4 - _data_q_p_1[q]) + k_dof_3*tmp_qloop_0 + k_dof_4*(-tmp_qloop_0 + tmp_qloop_3*-4.0 + 4.0*_data_q_p_1[q]) + k_dof_5*(-tmp_qloop_0 + tmp_qloop_1*-4.0 + 4.0*_data_q_p_0[q]))*_data_q_w[q];
+                   const real_t q_tmp_0_0 = tmp_qloop_5*_data_phi_psi_jac_affine_det_0_0_BLUE[18*q];
+                   const real_t q_tmp_0_1 = tmp_qloop_5*_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 1];
+                   const real_t q_tmp_0_2 = tmp_qloop_5*_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 2];
+                   const real_t q_tmp_0_3 = tmp_qloop_5*_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 3];
+                   const real_t q_tmp_0_4 = tmp_qloop_5*_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 4];
+                   const real_t q_tmp_0_5 = tmp_qloop_5*_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 5];
+                   const real_t q_tmp_1_0 = tmp_qloop_5*_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 6];
+                   const real_t q_tmp_1_1 = tmp_qloop_5*_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 7];
+                   const real_t q_tmp_1_2 = tmp_qloop_5*_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 8];
+                   const real_t q_tmp_1_3 = tmp_qloop_5*_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 9];
+                   const real_t q_tmp_1_4 = tmp_qloop_5*_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 10];
+                   const real_t q_tmp_1_5 = tmp_qloop_5*_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 11];
+                   const real_t q_tmp_2_0 = tmp_qloop_5*_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 12];
+                   const real_t q_tmp_2_1 = tmp_qloop_5*_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 13];
+                   const real_t q_tmp_2_2 = tmp_qloop_5*_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 14];
+                   const real_t q_tmp_2_3 = tmp_qloop_5*_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 15];
+                   const real_t q_tmp_2_4 = tmp_qloop_5*_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 16];
+                   const real_t q_tmp_2_5 = tmp_qloop_5*_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 17];
+                   q_acc_0_0 = q_acc_0_0 + q_tmp_0_0;
+                   q_acc_0_1 = q_acc_0_1 + q_tmp_0_1;
+                   q_acc_0_2 = q_acc_0_2 + q_tmp_0_2;
+                   q_acc_0_3 = q_acc_0_3 + q_tmp_0_3;
+                   q_acc_0_4 = q_acc_0_4 + q_tmp_0_4;
+                   q_acc_0_5 = q_acc_0_5 + q_tmp_0_5;
+                   q_acc_1_0 = q_acc_1_0 + q_tmp_1_0;
+                   q_acc_1_1 = q_acc_1_1 + q_tmp_1_1;
+                   q_acc_1_2 = q_acc_1_2 + q_tmp_1_2;
+                   q_acc_1_3 = q_acc_1_3 + q_tmp_1_3;
+                   q_acc_1_4 = q_acc_1_4 + q_tmp_1_4;
+                   q_acc_1_5 = q_acc_1_5 + q_tmp_1_5;
+                   q_acc_2_0 = q_acc_2_0 + q_tmp_2_0;
+                   q_acc_2_1 = q_acc_2_1 + q_tmp_2_1;
+                   q_acc_2_2 = q_acc_2_2 + q_tmp_2_2;
+                   q_acc_2_3 = q_acc_2_3 + q_tmp_2_3;
+                   q_acc_2_4 = q_acc_2_4 + q_tmp_2_4;
+                   q_acc_2_5 = q_acc_2_5 + q_tmp_2_5;
+                }
+                const real_t elMatVec_0 = q_acc_0_0*src_dof_0 + q_acc_0_1*src_dof_1 + q_acc_0_2*src_dof_2 + q_acc_0_3*src_dof_3 + q_acc_0_4*src_dof_4 + q_acc_0_5*src_dof_5;
+                const real_t elMatVec_1 = q_acc_1_0*src_dof_0 + q_acc_1_1*src_dof_1 + q_acc_1_2*src_dof_2 + q_acc_1_3*src_dof_3 + q_acc_1_4*src_dof_4 + q_acc_1_5*src_dof_5;
+                const real_t elMatVec_2 = q_acc_2_0*src_dof_0 + q_acc_2_1*src_dof_1 + q_acc_2_2*src_dof_2 + q_acc_2_3*src_dof_3 + q_acc_2_4*src_dof_4 + q_acc_2_5*src_dof_5;
+                _data_dst[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + 1] = elMatVec_0 + _data_dst[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + 1];
+                _data_dst[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2))] = elMatVec_1 + _data_dst[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2))];
+                _data_dst[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 1] = elMatVec_2 + _data_dst[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 1];
+             }
+          }
+       }
+    }
+}
+} // namespace operatorgeneration
+
+} // namespace hyteg
diff --git a/operators/k_mass/avx/P2ToP1ElementwiseKMass_apply_macro_3D.cpp b/operators/k_mass/avx/P2ToP1ElementwiseKMass_apply_macro_3D.cpp
new file mode 100644
index 0000000000000000000000000000000000000000..2a11cffcd00496497f966b707b7a8716c1dd1179
--- /dev/null
+++ b/operators/k_mass/avx/P2ToP1ElementwiseKMass_apply_macro_3D.cpp
@@ -0,0 +1,2312 @@
+/*
+* Copyright (c) 2017-2024 Nils Kohl, Daniel Bauer, Fabian Böhm.
+*
+* This file is part of HyTeG
+* (see https://i10git.cs.fau.de/hyteg/hyteg).
+*
+* This program is free software: you can redistribute it and/or modify
+* it under the terms of the GNU General Public License as published by
+* the Free Software Foundation, either version 3 of the License, or
+* (at your option) any later version.
+*
+* This program is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+* GNU General Public License for more details.
+*
+* You should have received a copy of the GNU General Public License
+* along with this program. If not, see <http://www.gnu.org/licenses/>.
+*/
+
+/*
+* The entire file was generated with the HyTeG form generator.
+*
+* Avoid modifying this file. If buggy, consider fixing the generator itself.
+*/
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+#include "../P2ToP1ElementwiseKMass.hpp"
+
+#define FUNC_PREFIX  
+
+namespace hyteg {
+
+namespace operatorgeneration {
+
+void P2ToP1ElementwiseKMass::apply_macro_3D( real_t * RESTRICT  _data_dst, real_t * RESTRICT  _data_kEdge, real_t * RESTRICT  _data_kVertex, real_t * RESTRICT  _data_srcEdge, real_t * RESTRICT  _data_srcVertex, real_t macro_vertex_coord_id_0comp0, real_t macro_vertex_coord_id_0comp1, real_t macro_vertex_coord_id_0comp2, real_t macro_vertex_coord_id_1comp0, real_t macro_vertex_coord_id_1comp1, real_t macro_vertex_coord_id_1comp2, real_t macro_vertex_coord_id_2comp0, real_t macro_vertex_coord_id_2comp1, real_t macro_vertex_coord_id_2comp2, real_t macro_vertex_coord_id_3comp0, real_t macro_vertex_coord_id_3comp1, real_t macro_vertex_coord_id_3comp2, int64_t micro_edges_per_macro_edge, real_t micro_edges_per_macro_edge_float ) const
+{
+    {
+       const real_t _data_q_w [] = {-0.1333333333333333, 0.074999999999999983, 0.074999999999999983, 0.074999999999999983, 0.074999999999999983};
+   
+       const real_t _data_q_p_0 [] = {0.25, 0.16666666666666666, 0.16666666666666666, 0.5, 0.16666666666666666};
+   
+       const real_t _data_q_p_1 [] = {0.25, 0.16666666666666666, 0.5, 0.16666666666666666, 0.16666666666666666};
+   
+       const real_t _data_q_p_2 [] = {0.25, 0.5, 0.16666666666666666, 0.16666666666666666, 0.16666666666666666};
+   
+       const real_t tmp_coords_jac_0_WHITE_UP = 1.0 / (micro_edges_per_macro_edge_float)*1.0;
+       const real_t p_affine_const_0_0_WHITE_UP = macro_vertex_coord_id_0comp0;
+       const real_t p_affine_const_0_1_WHITE_UP = macro_vertex_coord_id_0comp1;
+       const real_t p_affine_const_0_2_WHITE_UP = macro_vertex_coord_id_0comp2;
+       const real_t p_affine_const_1_0_WHITE_UP = macro_vertex_coord_id_0comp0 + tmp_coords_jac_0_WHITE_UP*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0);
+       const real_t p_affine_const_1_1_WHITE_UP = macro_vertex_coord_id_0comp1 + tmp_coords_jac_0_WHITE_UP*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1);
+       const real_t p_affine_const_1_2_WHITE_UP = macro_vertex_coord_id_0comp2 + tmp_coords_jac_0_WHITE_UP*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2);
+       const real_t p_affine_const_2_0_WHITE_UP = macro_vertex_coord_id_0comp0 + tmp_coords_jac_0_WHITE_UP*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0);
+       const real_t p_affine_const_2_1_WHITE_UP = macro_vertex_coord_id_0comp1 + tmp_coords_jac_0_WHITE_UP*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1);
+       const real_t p_affine_const_2_2_WHITE_UP = macro_vertex_coord_id_0comp2 + tmp_coords_jac_0_WHITE_UP*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2);
+       const real_t p_affine_const_3_0_WHITE_UP = macro_vertex_coord_id_0comp0 + tmp_coords_jac_0_WHITE_UP*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0);
+       const real_t p_affine_const_3_1_WHITE_UP = macro_vertex_coord_id_0comp1 + tmp_coords_jac_0_WHITE_UP*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1);
+       const real_t p_affine_const_3_2_WHITE_UP = macro_vertex_coord_id_0comp2 + tmp_coords_jac_0_WHITE_UP*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2);
+       const real_t jac_affine_0_0_WHITE_UP = -p_affine_const_0_0_WHITE_UP + p_affine_const_1_0_WHITE_UP;
+       const real_t jac_affine_0_1_WHITE_UP = -p_affine_const_0_0_WHITE_UP + p_affine_const_2_0_WHITE_UP;
+       const real_t jac_affine_0_2_WHITE_UP = -p_affine_const_0_0_WHITE_UP + p_affine_const_3_0_WHITE_UP;
+       const real_t jac_affine_1_0_WHITE_UP = -p_affine_const_0_1_WHITE_UP + p_affine_const_1_1_WHITE_UP;
+       const real_t jac_affine_1_1_WHITE_UP = -p_affine_const_0_1_WHITE_UP + p_affine_const_2_1_WHITE_UP;
+       const real_t jac_affine_1_2_WHITE_UP = -p_affine_const_0_1_WHITE_UP + p_affine_const_3_1_WHITE_UP;
+       const real_t jac_affine_2_0_WHITE_UP = -p_affine_const_0_2_WHITE_UP + p_affine_const_1_2_WHITE_UP;
+       const real_t jac_affine_2_1_WHITE_UP = -p_affine_const_0_2_WHITE_UP + p_affine_const_2_2_WHITE_UP;
+       const real_t jac_affine_2_2_WHITE_UP = -p_affine_const_0_2_WHITE_UP + p_affine_const_3_2_WHITE_UP;
+       const real_t abs_det_jac_affine_WHITE_UP = abs(jac_affine_0_0_WHITE_UP*jac_affine_1_1_WHITE_UP*jac_affine_2_2_WHITE_UP - jac_affine_0_0_WHITE_UP*jac_affine_1_2_WHITE_UP*jac_affine_2_1_WHITE_UP - jac_affine_0_1_WHITE_UP*jac_affine_1_0_WHITE_UP*jac_affine_2_2_WHITE_UP + jac_affine_0_1_WHITE_UP*jac_affine_1_2_WHITE_UP*jac_affine_2_0_WHITE_UP + jac_affine_0_2_WHITE_UP*jac_affine_1_0_WHITE_UP*jac_affine_2_1_WHITE_UP - jac_affine_0_2_WHITE_UP*jac_affine_1_1_WHITE_UP*jac_affine_2_0_WHITE_UP);
+       {
+          /* CellType.WHITE_UP */
+          const real_t _data_phi_psi_jac_affine_det_0_0_WHITE_UP [] = {((real_t)(abs_det_jac_affine_WHITE_UP*-0.03125)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.03125)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.03125)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.03125)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0625)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0625)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0625)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0625)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0625)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0625)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.03125)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.03125)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.03125)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.03125)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0625)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0625)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0625)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0625)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0625)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0625)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.03125)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.03125)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.03125)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.03125)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0625)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0625)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0625)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0625)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0625)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.03125)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.03125)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.03125)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.03125)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0625)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0625)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0625)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0625)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0625)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.018518518518518524)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.018518518518518524)), 0.0, ((real_t)(abs_det_jac_affine_WHITE_UP*0.05555555555555558)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.05555555555555558)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.018518518518518524)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.055555555555555594)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.018518518518518535)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.018518518518518535)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.018518518518518507)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.018518518518518517)), 0.0, ((real_t)(abs_det_jac_affine_WHITE_UP*0.055555555555555552)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.055555555555555552)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.055555555555555566)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.018518518518518524)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.018518518518518524)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.018518518518518507)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.018518518518518517)), 0.0, ((real_t)(abs_det_jac_affine_WHITE_UP*0.055555555555555552)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.055555555555555566)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.018518518518518524)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.018518518518518524)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.055555555555555525)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.055555555555555552)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.055555555555555552)), 0.0, ((real_t)(abs_det_jac_affine_WHITE_UP*0.16666666666666666)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.16666666666666666)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.16666666666666671)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.05555555555555558)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.05555555555555558)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.018518518518518531)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.018518518518518521)), 0.0, ((real_t)(abs_det_jac_affine_WHITE_UP*-0.018518518518518521)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.055555555555555566)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.018518518518518521)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.055555555555555566)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.018518518518518531)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.055555555555555587)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.018518518518518531)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.018518518518518524)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.018518518518518517)), 0.0, ((real_t)(abs_det_jac_affine_WHITE_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.055555555555555552)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.055555555555555552)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.018518518518518524)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.055555555555555566)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.018518518518518524)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.05555555555555558)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.055555555555555552)), 0.0, ((real_t)(abs_det_jac_affine_WHITE_UP*-0.055555555555555552)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.16666666666666666)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.16666666666666666)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.05555555555555558)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.16666666666666671)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.05555555555555558)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.018518518518518524)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.018518518518518517)), 0.0, ((real_t)(abs_det_jac_affine_WHITE_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.055555555555555552)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.018518518518518524)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.055555555555555566)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.018518518518518524)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.018518518518518531)), 0.0, ((real_t)(abs_det_jac_affine_WHITE_UP*-0.018518518518518521)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.018518518518518521)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.018518518518518521)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.055555555555555566)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.055555555555555566)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.018518518518518531)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.018518518518518531)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.055555555555555587)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.05555555555555558)), 0.0, ((real_t)(abs_det_jac_affine_WHITE_UP*-0.055555555555555552)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.055555555555555552)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.055555555555555552)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.16666666666666666)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.16666666666666666)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.05555555555555558)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.05555555555555558)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.16666666666666671)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.018518518518518524)), 0.0, ((real_t)(abs_det_jac_affine_WHITE_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.055555555555555552)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.018518518518518524)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.018518518518518524)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.055555555555555566)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.018518518518518524)), 0.0, ((real_t)(abs_det_jac_affine_WHITE_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.055555555555555552)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.018518518518518524)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.018518518518518524)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.055555555555555566)), ((real_t)(abs_det_jac_affine_WHITE_UP*2.775557561562892e-17)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.055555555555555566)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.055555555555555566)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.055555555555555566)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.055555555555555566)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.055555555555555566)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.055555555555555566)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.16666666666666671)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.16666666666666671)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.16666666666666671)), ((real_t)(abs_det_jac_affine_WHITE_UP*9.2518585385429707e-18)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.055555555555555559)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.055555555555555559)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.055555555555555559)), ((real_t)(abs_det_jac_affine_WHITE_UP*9.2518585385429707e-18)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.055555555555555559)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.055555555555555559)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.055555555555555559)), ((real_t)(abs_det_jac_affine_WHITE_UP*9.2518585385429707e-18)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.055555555555555559)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.055555555555555559)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.055555555555555559))};
+      
+          for (int64_t ctr_2 = 0; ctr_2 < micro_edges_per_macro_edge; ctr_2 += 1)
+          for (int64_t ctr_1 = 0; ctr_1 < -ctr_2 + micro_edges_per_macro_edge; ctr_1 += 1)
+          {
+             for (int64_t ctr_0 = 0; ctr_0 < (int64_t)((-ctr_1 - ctr_2 + micro_edges_per_macro_edge) / (4)) * (4); ctr_0 += 4)
+             {
+                const __m256d src_dof_0 = _mm256_loadu_pd(& _data_srcVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]);
+                const __m256d src_dof_1 = _mm256_loadu_pd(& _data_srcVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]);
+                const __m256d src_dof_2 = _mm256_loadu_pd(& _data_srcVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]);
+                const __m256d src_dof_3 = _mm256_loadu_pd(& _data_srcVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]);
+                const __m256d src_dof_4 = _mm256_loadu_pd(& _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]);
+                const __m256d src_dof_5 = _mm256_loadu_pd(& _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 5*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]);
+                const __m256d src_dof_6 = _mm256_loadu_pd(& _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]);
+                const __m256d src_dof_7 = _mm256_loadu_pd(& _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]);
+                const __m256d src_dof_8 = _mm256_loadu_pd(& _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 2*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]);
+                const __m256d src_dof_9 = _mm256_loadu_pd(& _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]);
+                const __m256d k_dof_0 = _mm256_loadu_pd(& _data_kVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]);
+                const __m256d k_dof_1 = _mm256_loadu_pd(& _data_kVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]);
+                const __m256d k_dof_2 = _mm256_loadu_pd(& _data_kVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]);
+                const __m256d k_dof_3 = _mm256_loadu_pd(& _data_kVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]);
+                const __m256d k_dof_4 = _mm256_loadu_pd(& _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]);
+                const __m256d k_dof_5 = _mm256_loadu_pd(& _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 5*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]);
+                const __m256d k_dof_6 = _mm256_loadu_pd(& _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]);
+                const __m256d k_dof_7 = _mm256_loadu_pd(& _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]);
+                const __m256d k_dof_8 = _mm256_loadu_pd(& _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 2*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]);
+                const __m256d k_dof_9 = _mm256_loadu_pd(& _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]);
+                __m256d q_acc_0_0 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_0_1 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_0_2 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_0_3 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_0_4 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_0_5 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_0_6 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_0_7 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_0_8 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_0_9 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_1_0 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_1_1 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_1_2 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_1_3 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_1_4 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_1_5 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_1_6 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_1_7 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_1_8 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_1_9 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_2_0 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_2_1 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_2_2 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_2_3 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_2_4 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_2_5 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_2_6 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_2_7 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_2_8 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_2_9 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_3_0 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_3_1 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_3_2 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_3_3 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_3_4 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_3_5 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_3_6 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_3_7 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_3_8 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_3_9 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                for (int64_t q = 0; q < 5; q += 1)
+                {
+                   const __m256d tmp_qloop_0 = _mm256_mul_pd(_mm256_set_pd(4.0,4.0,4.0,4.0),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q]));
+                   const __m256d tmp_qloop_1 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q]));
+                   const __m256d tmp_qloop_2 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q]));
+                   const __m256d tmp_qloop_3 = _mm256_mul_pd(_mm256_mul_pd(_mm256_set_pd(4.0,4.0,4.0,4.0),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q])),_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q]));
+                   const __m256d tmp_qloop_4 = _mm256_mul_pd(_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q]),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q]));
+                   const __m256d tmp_qloop_5 = _mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(2.0,2.0,2.0,2.0));
+                   const __m256d tmp_qloop_6 = _mm256_mul_pd(_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q]),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q]));
+                   const __m256d tmp_qloop_7 = _mm256_mul_pd(tmp_qloop_6,_mm256_set_pd(2.0,2.0,2.0,2.0));
+                   const __m256d tmp_qloop_8 = _mm256_mul_pd(_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q]),_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q]));
+                   const __m256d tmp_qloop_9 = _mm256_mul_pd(tmp_qloop_8,_mm256_set_pd(2.0,2.0,2.0,2.0));
+                   const __m256d tmp_qloop_10 = _mm256_add_pd(tmp_qloop_1,tmp_qloop_2);
+                   const __m256d tmp_qloop_11 = _mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(k_dof_1,_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q])),tmp_qloop_5)),_mm256_mul_pd(k_dof_2,_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q])),tmp_qloop_7))),_mm256_mul_pd(k_dof_3,_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q])),tmp_qloop_9))),_mm256_mul_pd(k_dof_9,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(4.0,4.0,4.0,4.0),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q])),_mm256_mul_pd(tmp_qloop_10,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(-4.0,-4.0,-4.0,-4.0))))),_mm256_mul_pd(k_dof_8,_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(4.0,4.0,4.0,4.0),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q])),_mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_3,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_6,_mm256_set_pd(-4.0,-4.0,-4.0,-4.0))))),_mm256_mul_pd(k_dof_7,_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(4.0,4.0,4.0,4.0),_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q])),_mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_3,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_8,_mm256_set_pd(-4.0,-4.0,-4.0,-4.0))))),_mm256_mul_pd(k_dof_0,_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-3.0,-3.0,-3.0,-3.0),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q])),_mm256_mul_pd(_mm256_set_pd(-3.0,-3.0,-3.0,-3.0),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q]))),_mm256_mul_pd(_mm256_set_pd(-3.0,-3.0,-3.0,-3.0),_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q]))),_mm256_set_pd(1.0,1.0,1.0,1.0)),tmp_qloop_10),tmp_qloop_3),tmp_qloop_5),tmp_qloop_7),tmp_qloop_9))),_mm256_mul_pd(k_dof_4,tmp_qloop_3)),_mm256_mul_pd(k_dof_5,tmp_qloop_2)),_mm256_mul_pd(k_dof_6,tmp_qloop_1)),_mm256_set_pd(_data_q_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q]));
+                   const __m256d tmp_qloop_12 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 14],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 14],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 14],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 14]));
+                   const __m256d q_tmp_0_0 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q]));
+                   const __m256d q_tmp_0_1 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 1],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 1],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 1],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 1]));
+                   const __m256d q_tmp_0_2 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 2],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 2],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 2],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 2]));
+                   const __m256d q_tmp_0_3 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 3],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 3],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 3],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 3]));
+                   const __m256d q_tmp_0_4 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 4],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 4],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 4],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 4]));
+                   const __m256d q_tmp_0_5 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 5],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 5],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 5],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 5]));
+                   const __m256d q_tmp_0_6 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 6],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 6],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 6],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 6]));
+                   const __m256d q_tmp_0_7 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 7],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 7],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 7],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 7]));
+                   const __m256d q_tmp_0_8 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 8],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 8],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 8],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 8]));
+                   const __m256d q_tmp_0_9 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 9],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 9],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 9],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 9]));
+                   const __m256d q_tmp_1_0 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 10],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 10],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 10],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 10]));
+                   const __m256d q_tmp_1_1 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 11],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 11],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 11],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 11]));
+                   const __m256d q_tmp_1_2 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 12],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 12],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 12],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 12]));
+                   const __m256d q_tmp_1_3 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 13],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 13],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 13],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 13]));
+                   const __m256d q_tmp_1_4 = tmp_qloop_12;
+                   const __m256d q_tmp_1_5 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 15],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 15],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 15],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 15]));
+                   const __m256d q_tmp_1_6 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 16],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 16],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 16],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 16]));
+                   const __m256d q_tmp_1_7 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 17],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 17],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 17],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 17]));
+                   const __m256d q_tmp_1_8 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 18],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 18],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 18],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 18]));
+                   const __m256d q_tmp_1_9 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 19],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 19],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 19],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 19]));
+                   const __m256d q_tmp_2_0 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 20],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 20],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 20],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 20]));
+                   const __m256d q_tmp_2_1 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 21],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 21],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 21],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 21]));
+                   const __m256d q_tmp_2_2 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 22],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 22],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 22],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 22]));
+                   const __m256d q_tmp_2_3 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 23],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 23],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 23],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 23]));
+                   const __m256d q_tmp_2_4 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 24],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 24],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 24],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 24]));
+                   const __m256d q_tmp_2_5 = tmp_qloop_12;
+                   const __m256d q_tmp_2_6 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 25],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 25],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 25],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 25]));
+                   const __m256d q_tmp_2_7 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 26],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 26],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 26],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 26]));
+                   const __m256d q_tmp_2_8 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 27],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 27],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 27],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 27]));
+                   const __m256d q_tmp_2_9 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 28],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 28],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 28],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 28]));
+                   const __m256d q_tmp_3_0 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 29],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 29],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 29],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 29]));
+                   const __m256d q_tmp_3_1 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 30],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 30],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 30],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 30]));
+                   const __m256d q_tmp_3_2 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 31],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 31],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 31],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 31]));
+                   const __m256d q_tmp_3_3 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 32],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 32],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 32],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 32]));
+                   const __m256d q_tmp_3_4 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 33],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 33],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 33],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 33]));
+                   const __m256d q_tmp_3_5 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 34],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 34],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 34],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 34]));
+                   const __m256d q_tmp_3_6 = tmp_qloop_12;
+                   const __m256d q_tmp_3_7 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 35],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 35],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 35],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 35]));
+                   const __m256d q_tmp_3_8 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 36],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 36],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 36],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 36]));
+                   const __m256d q_tmp_3_9 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 37],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 37],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 37],_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 37]));
+                   q_acc_0_0 = _mm256_add_pd(q_acc_0_0,q_tmp_0_0);
+                   q_acc_0_1 = _mm256_add_pd(q_acc_0_1,q_tmp_0_1);
+                   q_acc_0_2 = _mm256_add_pd(q_acc_0_2,q_tmp_0_2);
+                   q_acc_0_3 = _mm256_add_pd(q_acc_0_3,q_tmp_0_3);
+                   q_acc_0_4 = _mm256_add_pd(q_acc_0_4,q_tmp_0_4);
+                   q_acc_0_5 = _mm256_add_pd(q_acc_0_5,q_tmp_0_5);
+                   q_acc_0_6 = _mm256_add_pd(q_acc_0_6,q_tmp_0_6);
+                   q_acc_0_7 = _mm256_add_pd(q_acc_0_7,q_tmp_0_7);
+                   q_acc_0_8 = _mm256_add_pd(q_acc_0_8,q_tmp_0_8);
+                   q_acc_0_9 = _mm256_add_pd(q_acc_0_9,q_tmp_0_9);
+                   q_acc_1_0 = _mm256_add_pd(q_acc_1_0,q_tmp_1_0);
+                   q_acc_1_1 = _mm256_add_pd(q_acc_1_1,q_tmp_1_1);
+                   q_acc_1_2 = _mm256_add_pd(q_acc_1_2,q_tmp_1_2);
+                   q_acc_1_3 = _mm256_add_pd(q_acc_1_3,q_tmp_1_3);
+                   q_acc_1_4 = _mm256_add_pd(q_acc_1_4,q_tmp_1_4);
+                   q_acc_1_5 = _mm256_add_pd(q_acc_1_5,q_tmp_1_5);
+                   q_acc_1_6 = _mm256_add_pd(q_acc_1_6,q_tmp_1_6);
+                   q_acc_1_7 = _mm256_add_pd(q_acc_1_7,q_tmp_1_7);
+                   q_acc_1_8 = _mm256_add_pd(q_acc_1_8,q_tmp_1_8);
+                   q_acc_1_9 = _mm256_add_pd(q_acc_1_9,q_tmp_1_9);
+                   q_acc_2_0 = _mm256_add_pd(q_acc_2_0,q_tmp_2_0);
+                   q_acc_2_1 = _mm256_add_pd(q_acc_2_1,q_tmp_2_1);
+                   q_acc_2_2 = _mm256_add_pd(q_acc_2_2,q_tmp_2_2);
+                   q_acc_2_3 = _mm256_add_pd(q_acc_2_3,q_tmp_2_3);
+                   q_acc_2_4 = _mm256_add_pd(q_acc_2_4,q_tmp_2_4);
+                   q_acc_2_5 = _mm256_add_pd(q_acc_2_5,q_tmp_2_5);
+                   q_acc_2_6 = _mm256_add_pd(q_acc_2_6,q_tmp_2_6);
+                   q_acc_2_7 = _mm256_add_pd(q_acc_2_7,q_tmp_2_7);
+                   q_acc_2_8 = _mm256_add_pd(q_acc_2_8,q_tmp_2_8);
+                   q_acc_2_9 = _mm256_add_pd(q_acc_2_9,q_tmp_2_9);
+                   q_acc_3_0 = _mm256_add_pd(q_acc_3_0,q_tmp_3_0);
+                   q_acc_3_1 = _mm256_add_pd(q_acc_3_1,q_tmp_3_1);
+                   q_acc_3_2 = _mm256_add_pd(q_acc_3_2,q_tmp_3_2);
+                   q_acc_3_3 = _mm256_add_pd(q_acc_3_3,q_tmp_3_3);
+                   q_acc_3_4 = _mm256_add_pd(q_acc_3_4,q_tmp_3_4);
+                   q_acc_3_5 = _mm256_add_pd(q_acc_3_5,q_tmp_3_5);
+                   q_acc_3_6 = _mm256_add_pd(q_acc_3_6,q_tmp_3_6);
+                   q_acc_3_7 = _mm256_add_pd(q_acc_3_7,q_tmp_3_7);
+                   q_acc_3_8 = _mm256_add_pd(q_acc_3_8,q_tmp_3_8);
+                   q_acc_3_9 = _mm256_add_pd(q_acc_3_9,q_tmp_3_9);
+                }
+                const __m256d elMatVec_0 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(q_acc_0_0,src_dof_0),_mm256_mul_pd(q_acc_0_1,src_dof_1)),_mm256_mul_pd(q_acc_0_2,src_dof_2)),_mm256_mul_pd(q_acc_0_3,src_dof_3)),_mm256_mul_pd(q_acc_0_4,src_dof_4)),_mm256_mul_pd(q_acc_0_5,src_dof_5)),_mm256_mul_pd(q_acc_0_6,src_dof_6)),_mm256_mul_pd(q_acc_0_7,src_dof_7)),_mm256_mul_pd(q_acc_0_8,src_dof_8)),_mm256_mul_pd(q_acc_0_9,src_dof_9));
+                const __m256d elMatVec_1 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(q_acc_1_0,src_dof_0),_mm256_mul_pd(q_acc_1_1,src_dof_1)),_mm256_mul_pd(q_acc_1_2,src_dof_2)),_mm256_mul_pd(q_acc_1_3,src_dof_3)),_mm256_mul_pd(q_acc_1_4,src_dof_4)),_mm256_mul_pd(q_acc_1_5,src_dof_5)),_mm256_mul_pd(q_acc_1_6,src_dof_6)),_mm256_mul_pd(q_acc_1_7,src_dof_7)),_mm256_mul_pd(q_acc_1_8,src_dof_8)),_mm256_mul_pd(q_acc_1_9,src_dof_9));
+                const __m256d elMatVec_2 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(q_acc_2_0,src_dof_0),_mm256_mul_pd(q_acc_2_1,src_dof_1)),_mm256_mul_pd(q_acc_2_2,src_dof_2)),_mm256_mul_pd(q_acc_2_3,src_dof_3)),_mm256_mul_pd(q_acc_2_4,src_dof_4)),_mm256_mul_pd(q_acc_2_5,src_dof_5)),_mm256_mul_pd(q_acc_2_6,src_dof_6)),_mm256_mul_pd(q_acc_2_7,src_dof_7)),_mm256_mul_pd(q_acc_2_8,src_dof_8)),_mm256_mul_pd(q_acc_2_9,src_dof_9));
+                const __m256d elMatVec_3 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(q_acc_3_0,src_dof_0),_mm256_mul_pd(q_acc_3_1,src_dof_1)),_mm256_mul_pd(q_acc_3_2,src_dof_2)),_mm256_mul_pd(q_acc_3_3,src_dof_3)),_mm256_mul_pd(q_acc_3_4,src_dof_4)),_mm256_mul_pd(q_acc_3_5,src_dof_5)),_mm256_mul_pd(q_acc_3_6,src_dof_6)),_mm256_mul_pd(q_acc_3_7,src_dof_7)),_mm256_mul_pd(q_acc_3_8,src_dof_8)),_mm256_mul_pd(q_acc_3_9,src_dof_9));
+                _mm256_storeu_pd(&_data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))],_mm256_add_pd(elMatVec_0,_mm256_loadu_pd(& _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))])));
+                _mm256_storeu_pd(&_data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1],_mm256_add_pd(elMatVec_1,_mm256_loadu_pd(& _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1])));
+                _mm256_storeu_pd(&_data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))],_mm256_add_pd(elMatVec_2,_mm256_loadu_pd(& _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))])));
+                _mm256_storeu_pd(&_data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))],_mm256_add_pd(elMatVec_3,_mm256_loadu_pd(& _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))])));
+             }
+             for (int64_t ctr_0 = (int64_t)((-ctr_1 - ctr_2 + micro_edges_per_macro_edge) / (4)) * (4); ctr_0 < -ctr_1 - ctr_2 + micro_edges_per_macro_edge; ctr_0 += 1)
+             {
+                const real_t src_dof_0 = _data_srcVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))];
+                const real_t src_dof_1 = _data_srcVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1];
+                const real_t src_dof_2 = _data_srcVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))];
+                const real_t src_dof_3 = _data_srcVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))];
+                const real_t src_dof_4 = _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))];
+                const real_t src_dof_5 = _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 5*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))];
+                const real_t src_dof_6 = _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))];
+                const real_t src_dof_7 = _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))];
+                const real_t src_dof_8 = _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 2*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))];
+                const real_t src_dof_9 = _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))];
+                const real_t k_dof_0 = _data_kVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))];
+                const real_t k_dof_1 = _data_kVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1];
+                const real_t k_dof_2 = _data_kVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))];
+                const real_t k_dof_3 = _data_kVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))];
+                const real_t k_dof_4 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))];
+                const real_t k_dof_5 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 5*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))];
+                const real_t k_dof_6 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))];
+                const real_t k_dof_7 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))];
+                const real_t k_dof_8 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 2*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))];
+                const real_t k_dof_9 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))];
+                real_t q_acc_0_0 = 0.0;
+                real_t q_acc_0_1 = 0.0;
+                real_t q_acc_0_2 = 0.0;
+                real_t q_acc_0_3 = 0.0;
+                real_t q_acc_0_4 = 0.0;
+                real_t q_acc_0_5 = 0.0;
+                real_t q_acc_0_6 = 0.0;
+                real_t q_acc_0_7 = 0.0;
+                real_t q_acc_0_8 = 0.0;
+                real_t q_acc_0_9 = 0.0;
+                real_t q_acc_1_0 = 0.0;
+                real_t q_acc_1_1 = 0.0;
+                real_t q_acc_1_2 = 0.0;
+                real_t q_acc_1_3 = 0.0;
+                real_t q_acc_1_4 = 0.0;
+                real_t q_acc_1_5 = 0.0;
+                real_t q_acc_1_6 = 0.0;
+                real_t q_acc_1_7 = 0.0;
+                real_t q_acc_1_8 = 0.0;
+                real_t q_acc_1_9 = 0.0;
+                real_t q_acc_2_0 = 0.0;
+                real_t q_acc_2_1 = 0.0;
+                real_t q_acc_2_2 = 0.0;
+                real_t q_acc_2_3 = 0.0;
+                real_t q_acc_2_4 = 0.0;
+                real_t q_acc_2_5 = 0.0;
+                real_t q_acc_2_6 = 0.0;
+                real_t q_acc_2_7 = 0.0;
+                real_t q_acc_2_8 = 0.0;
+                real_t q_acc_2_9 = 0.0;
+                real_t q_acc_3_0 = 0.0;
+                real_t q_acc_3_1 = 0.0;
+                real_t q_acc_3_2 = 0.0;
+                real_t q_acc_3_3 = 0.0;
+                real_t q_acc_3_4 = 0.0;
+                real_t q_acc_3_5 = 0.0;
+                real_t q_acc_3_6 = 0.0;
+                real_t q_acc_3_7 = 0.0;
+                real_t q_acc_3_8 = 0.0;
+                real_t q_acc_3_9 = 0.0;
+                for (int64_t q = 0; q < 5; q += 1)
+                {
+                   const real_t tmp_qloop_0 = 4.0*_data_q_p_0[q];
+                   const real_t tmp_qloop_1 = tmp_qloop_0*_data_q_p_1[q];
+                   const real_t tmp_qloop_2 = tmp_qloop_0*_data_q_p_2[q];
+                   const real_t tmp_qloop_3 = 4.0*_data_q_p_1[q]*_data_q_p_2[q];
+                   const real_t tmp_qloop_4 = (_data_q_p_0[q]*_data_q_p_0[q]);
+                   const real_t tmp_qloop_5 = tmp_qloop_4*2.0;
+                   const real_t tmp_qloop_6 = (_data_q_p_1[q]*_data_q_p_1[q]);
+                   const real_t tmp_qloop_7 = tmp_qloop_6*2.0;
+                   const real_t tmp_qloop_8 = (_data_q_p_2[q]*_data_q_p_2[q]);
+                   const real_t tmp_qloop_9 = tmp_qloop_8*2.0;
+                   const real_t tmp_qloop_10 = tmp_qloop_1 + tmp_qloop_2;
+                   const real_t tmp_qloop_11 = (k_dof_0*(tmp_qloop_10 + tmp_qloop_3 + tmp_qloop_5 + tmp_qloop_7 + tmp_qloop_9 - 3.0*_data_q_p_0[q] - 3.0*_data_q_p_1[q] - 3.0*_data_q_p_2[q] + 1.0) + k_dof_1*(tmp_qloop_5 - _data_q_p_0[q]) + k_dof_2*(tmp_qloop_7 - _data_q_p_1[q]) + k_dof_3*(tmp_qloop_9 - _data_q_p_2[q]) + k_dof_4*tmp_qloop_3 + k_dof_5*tmp_qloop_2 + k_dof_6*tmp_qloop_1 + k_dof_7*(-tmp_qloop_2 - tmp_qloop_3 + tmp_qloop_8*-4.0 + 4.0*_data_q_p_2[q]) + k_dof_8*(-tmp_qloop_1 - tmp_qloop_3 + tmp_qloop_6*-4.0 + 4.0*_data_q_p_1[q]) + k_dof_9*(-tmp_qloop_10 + tmp_qloop_4*-4.0 + 4.0*_data_q_p_0[q]))*_data_q_w[q];
+                   const real_t tmp_qloop_12 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 14];
+                   const real_t q_tmp_0_0 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q];
+                   const real_t q_tmp_0_1 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 1];
+                   const real_t q_tmp_0_2 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 2];
+                   const real_t q_tmp_0_3 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 3];
+                   const real_t q_tmp_0_4 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 4];
+                   const real_t q_tmp_0_5 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 5];
+                   const real_t q_tmp_0_6 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 6];
+                   const real_t q_tmp_0_7 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 7];
+                   const real_t q_tmp_0_8 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 8];
+                   const real_t q_tmp_0_9 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 9];
+                   const real_t q_tmp_1_0 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 10];
+                   const real_t q_tmp_1_1 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 11];
+                   const real_t q_tmp_1_2 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 12];
+                   const real_t q_tmp_1_3 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 13];
+                   const real_t q_tmp_1_4 = tmp_qloop_12;
+                   const real_t q_tmp_1_5 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 15];
+                   const real_t q_tmp_1_6 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 16];
+                   const real_t q_tmp_1_7 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 17];
+                   const real_t q_tmp_1_8 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 18];
+                   const real_t q_tmp_1_9 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 19];
+                   const real_t q_tmp_2_0 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 20];
+                   const real_t q_tmp_2_1 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 21];
+                   const real_t q_tmp_2_2 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 22];
+                   const real_t q_tmp_2_3 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 23];
+                   const real_t q_tmp_2_4 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 24];
+                   const real_t q_tmp_2_5 = tmp_qloop_12;
+                   const real_t q_tmp_2_6 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 25];
+                   const real_t q_tmp_2_7 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 26];
+                   const real_t q_tmp_2_8 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 27];
+                   const real_t q_tmp_2_9 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 28];
+                   const real_t q_tmp_3_0 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 29];
+                   const real_t q_tmp_3_1 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 30];
+                   const real_t q_tmp_3_2 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 31];
+                   const real_t q_tmp_3_3 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 32];
+                   const real_t q_tmp_3_4 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 33];
+                   const real_t q_tmp_3_5 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 34];
+                   const real_t q_tmp_3_6 = tmp_qloop_12;
+                   const real_t q_tmp_3_7 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 35];
+                   const real_t q_tmp_3_8 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 36];
+                   const real_t q_tmp_3_9 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 37];
+                   q_acc_0_0 = q_acc_0_0 + q_tmp_0_0;
+                   q_acc_0_1 = q_acc_0_1 + q_tmp_0_1;
+                   q_acc_0_2 = q_acc_0_2 + q_tmp_0_2;
+                   q_acc_0_3 = q_acc_0_3 + q_tmp_0_3;
+                   q_acc_0_4 = q_acc_0_4 + q_tmp_0_4;
+                   q_acc_0_5 = q_acc_0_5 + q_tmp_0_5;
+                   q_acc_0_6 = q_acc_0_6 + q_tmp_0_6;
+                   q_acc_0_7 = q_acc_0_7 + q_tmp_0_7;
+                   q_acc_0_8 = q_acc_0_8 + q_tmp_0_8;
+                   q_acc_0_9 = q_acc_0_9 + q_tmp_0_9;
+                   q_acc_1_0 = q_acc_1_0 + q_tmp_1_0;
+                   q_acc_1_1 = q_acc_1_1 + q_tmp_1_1;
+                   q_acc_1_2 = q_acc_1_2 + q_tmp_1_2;
+                   q_acc_1_3 = q_acc_1_3 + q_tmp_1_3;
+                   q_acc_1_4 = q_acc_1_4 + q_tmp_1_4;
+                   q_acc_1_5 = q_acc_1_5 + q_tmp_1_5;
+                   q_acc_1_6 = q_acc_1_6 + q_tmp_1_6;
+                   q_acc_1_7 = q_acc_1_7 + q_tmp_1_7;
+                   q_acc_1_8 = q_acc_1_8 + q_tmp_1_8;
+                   q_acc_1_9 = q_acc_1_9 + q_tmp_1_9;
+                   q_acc_2_0 = q_acc_2_0 + q_tmp_2_0;
+                   q_acc_2_1 = q_acc_2_1 + q_tmp_2_1;
+                   q_acc_2_2 = q_acc_2_2 + q_tmp_2_2;
+                   q_acc_2_3 = q_acc_2_3 + q_tmp_2_3;
+                   q_acc_2_4 = q_acc_2_4 + q_tmp_2_4;
+                   q_acc_2_5 = q_acc_2_5 + q_tmp_2_5;
+                   q_acc_2_6 = q_acc_2_6 + q_tmp_2_6;
+                   q_acc_2_7 = q_acc_2_7 + q_tmp_2_7;
+                   q_acc_2_8 = q_acc_2_8 + q_tmp_2_8;
+                   q_acc_2_9 = q_acc_2_9 + q_tmp_2_9;
+                   q_acc_3_0 = q_acc_3_0 + q_tmp_3_0;
+                   q_acc_3_1 = q_acc_3_1 + q_tmp_3_1;
+                   q_acc_3_2 = q_acc_3_2 + q_tmp_3_2;
+                   q_acc_3_3 = q_acc_3_3 + q_tmp_3_3;
+                   q_acc_3_4 = q_acc_3_4 + q_tmp_3_4;
+                   q_acc_3_5 = q_acc_3_5 + q_tmp_3_5;
+                   q_acc_3_6 = q_acc_3_6 + q_tmp_3_6;
+                   q_acc_3_7 = q_acc_3_7 + q_tmp_3_7;
+                   q_acc_3_8 = q_acc_3_8 + q_tmp_3_8;
+                   q_acc_3_9 = q_acc_3_9 + q_tmp_3_9;
+                }
+                const real_t elMatVec_0 = q_acc_0_0*src_dof_0 + q_acc_0_1*src_dof_1 + q_acc_0_2*src_dof_2 + q_acc_0_3*src_dof_3 + q_acc_0_4*src_dof_4 + q_acc_0_5*src_dof_5 + q_acc_0_6*src_dof_6 + q_acc_0_7*src_dof_7 + q_acc_0_8*src_dof_8 + q_acc_0_9*src_dof_9;
+                const real_t elMatVec_1 = q_acc_1_0*src_dof_0 + q_acc_1_1*src_dof_1 + q_acc_1_2*src_dof_2 + q_acc_1_3*src_dof_3 + q_acc_1_4*src_dof_4 + q_acc_1_5*src_dof_5 + q_acc_1_6*src_dof_6 + q_acc_1_7*src_dof_7 + q_acc_1_8*src_dof_8 + q_acc_1_9*src_dof_9;
+                const real_t elMatVec_2 = q_acc_2_0*src_dof_0 + q_acc_2_1*src_dof_1 + q_acc_2_2*src_dof_2 + q_acc_2_3*src_dof_3 + q_acc_2_4*src_dof_4 + q_acc_2_5*src_dof_5 + q_acc_2_6*src_dof_6 + q_acc_2_7*src_dof_7 + q_acc_2_8*src_dof_8 + q_acc_2_9*src_dof_9;
+                const real_t elMatVec_3 = q_acc_3_0*src_dof_0 + q_acc_3_1*src_dof_1 + q_acc_3_2*src_dof_2 + q_acc_3_3*src_dof_3 + q_acc_3_4*src_dof_4 + q_acc_3_5*src_dof_5 + q_acc_3_6*src_dof_6 + q_acc_3_7*src_dof_7 + q_acc_3_8*src_dof_8 + q_acc_3_9*src_dof_9;
+                _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))] = elMatVec_0 + _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))];
+                _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1] = elMatVec_1 + _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1];
+                _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))] = elMatVec_2 + _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))];
+                _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))] = elMatVec_3 + _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))];
+             }
+          }
+       }
+       const real_t tmp_coords_jac_0_WHITE_DOWN = 1.0 / (micro_edges_per_macro_edge_float)*1.0;
+       const real_t tmp_coords_jac_1_WHITE_DOWN = tmp_coords_jac_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0);
+       const real_t tmp_coords_jac_2_WHITE_DOWN = macro_vertex_coord_id_0comp0 + tmp_coords_jac_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0);
+       const real_t tmp_coords_jac_3_WHITE_DOWN = tmp_coords_jac_1_WHITE_DOWN + tmp_coords_jac_2_WHITE_DOWN;
+       const real_t tmp_coords_jac_4_WHITE_DOWN = tmp_coords_jac_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1);
+       const real_t tmp_coords_jac_5_WHITE_DOWN = macro_vertex_coord_id_0comp1 + tmp_coords_jac_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1);
+       const real_t tmp_coords_jac_6_WHITE_DOWN = tmp_coords_jac_4_WHITE_DOWN + tmp_coords_jac_5_WHITE_DOWN;
+       const real_t tmp_coords_jac_7_WHITE_DOWN = tmp_coords_jac_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2);
+       const real_t tmp_coords_jac_8_WHITE_DOWN = macro_vertex_coord_id_0comp2 + tmp_coords_jac_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2);
+       const real_t tmp_coords_jac_9_WHITE_DOWN = tmp_coords_jac_7_WHITE_DOWN + tmp_coords_jac_8_WHITE_DOWN;
+       const real_t tmp_coords_jac_10_WHITE_DOWN = tmp_coords_jac_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0);
+       const real_t tmp_coords_jac_11_WHITE_DOWN = tmp_coords_jac_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1);
+       const real_t tmp_coords_jac_12_WHITE_DOWN = tmp_coords_jac_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2);
+       const real_t p_affine_const_0_0_WHITE_DOWN = tmp_coords_jac_3_WHITE_DOWN;
+       const real_t p_affine_const_0_1_WHITE_DOWN = tmp_coords_jac_6_WHITE_DOWN;
+       const real_t p_affine_const_0_2_WHITE_DOWN = tmp_coords_jac_9_WHITE_DOWN;
+       const real_t p_affine_const_1_0_WHITE_DOWN = tmp_coords_jac_10_WHITE_DOWN + tmp_coords_jac_2_WHITE_DOWN;
+       const real_t p_affine_const_1_1_WHITE_DOWN = tmp_coords_jac_11_WHITE_DOWN + tmp_coords_jac_5_WHITE_DOWN;
+       const real_t p_affine_const_1_2_WHITE_DOWN = tmp_coords_jac_12_WHITE_DOWN + tmp_coords_jac_8_WHITE_DOWN;
+       const real_t p_affine_const_2_0_WHITE_DOWN = macro_vertex_coord_id_0comp0 + tmp_coords_jac_10_WHITE_DOWN + tmp_coords_jac_1_WHITE_DOWN;
+       const real_t p_affine_const_2_1_WHITE_DOWN = macro_vertex_coord_id_0comp1 + tmp_coords_jac_11_WHITE_DOWN + tmp_coords_jac_4_WHITE_DOWN;
+       const real_t p_affine_const_2_2_WHITE_DOWN = macro_vertex_coord_id_0comp2 + tmp_coords_jac_12_WHITE_DOWN + tmp_coords_jac_7_WHITE_DOWN;
+       const real_t p_affine_const_3_0_WHITE_DOWN = tmp_coords_jac_10_WHITE_DOWN + tmp_coords_jac_3_WHITE_DOWN;
+       const real_t p_affine_const_3_1_WHITE_DOWN = tmp_coords_jac_11_WHITE_DOWN + tmp_coords_jac_6_WHITE_DOWN;
+       const real_t p_affine_const_3_2_WHITE_DOWN = tmp_coords_jac_12_WHITE_DOWN + tmp_coords_jac_9_WHITE_DOWN;
+       const real_t jac_affine_0_0_WHITE_DOWN = -p_affine_const_0_0_WHITE_DOWN + p_affine_const_1_0_WHITE_DOWN;
+       const real_t jac_affine_0_1_WHITE_DOWN = -p_affine_const_0_0_WHITE_DOWN + p_affine_const_2_0_WHITE_DOWN;
+       const real_t jac_affine_0_2_WHITE_DOWN = -p_affine_const_0_0_WHITE_DOWN + p_affine_const_3_0_WHITE_DOWN;
+       const real_t jac_affine_1_0_WHITE_DOWN = -p_affine_const_0_1_WHITE_DOWN + p_affine_const_1_1_WHITE_DOWN;
+       const real_t jac_affine_1_1_WHITE_DOWN = -p_affine_const_0_1_WHITE_DOWN + p_affine_const_2_1_WHITE_DOWN;
+       const real_t jac_affine_1_2_WHITE_DOWN = -p_affine_const_0_1_WHITE_DOWN + p_affine_const_3_1_WHITE_DOWN;
+       const real_t jac_affine_2_0_WHITE_DOWN = -p_affine_const_0_2_WHITE_DOWN + p_affine_const_1_2_WHITE_DOWN;
+       const real_t jac_affine_2_1_WHITE_DOWN = -p_affine_const_0_2_WHITE_DOWN + p_affine_const_2_2_WHITE_DOWN;
+       const real_t jac_affine_2_2_WHITE_DOWN = -p_affine_const_0_2_WHITE_DOWN + p_affine_const_3_2_WHITE_DOWN;
+       const real_t abs_det_jac_affine_WHITE_DOWN = abs(jac_affine_0_0_WHITE_DOWN*jac_affine_1_1_WHITE_DOWN*jac_affine_2_2_WHITE_DOWN - jac_affine_0_0_WHITE_DOWN*jac_affine_1_2_WHITE_DOWN*jac_affine_2_1_WHITE_DOWN - jac_affine_0_1_WHITE_DOWN*jac_affine_1_0_WHITE_DOWN*jac_affine_2_2_WHITE_DOWN + jac_affine_0_1_WHITE_DOWN*jac_affine_1_2_WHITE_DOWN*jac_affine_2_0_WHITE_DOWN + jac_affine_0_2_WHITE_DOWN*jac_affine_1_0_WHITE_DOWN*jac_affine_2_1_WHITE_DOWN - jac_affine_0_2_WHITE_DOWN*jac_affine_1_1_WHITE_DOWN*jac_affine_2_0_WHITE_DOWN);
+       {
+          /* CellType.WHITE_DOWN */
+          const real_t _data_phi_psi_jac_affine_det_0_0_WHITE_DOWN [] = {((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.018518518518518524)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.018518518518518524)), 0.0, ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.05555555555555558)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.05555555555555558)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.018518518518518524)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.055555555555555594)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.018518518518518535)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.018518518518518535)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.018518518518518507)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.018518518518518517)), 0.0, ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.055555555555555552)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.055555555555555552)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.055555555555555566)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.018518518518518524)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.018518518518518524)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.018518518518518507)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.018518518518518517)), 0.0, ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.055555555555555552)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.055555555555555566)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.018518518518518524)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.018518518518518524)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.055555555555555525)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.055555555555555552)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.055555555555555552)), 0.0, ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.16666666666666666)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.16666666666666666)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.16666666666666671)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.05555555555555558)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.05555555555555558)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.018518518518518531)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.018518518518518521)), 0.0, ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.018518518518518521)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.055555555555555566)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.018518518518518521)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.055555555555555566)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.018518518518518531)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.055555555555555587)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.018518518518518531)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.018518518518518524)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.018518518518518517)), 0.0, ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.055555555555555552)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.055555555555555552)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.018518518518518524)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.055555555555555566)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.018518518518518524)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.05555555555555558)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.055555555555555552)), 0.0, ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.055555555555555552)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.16666666666666666)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.16666666666666666)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.05555555555555558)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.16666666666666671)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.05555555555555558)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.018518518518518524)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.018518518518518517)), 0.0, ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.055555555555555552)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.018518518518518524)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.055555555555555566)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.018518518518518524)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.018518518518518531)), 0.0, ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.018518518518518521)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.018518518518518521)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.018518518518518521)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.055555555555555566)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.055555555555555566)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.018518518518518531)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.018518518518518531)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.055555555555555587)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.05555555555555558)), 0.0, ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.055555555555555552)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.055555555555555552)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.055555555555555552)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.16666666666666666)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.16666666666666666)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.05555555555555558)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.05555555555555558)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.16666666666666671)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.018518518518518524)), 0.0, ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.055555555555555552)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.018518518518518524)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.018518518518518524)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.055555555555555566)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.018518518518518524)), 0.0, ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.055555555555555552)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.018518518518518524)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.018518518518518524)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.055555555555555566)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*2.775557561562892e-17)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.055555555555555566)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.055555555555555566)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.055555555555555566)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.055555555555555566)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.055555555555555566)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.055555555555555566)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.16666666666666671)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.16666666666666671)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.16666666666666671)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*9.2518585385429707e-18)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.055555555555555559)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.055555555555555559)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.055555555555555559)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*9.2518585385429707e-18)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.055555555555555559)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.055555555555555559)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.055555555555555559)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*9.2518585385429707e-18)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.055555555555555559)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.055555555555555559)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.055555555555555559))};
+      
+          for (int64_t ctr_2 = 0; ctr_2 < micro_edges_per_macro_edge; ctr_2 += 1)
+          for (int64_t ctr_1 = 0; ctr_1 < -ctr_2 + micro_edges_per_macro_edge; ctr_1 += 1)
+          {
+             for (int64_t ctr_0 = 0; ctr_0 < (int64_t)((-ctr_1 - ctr_2 + micro_edges_per_macro_edge - 2) / (4)) * (4); ctr_0 += 4)
+             {
+                const __m256d src_dof_0 = _mm256_loadu_pd(& _data_srcVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]);
+                const __m256d src_dof_1 = _mm256_loadu_pd(& _data_srcVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]);
+                const __m256d src_dof_2 = _mm256_loadu_pd(& _data_srcVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]);
+                const __m256d src_dof_3 = _mm256_loadu_pd(& _data_srcVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]);
+                const __m256d src_dof_4 = _mm256_loadu_pd(& _data_srcEdge[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]);
+                const __m256d src_dof_5 = _mm256_loadu_pd(& _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + 2*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6)) + 1]);
+                const __m256d src_dof_6 = _mm256_loadu_pd(& _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]);
+                const __m256d src_dof_7 = _mm256_loadu_pd(& _data_srcEdge[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1]);
+                const __m256d src_dof_8 = _mm256_loadu_pd(& _data_srcEdge[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 5*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]);
+                const __m256d src_dof_9 = _mm256_loadu_pd(& _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1]);
+                const __m256d k_dof_0 = _mm256_loadu_pd(& _data_kVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]);
+                const __m256d k_dof_1 = _mm256_loadu_pd(& _data_kVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]);
+                const __m256d k_dof_2 = _mm256_loadu_pd(& _data_kVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]);
+                const __m256d k_dof_3 = _mm256_loadu_pd(& _data_kVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]);
+                const __m256d k_dof_4 = _mm256_loadu_pd(& _data_kEdge[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]);
+                const __m256d k_dof_5 = _mm256_loadu_pd(& _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + 2*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6)) + 1]);
+                const __m256d k_dof_6 = _mm256_loadu_pd(& _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]);
+                const __m256d k_dof_7 = _mm256_loadu_pd(& _data_kEdge[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1]);
+                const __m256d k_dof_8 = _mm256_loadu_pd(& _data_kEdge[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 5*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]);
+                const __m256d k_dof_9 = _mm256_loadu_pd(& _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1]);
+                __m256d q_acc_0_0 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_0_1 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_0_2 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_0_3 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_0_4 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_0_5 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_0_6 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_0_7 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_0_8 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_0_9 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_1_0 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_1_1 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_1_2 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_1_3 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_1_4 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_1_5 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_1_6 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_1_7 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_1_8 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_1_9 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_2_0 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_2_1 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_2_2 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_2_3 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_2_4 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_2_5 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_2_6 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_2_7 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_2_8 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_2_9 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_3_0 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_3_1 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_3_2 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_3_3 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_3_4 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_3_5 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_3_6 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_3_7 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_3_8 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_3_9 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                for (int64_t q = 0; q < 5; q += 1)
+                {
+                   const __m256d tmp_qloop_0 = _mm256_mul_pd(_mm256_set_pd(4.0,4.0,4.0,4.0),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q]));
+                   const __m256d tmp_qloop_1 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q]));
+                   const __m256d tmp_qloop_2 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q]));
+                   const __m256d tmp_qloop_3 = _mm256_mul_pd(_mm256_mul_pd(_mm256_set_pd(4.0,4.0,4.0,4.0),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q])),_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q]));
+                   const __m256d tmp_qloop_4 = _mm256_mul_pd(_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q]),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q]));
+                   const __m256d tmp_qloop_5 = _mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(2.0,2.0,2.0,2.0));
+                   const __m256d tmp_qloop_6 = _mm256_mul_pd(_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q]),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q]));
+                   const __m256d tmp_qloop_7 = _mm256_mul_pd(tmp_qloop_6,_mm256_set_pd(2.0,2.0,2.0,2.0));
+                   const __m256d tmp_qloop_8 = _mm256_mul_pd(_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q]),_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q]));
+                   const __m256d tmp_qloop_9 = _mm256_mul_pd(tmp_qloop_8,_mm256_set_pd(2.0,2.0,2.0,2.0));
+                   const __m256d tmp_qloop_10 = _mm256_add_pd(tmp_qloop_1,tmp_qloop_2);
+                   const __m256d tmp_qloop_11 = _mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(k_dof_1,_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q])),tmp_qloop_5)),_mm256_mul_pd(k_dof_2,_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q])),tmp_qloop_7))),_mm256_mul_pd(k_dof_3,_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q])),tmp_qloop_9))),_mm256_mul_pd(k_dof_9,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(4.0,4.0,4.0,4.0),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q])),_mm256_mul_pd(tmp_qloop_10,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(-4.0,-4.0,-4.0,-4.0))))),_mm256_mul_pd(k_dof_8,_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(4.0,4.0,4.0,4.0),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q])),_mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_3,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_6,_mm256_set_pd(-4.0,-4.0,-4.0,-4.0))))),_mm256_mul_pd(k_dof_7,_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(4.0,4.0,4.0,4.0),_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q])),_mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_3,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_8,_mm256_set_pd(-4.0,-4.0,-4.0,-4.0))))),_mm256_mul_pd(k_dof_0,_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-3.0,-3.0,-3.0,-3.0),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q])),_mm256_mul_pd(_mm256_set_pd(-3.0,-3.0,-3.0,-3.0),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q]))),_mm256_mul_pd(_mm256_set_pd(-3.0,-3.0,-3.0,-3.0),_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q]))),_mm256_set_pd(1.0,1.0,1.0,1.0)),tmp_qloop_10),tmp_qloop_3),tmp_qloop_5),tmp_qloop_7),tmp_qloop_9))),_mm256_mul_pd(k_dof_4,tmp_qloop_3)),_mm256_mul_pd(k_dof_5,tmp_qloop_2)),_mm256_mul_pd(k_dof_6,tmp_qloop_1)),_mm256_set_pd(_data_q_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q]));
+                   const __m256d tmp_qloop_12 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 14],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 14],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 14],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 14]));
+                   const __m256d q_tmp_0_0 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q]));
+                   const __m256d q_tmp_0_1 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 1],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 1],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 1],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 1]));
+                   const __m256d q_tmp_0_2 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 2],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 2],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 2],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 2]));
+                   const __m256d q_tmp_0_3 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 3],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 3],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 3],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 3]));
+                   const __m256d q_tmp_0_4 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 4],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 4],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 4],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 4]));
+                   const __m256d q_tmp_0_5 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 5],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 5],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 5],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 5]));
+                   const __m256d q_tmp_0_6 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 6],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 6],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 6],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 6]));
+                   const __m256d q_tmp_0_7 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 7],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 7],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 7],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 7]));
+                   const __m256d q_tmp_0_8 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 8],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 8],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 8],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 8]));
+                   const __m256d q_tmp_0_9 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 9],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 9],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 9],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 9]));
+                   const __m256d q_tmp_1_0 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 10],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 10],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 10],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 10]));
+                   const __m256d q_tmp_1_1 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 11],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 11],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 11],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 11]));
+                   const __m256d q_tmp_1_2 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 12],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 12],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 12],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 12]));
+                   const __m256d q_tmp_1_3 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 13],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 13],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 13],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 13]));
+                   const __m256d q_tmp_1_4 = tmp_qloop_12;
+                   const __m256d q_tmp_1_5 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 15],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 15],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 15],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 15]));
+                   const __m256d q_tmp_1_6 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 16],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 16],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 16],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 16]));
+                   const __m256d q_tmp_1_7 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 17],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 17],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 17],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 17]));
+                   const __m256d q_tmp_1_8 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 18],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 18],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 18],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 18]));
+                   const __m256d q_tmp_1_9 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 19],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 19],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 19],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 19]));
+                   const __m256d q_tmp_2_0 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 20],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 20],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 20],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 20]));
+                   const __m256d q_tmp_2_1 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 21],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 21],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 21],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 21]));
+                   const __m256d q_tmp_2_2 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 22],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 22],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 22],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 22]));
+                   const __m256d q_tmp_2_3 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 23],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 23],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 23],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 23]));
+                   const __m256d q_tmp_2_4 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 24],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 24],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 24],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 24]));
+                   const __m256d q_tmp_2_5 = tmp_qloop_12;
+                   const __m256d q_tmp_2_6 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 25],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 25],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 25],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 25]));
+                   const __m256d q_tmp_2_7 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 26],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 26],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 26],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 26]));
+                   const __m256d q_tmp_2_8 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 27],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 27],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 27],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 27]));
+                   const __m256d q_tmp_2_9 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 28],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 28],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 28],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 28]));
+                   const __m256d q_tmp_3_0 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 29],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 29],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 29],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 29]));
+                   const __m256d q_tmp_3_1 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 30],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 30],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 30],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 30]));
+                   const __m256d q_tmp_3_2 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 31],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 31],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 31],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 31]));
+                   const __m256d q_tmp_3_3 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 32],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 32],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 32],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 32]));
+                   const __m256d q_tmp_3_4 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 33],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 33],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 33],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 33]));
+                   const __m256d q_tmp_3_5 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 34],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 34],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 34],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 34]));
+                   const __m256d q_tmp_3_6 = tmp_qloop_12;
+                   const __m256d q_tmp_3_7 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 35],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 35],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 35],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 35]));
+                   const __m256d q_tmp_3_8 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 36],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 36],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 36],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 36]));
+                   const __m256d q_tmp_3_9 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 37],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 37],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 37],_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 37]));
+                   q_acc_0_0 = _mm256_add_pd(q_acc_0_0,q_tmp_0_0);
+                   q_acc_0_1 = _mm256_add_pd(q_acc_0_1,q_tmp_0_1);
+                   q_acc_0_2 = _mm256_add_pd(q_acc_0_2,q_tmp_0_2);
+                   q_acc_0_3 = _mm256_add_pd(q_acc_0_3,q_tmp_0_3);
+                   q_acc_0_4 = _mm256_add_pd(q_acc_0_4,q_tmp_0_4);
+                   q_acc_0_5 = _mm256_add_pd(q_acc_0_5,q_tmp_0_5);
+                   q_acc_0_6 = _mm256_add_pd(q_acc_0_6,q_tmp_0_6);
+                   q_acc_0_7 = _mm256_add_pd(q_acc_0_7,q_tmp_0_7);
+                   q_acc_0_8 = _mm256_add_pd(q_acc_0_8,q_tmp_0_8);
+                   q_acc_0_9 = _mm256_add_pd(q_acc_0_9,q_tmp_0_9);
+                   q_acc_1_0 = _mm256_add_pd(q_acc_1_0,q_tmp_1_0);
+                   q_acc_1_1 = _mm256_add_pd(q_acc_1_1,q_tmp_1_1);
+                   q_acc_1_2 = _mm256_add_pd(q_acc_1_2,q_tmp_1_2);
+                   q_acc_1_3 = _mm256_add_pd(q_acc_1_3,q_tmp_1_3);
+                   q_acc_1_4 = _mm256_add_pd(q_acc_1_4,q_tmp_1_4);
+                   q_acc_1_5 = _mm256_add_pd(q_acc_1_5,q_tmp_1_5);
+                   q_acc_1_6 = _mm256_add_pd(q_acc_1_6,q_tmp_1_6);
+                   q_acc_1_7 = _mm256_add_pd(q_acc_1_7,q_tmp_1_7);
+                   q_acc_1_8 = _mm256_add_pd(q_acc_1_8,q_tmp_1_8);
+                   q_acc_1_9 = _mm256_add_pd(q_acc_1_9,q_tmp_1_9);
+                   q_acc_2_0 = _mm256_add_pd(q_acc_2_0,q_tmp_2_0);
+                   q_acc_2_1 = _mm256_add_pd(q_acc_2_1,q_tmp_2_1);
+                   q_acc_2_2 = _mm256_add_pd(q_acc_2_2,q_tmp_2_2);
+                   q_acc_2_3 = _mm256_add_pd(q_acc_2_3,q_tmp_2_3);
+                   q_acc_2_4 = _mm256_add_pd(q_acc_2_4,q_tmp_2_4);
+                   q_acc_2_5 = _mm256_add_pd(q_acc_2_5,q_tmp_2_5);
+                   q_acc_2_6 = _mm256_add_pd(q_acc_2_6,q_tmp_2_6);
+                   q_acc_2_7 = _mm256_add_pd(q_acc_2_7,q_tmp_2_7);
+                   q_acc_2_8 = _mm256_add_pd(q_acc_2_8,q_tmp_2_8);
+                   q_acc_2_9 = _mm256_add_pd(q_acc_2_9,q_tmp_2_9);
+                   q_acc_3_0 = _mm256_add_pd(q_acc_3_0,q_tmp_3_0);
+                   q_acc_3_1 = _mm256_add_pd(q_acc_3_1,q_tmp_3_1);
+                   q_acc_3_2 = _mm256_add_pd(q_acc_3_2,q_tmp_3_2);
+                   q_acc_3_3 = _mm256_add_pd(q_acc_3_3,q_tmp_3_3);
+                   q_acc_3_4 = _mm256_add_pd(q_acc_3_4,q_tmp_3_4);
+                   q_acc_3_5 = _mm256_add_pd(q_acc_3_5,q_tmp_3_5);
+                   q_acc_3_6 = _mm256_add_pd(q_acc_3_6,q_tmp_3_6);
+                   q_acc_3_7 = _mm256_add_pd(q_acc_3_7,q_tmp_3_7);
+                   q_acc_3_8 = _mm256_add_pd(q_acc_3_8,q_tmp_3_8);
+                   q_acc_3_9 = _mm256_add_pd(q_acc_3_9,q_tmp_3_9);
+                }
+                const __m256d elMatVec_0 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(q_acc_0_0,src_dof_0),_mm256_mul_pd(q_acc_0_1,src_dof_1)),_mm256_mul_pd(q_acc_0_2,src_dof_2)),_mm256_mul_pd(q_acc_0_3,src_dof_3)),_mm256_mul_pd(q_acc_0_4,src_dof_4)),_mm256_mul_pd(q_acc_0_5,src_dof_5)),_mm256_mul_pd(q_acc_0_6,src_dof_6)),_mm256_mul_pd(q_acc_0_7,src_dof_7)),_mm256_mul_pd(q_acc_0_8,src_dof_8)),_mm256_mul_pd(q_acc_0_9,src_dof_9));
+                const __m256d elMatVec_1 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(q_acc_1_0,src_dof_0),_mm256_mul_pd(q_acc_1_1,src_dof_1)),_mm256_mul_pd(q_acc_1_2,src_dof_2)),_mm256_mul_pd(q_acc_1_3,src_dof_3)),_mm256_mul_pd(q_acc_1_4,src_dof_4)),_mm256_mul_pd(q_acc_1_5,src_dof_5)),_mm256_mul_pd(q_acc_1_6,src_dof_6)),_mm256_mul_pd(q_acc_1_7,src_dof_7)),_mm256_mul_pd(q_acc_1_8,src_dof_8)),_mm256_mul_pd(q_acc_1_9,src_dof_9));
+                const __m256d elMatVec_2 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(q_acc_2_0,src_dof_0),_mm256_mul_pd(q_acc_2_1,src_dof_1)),_mm256_mul_pd(q_acc_2_2,src_dof_2)),_mm256_mul_pd(q_acc_2_3,src_dof_3)),_mm256_mul_pd(q_acc_2_4,src_dof_4)),_mm256_mul_pd(q_acc_2_5,src_dof_5)),_mm256_mul_pd(q_acc_2_6,src_dof_6)),_mm256_mul_pd(q_acc_2_7,src_dof_7)),_mm256_mul_pd(q_acc_2_8,src_dof_8)),_mm256_mul_pd(q_acc_2_9,src_dof_9));
+                const __m256d elMatVec_3 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(q_acc_3_0,src_dof_0),_mm256_mul_pd(q_acc_3_1,src_dof_1)),_mm256_mul_pd(q_acc_3_2,src_dof_2)),_mm256_mul_pd(q_acc_3_3,src_dof_3)),_mm256_mul_pd(q_acc_3_4,src_dof_4)),_mm256_mul_pd(q_acc_3_5,src_dof_5)),_mm256_mul_pd(q_acc_3_6,src_dof_6)),_mm256_mul_pd(q_acc_3_7,src_dof_7)),_mm256_mul_pd(q_acc_3_8,src_dof_8)),_mm256_mul_pd(q_acc_3_9,src_dof_9));
+                _mm256_storeu_pd(&_data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1],_mm256_add_pd(elMatVec_0,_mm256_loadu_pd(& _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1])));
+                _mm256_storeu_pd(&_data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1],_mm256_add_pd(elMatVec_1,_mm256_loadu_pd(& _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1])));
+                _mm256_storeu_pd(&_data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))],_mm256_add_pd(elMatVec_2,_mm256_loadu_pd(& _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))])));
+                _mm256_storeu_pd(&_data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1],_mm256_add_pd(elMatVec_3,_mm256_loadu_pd(& _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1])));
+             }
+             for (int64_t ctr_0 = (int64_t)((-ctr_1 - ctr_2 + micro_edges_per_macro_edge - 2) / (4)) * (4); ctr_0 < -ctr_1 - ctr_2 + micro_edges_per_macro_edge - 2; ctr_0 += 1)
+             {
+                const real_t src_dof_0 = _data_srcVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1];
+                const real_t src_dof_1 = _data_srcVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1];
+                const real_t src_dof_2 = _data_srcVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))];
+                const real_t src_dof_3 = _data_srcVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1];
+                const real_t src_dof_4 = _data_srcEdge[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))];
+                const real_t src_dof_5 = _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + 2*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6)) + 1];
+                const real_t src_dof_6 = _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))];
+                const real_t src_dof_7 = _data_srcEdge[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1];
+                const real_t src_dof_8 = _data_srcEdge[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 5*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))];
+                const real_t src_dof_9 = _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1];
+                const real_t k_dof_0 = _data_kVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1];
+                const real_t k_dof_1 = _data_kVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1];
+                const real_t k_dof_2 = _data_kVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))];
+                const real_t k_dof_3 = _data_kVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1];
+                const real_t k_dof_4 = _data_kEdge[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))];
+                const real_t k_dof_5 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + 2*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6)) + 1];
+                const real_t k_dof_6 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))];
+                const real_t k_dof_7 = _data_kEdge[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1];
+                const real_t k_dof_8 = _data_kEdge[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 5*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))];
+                const real_t k_dof_9 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1];
+                real_t q_acc_0_0 = 0.0;
+                real_t q_acc_0_1 = 0.0;
+                real_t q_acc_0_2 = 0.0;
+                real_t q_acc_0_3 = 0.0;
+                real_t q_acc_0_4 = 0.0;
+                real_t q_acc_0_5 = 0.0;
+                real_t q_acc_0_6 = 0.0;
+                real_t q_acc_0_7 = 0.0;
+                real_t q_acc_0_8 = 0.0;
+                real_t q_acc_0_9 = 0.0;
+                real_t q_acc_1_0 = 0.0;
+                real_t q_acc_1_1 = 0.0;
+                real_t q_acc_1_2 = 0.0;
+                real_t q_acc_1_3 = 0.0;
+                real_t q_acc_1_4 = 0.0;
+                real_t q_acc_1_5 = 0.0;
+                real_t q_acc_1_6 = 0.0;
+                real_t q_acc_1_7 = 0.0;
+                real_t q_acc_1_8 = 0.0;
+                real_t q_acc_1_9 = 0.0;
+                real_t q_acc_2_0 = 0.0;
+                real_t q_acc_2_1 = 0.0;
+                real_t q_acc_2_2 = 0.0;
+                real_t q_acc_2_3 = 0.0;
+                real_t q_acc_2_4 = 0.0;
+                real_t q_acc_2_5 = 0.0;
+                real_t q_acc_2_6 = 0.0;
+                real_t q_acc_2_7 = 0.0;
+                real_t q_acc_2_8 = 0.0;
+                real_t q_acc_2_9 = 0.0;
+                real_t q_acc_3_0 = 0.0;
+                real_t q_acc_3_1 = 0.0;
+                real_t q_acc_3_2 = 0.0;
+                real_t q_acc_3_3 = 0.0;
+                real_t q_acc_3_4 = 0.0;
+                real_t q_acc_3_5 = 0.0;
+                real_t q_acc_3_6 = 0.0;
+                real_t q_acc_3_7 = 0.0;
+                real_t q_acc_3_8 = 0.0;
+                real_t q_acc_3_9 = 0.0;
+                for (int64_t q = 0; q < 5; q += 1)
+                {
+                   const real_t tmp_qloop_0 = 4.0*_data_q_p_0[q];
+                   const real_t tmp_qloop_1 = tmp_qloop_0*_data_q_p_1[q];
+                   const real_t tmp_qloop_2 = tmp_qloop_0*_data_q_p_2[q];
+                   const real_t tmp_qloop_3 = 4.0*_data_q_p_1[q]*_data_q_p_2[q];
+                   const real_t tmp_qloop_4 = (_data_q_p_0[q]*_data_q_p_0[q]);
+                   const real_t tmp_qloop_5 = tmp_qloop_4*2.0;
+                   const real_t tmp_qloop_6 = (_data_q_p_1[q]*_data_q_p_1[q]);
+                   const real_t tmp_qloop_7 = tmp_qloop_6*2.0;
+                   const real_t tmp_qloop_8 = (_data_q_p_2[q]*_data_q_p_2[q]);
+                   const real_t tmp_qloop_9 = tmp_qloop_8*2.0;
+                   const real_t tmp_qloop_10 = tmp_qloop_1 + tmp_qloop_2;
+                   const real_t tmp_qloop_11 = (k_dof_0*(tmp_qloop_10 + tmp_qloop_3 + tmp_qloop_5 + tmp_qloop_7 + tmp_qloop_9 - 3.0*_data_q_p_0[q] - 3.0*_data_q_p_1[q] - 3.0*_data_q_p_2[q] + 1.0) + k_dof_1*(tmp_qloop_5 - _data_q_p_0[q]) + k_dof_2*(tmp_qloop_7 - _data_q_p_1[q]) + k_dof_3*(tmp_qloop_9 - _data_q_p_2[q]) + k_dof_4*tmp_qloop_3 + k_dof_5*tmp_qloop_2 + k_dof_6*tmp_qloop_1 + k_dof_7*(-tmp_qloop_2 - tmp_qloop_3 + tmp_qloop_8*-4.0 + 4.0*_data_q_p_2[q]) + k_dof_8*(-tmp_qloop_1 - tmp_qloop_3 + tmp_qloop_6*-4.0 + 4.0*_data_q_p_1[q]) + k_dof_9*(-tmp_qloop_10 + tmp_qloop_4*-4.0 + 4.0*_data_q_p_0[q]))*_data_q_w[q];
+                   const real_t tmp_qloop_12 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 14];
+                   const real_t q_tmp_0_0 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q];
+                   const real_t q_tmp_0_1 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 1];
+                   const real_t q_tmp_0_2 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 2];
+                   const real_t q_tmp_0_3 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 3];
+                   const real_t q_tmp_0_4 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 4];
+                   const real_t q_tmp_0_5 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 5];
+                   const real_t q_tmp_0_6 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 6];
+                   const real_t q_tmp_0_7 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 7];
+                   const real_t q_tmp_0_8 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 8];
+                   const real_t q_tmp_0_9 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 9];
+                   const real_t q_tmp_1_0 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 10];
+                   const real_t q_tmp_1_1 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 11];
+                   const real_t q_tmp_1_2 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 12];
+                   const real_t q_tmp_1_3 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 13];
+                   const real_t q_tmp_1_4 = tmp_qloop_12;
+                   const real_t q_tmp_1_5 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 15];
+                   const real_t q_tmp_1_6 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 16];
+                   const real_t q_tmp_1_7 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 17];
+                   const real_t q_tmp_1_8 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 18];
+                   const real_t q_tmp_1_9 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 19];
+                   const real_t q_tmp_2_0 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 20];
+                   const real_t q_tmp_2_1 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 21];
+                   const real_t q_tmp_2_2 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 22];
+                   const real_t q_tmp_2_3 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 23];
+                   const real_t q_tmp_2_4 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 24];
+                   const real_t q_tmp_2_5 = tmp_qloop_12;
+                   const real_t q_tmp_2_6 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 25];
+                   const real_t q_tmp_2_7 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 26];
+                   const real_t q_tmp_2_8 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 27];
+                   const real_t q_tmp_2_9 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 28];
+                   const real_t q_tmp_3_0 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 29];
+                   const real_t q_tmp_3_1 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 30];
+                   const real_t q_tmp_3_2 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 31];
+                   const real_t q_tmp_3_3 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 32];
+                   const real_t q_tmp_3_4 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 33];
+                   const real_t q_tmp_3_5 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 34];
+                   const real_t q_tmp_3_6 = tmp_qloop_12;
+                   const real_t q_tmp_3_7 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 35];
+                   const real_t q_tmp_3_8 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 36];
+                   const real_t q_tmp_3_9 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 37];
+                   q_acc_0_0 = q_acc_0_0 + q_tmp_0_0;
+                   q_acc_0_1 = q_acc_0_1 + q_tmp_0_1;
+                   q_acc_0_2 = q_acc_0_2 + q_tmp_0_2;
+                   q_acc_0_3 = q_acc_0_3 + q_tmp_0_3;
+                   q_acc_0_4 = q_acc_0_4 + q_tmp_0_4;
+                   q_acc_0_5 = q_acc_0_5 + q_tmp_0_5;
+                   q_acc_0_6 = q_acc_0_6 + q_tmp_0_6;
+                   q_acc_0_7 = q_acc_0_7 + q_tmp_0_7;
+                   q_acc_0_8 = q_acc_0_8 + q_tmp_0_8;
+                   q_acc_0_9 = q_acc_0_9 + q_tmp_0_9;
+                   q_acc_1_0 = q_acc_1_0 + q_tmp_1_0;
+                   q_acc_1_1 = q_acc_1_1 + q_tmp_1_1;
+                   q_acc_1_2 = q_acc_1_2 + q_tmp_1_2;
+                   q_acc_1_3 = q_acc_1_3 + q_tmp_1_3;
+                   q_acc_1_4 = q_acc_1_4 + q_tmp_1_4;
+                   q_acc_1_5 = q_acc_1_5 + q_tmp_1_5;
+                   q_acc_1_6 = q_acc_1_6 + q_tmp_1_6;
+                   q_acc_1_7 = q_acc_1_7 + q_tmp_1_7;
+                   q_acc_1_8 = q_acc_1_8 + q_tmp_1_8;
+                   q_acc_1_9 = q_acc_1_9 + q_tmp_1_9;
+                   q_acc_2_0 = q_acc_2_0 + q_tmp_2_0;
+                   q_acc_2_1 = q_acc_2_1 + q_tmp_2_1;
+                   q_acc_2_2 = q_acc_2_2 + q_tmp_2_2;
+                   q_acc_2_3 = q_acc_2_3 + q_tmp_2_3;
+                   q_acc_2_4 = q_acc_2_4 + q_tmp_2_4;
+                   q_acc_2_5 = q_acc_2_5 + q_tmp_2_5;
+                   q_acc_2_6 = q_acc_2_6 + q_tmp_2_6;
+                   q_acc_2_7 = q_acc_2_7 + q_tmp_2_7;
+                   q_acc_2_8 = q_acc_2_8 + q_tmp_2_8;
+                   q_acc_2_9 = q_acc_2_9 + q_tmp_2_9;
+                   q_acc_3_0 = q_acc_3_0 + q_tmp_3_0;
+                   q_acc_3_1 = q_acc_3_1 + q_tmp_3_1;
+                   q_acc_3_2 = q_acc_3_2 + q_tmp_3_2;
+                   q_acc_3_3 = q_acc_3_3 + q_tmp_3_3;
+                   q_acc_3_4 = q_acc_3_4 + q_tmp_3_4;
+                   q_acc_3_5 = q_acc_3_5 + q_tmp_3_5;
+                   q_acc_3_6 = q_acc_3_6 + q_tmp_3_6;
+                   q_acc_3_7 = q_acc_3_7 + q_tmp_3_7;
+                   q_acc_3_8 = q_acc_3_8 + q_tmp_3_8;
+                   q_acc_3_9 = q_acc_3_9 + q_tmp_3_9;
+                }
+                const real_t elMatVec_0 = q_acc_0_0*src_dof_0 + q_acc_0_1*src_dof_1 + q_acc_0_2*src_dof_2 + q_acc_0_3*src_dof_3 + q_acc_0_4*src_dof_4 + q_acc_0_5*src_dof_5 + q_acc_0_6*src_dof_6 + q_acc_0_7*src_dof_7 + q_acc_0_8*src_dof_8 + q_acc_0_9*src_dof_9;
+                const real_t elMatVec_1 = q_acc_1_0*src_dof_0 + q_acc_1_1*src_dof_1 + q_acc_1_2*src_dof_2 + q_acc_1_3*src_dof_3 + q_acc_1_4*src_dof_4 + q_acc_1_5*src_dof_5 + q_acc_1_6*src_dof_6 + q_acc_1_7*src_dof_7 + q_acc_1_8*src_dof_8 + q_acc_1_9*src_dof_9;
+                const real_t elMatVec_2 = q_acc_2_0*src_dof_0 + q_acc_2_1*src_dof_1 + q_acc_2_2*src_dof_2 + q_acc_2_3*src_dof_3 + q_acc_2_4*src_dof_4 + q_acc_2_5*src_dof_5 + q_acc_2_6*src_dof_6 + q_acc_2_7*src_dof_7 + q_acc_2_8*src_dof_8 + q_acc_2_9*src_dof_9;
+                const real_t elMatVec_3 = q_acc_3_0*src_dof_0 + q_acc_3_1*src_dof_1 + q_acc_3_2*src_dof_2 + q_acc_3_3*src_dof_3 + q_acc_3_4*src_dof_4 + q_acc_3_5*src_dof_5 + q_acc_3_6*src_dof_6 + q_acc_3_7*src_dof_7 + q_acc_3_8*src_dof_8 + q_acc_3_9*src_dof_9;
+                _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1] = elMatVec_0 + _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1];
+                _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1] = elMatVec_1 + _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1];
+                _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))] = elMatVec_2 + _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))];
+                _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1] = elMatVec_3 + _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1];
+             }
+          }
+       }
+       const real_t tmp_coords_jac_0_BLUE_UP = 1.0 / (micro_edges_per_macro_edge_float)*1.0;
+       const real_t tmp_coords_jac_1_BLUE_UP = macro_vertex_coord_id_0comp0 + tmp_coords_jac_0_BLUE_UP*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0);
+       const real_t tmp_coords_jac_2_BLUE_UP = macro_vertex_coord_id_0comp1 + tmp_coords_jac_0_BLUE_UP*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1);
+       const real_t tmp_coords_jac_3_BLUE_UP = macro_vertex_coord_id_0comp2 + tmp_coords_jac_0_BLUE_UP*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2);
+       const real_t tmp_coords_jac_4_BLUE_UP = tmp_coords_jac_0_BLUE_UP*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0);
+       const real_t tmp_coords_jac_5_BLUE_UP = tmp_coords_jac_0_BLUE_UP*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1);
+       const real_t tmp_coords_jac_6_BLUE_UP = tmp_coords_jac_0_BLUE_UP*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2);
+       const real_t p_affine_const_0_0_BLUE_UP = tmp_coords_jac_1_BLUE_UP;
+       const real_t p_affine_const_0_1_BLUE_UP = tmp_coords_jac_2_BLUE_UP;
+       const real_t p_affine_const_0_2_BLUE_UP = tmp_coords_jac_3_BLUE_UP;
+       const real_t p_affine_const_1_0_BLUE_UP = macro_vertex_coord_id_0comp0 + tmp_coords_jac_4_BLUE_UP;
+       const real_t p_affine_const_1_1_BLUE_UP = macro_vertex_coord_id_0comp1 + tmp_coords_jac_5_BLUE_UP;
+       const real_t p_affine_const_1_2_BLUE_UP = macro_vertex_coord_id_0comp2 + tmp_coords_jac_6_BLUE_UP;
+       const real_t p_affine_const_2_0_BLUE_UP = tmp_coords_jac_1_BLUE_UP + tmp_coords_jac_4_BLUE_UP;
+       const real_t p_affine_const_2_1_BLUE_UP = tmp_coords_jac_2_BLUE_UP + tmp_coords_jac_5_BLUE_UP;
+       const real_t p_affine_const_2_2_BLUE_UP = tmp_coords_jac_3_BLUE_UP + tmp_coords_jac_6_BLUE_UP;
+       const real_t p_affine_const_3_0_BLUE_UP = tmp_coords_jac_0_BLUE_UP*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0) + tmp_coords_jac_1_BLUE_UP;
+       const real_t p_affine_const_3_1_BLUE_UP = tmp_coords_jac_0_BLUE_UP*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1) + tmp_coords_jac_2_BLUE_UP;
+       const real_t p_affine_const_3_2_BLUE_UP = tmp_coords_jac_0_BLUE_UP*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2) + tmp_coords_jac_3_BLUE_UP;
+       const real_t jac_affine_0_0_BLUE_UP = -p_affine_const_0_0_BLUE_UP + p_affine_const_1_0_BLUE_UP;
+       const real_t jac_affine_0_1_BLUE_UP = -p_affine_const_0_0_BLUE_UP + p_affine_const_2_0_BLUE_UP;
+       const real_t jac_affine_0_2_BLUE_UP = -p_affine_const_0_0_BLUE_UP + p_affine_const_3_0_BLUE_UP;
+       const real_t jac_affine_1_0_BLUE_UP = -p_affine_const_0_1_BLUE_UP + p_affine_const_1_1_BLUE_UP;
+       const real_t jac_affine_1_1_BLUE_UP = -p_affine_const_0_1_BLUE_UP + p_affine_const_2_1_BLUE_UP;
+       const real_t jac_affine_1_2_BLUE_UP = -p_affine_const_0_1_BLUE_UP + p_affine_const_3_1_BLUE_UP;
+       const real_t jac_affine_2_0_BLUE_UP = -p_affine_const_0_2_BLUE_UP + p_affine_const_1_2_BLUE_UP;
+       const real_t jac_affine_2_1_BLUE_UP = -p_affine_const_0_2_BLUE_UP + p_affine_const_2_2_BLUE_UP;
+       const real_t jac_affine_2_2_BLUE_UP = -p_affine_const_0_2_BLUE_UP + p_affine_const_3_2_BLUE_UP;
+       const real_t abs_det_jac_affine_BLUE_UP = abs(jac_affine_0_0_BLUE_UP*jac_affine_1_1_BLUE_UP*jac_affine_2_2_BLUE_UP - jac_affine_0_0_BLUE_UP*jac_affine_1_2_BLUE_UP*jac_affine_2_1_BLUE_UP - jac_affine_0_1_BLUE_UP*jac_affine_1_0_BLUE_UP*jac_affine_2_2_BLUE_UP + jac_affine_0_1_BLUE_UP*jac_affine_1_2_BLUE_UP*jac_affine_2_0_BLUE_UP + jac_affine_0_2_BLUE_UP*jac_affine_1_0_BLUE_UP*jac_affine_2_1_BLUE_UP - jac_affine_0_2_BLUE_UP*jac_affine_1_1_BLUE_UP*jac_affine_2_0_BLUE_UP);
+       {
+          /* CellType.BLUE_UP */
+          const real_t _data_phi_psi_jac_affine_det_0_0_BLUE_UP [] = {((real_t)(abs_det_jac_affine_BLUE_UP*-0.03125)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.03125)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.03125)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.03125)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0625)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0625)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0625)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0625)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0625)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0625)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.03125)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.03125)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.03125)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.03125)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0625)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0625)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0625)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0625)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0625)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0625)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.03125)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.03125)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.03125)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.03125)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0625)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0625)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0625)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0625)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0625)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.03125)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.03125)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.03125)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.03125)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0625)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0625)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0625)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0625)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0625)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.018518518518518524)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.018518518518518524)), 0.0, ((real_t)(abs_det_jac_affine_BLUE_UP*0.05555555555555558)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.05555555555555558)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.018518518518518524)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.055555555555555594)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.018518518518518535)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.018518518518518535)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.018518518518518507)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.018518518518518517)), 0.0, ((real_t)(abs_det_jac_affine_BLUE_UP*0.055555555555555552)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.055555555555555552)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.055555555555555566)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.018518518518518524)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.018518518518518524)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.018518518518518507)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.018518518518518517)), 0.0, ((real_t)(abs_det_jac_affine_BLUE_UP*0.055555555555555552)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.055555555555555566)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.018518518518518524)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.018518518518518524)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.055555555555555525)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.055555555555555552)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.055555555555555552)), 0.0, ((real_t)(abs_det_jac_affine_BLUE_UP*0.16666666666666666)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.16666666666666666)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.16666666666666671)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.05555555555555558)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.05555555555555558)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.018518518518518531)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.018518518518518521)), 0.0, ((real_t)(abs_det_jac_affine_BLUE_UP*-0.018518518518518521)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.055555555555555566)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.018518518518518521)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.055555555555555566)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.018518518518518531)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.055555555555555587)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.018518518518518531)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.018518518518518524)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.018518518518518517)), 0.0, ((real_t)(abs_det_jac_affine_BLUE_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.055555555555555552)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.055555555555555552)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.018518518518518524)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.055555555555555566)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.018518518518518524)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.05555555555555558)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.055555555555555552)), 0.0, ((real_t)(abs_det_jac_affine_BLUE_UP*-0.055555555555555552)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.16666666666666666)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.16666666666666666)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.05555555555555558)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.16666666666666671)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.05555555555555558)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.018518518518518524)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.018518518518518517)), 0.0, ((real_t)(abs_det_jac_affine_BLUE_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.055555555555555552)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.018518518518518524)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.055555555555555566)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.018518518518518524)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.018518518518518531)), 0.0, ((real_t)(abs_det_jac_affine_BLUE_UP*-0.018518518518518521)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.018518518518518521)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.018518518518518521)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.055555555555555566)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.055555555555555566)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.018518518518518531)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.018518518518518531)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.055555555555555587)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.05555555555555558)), 0.0, ((real_t)(abs_det_jac_affine_BLUE_UP*-0.055555555555555552)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.055555555555555552)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.055555555555555552)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.16666666666666666)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.16666666666666666)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.05555555555555558)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.05555555555555558)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.16666666666666671)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.018518518518518524)), 0.0, ((real_t)(abs_det_jac_affine_BLUE_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.055555555555555552)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.018518518518518524)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.018518518518518524)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.055555555555555566)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.018518518518518524)), 0.0, ((real_t)(abs_det_jac_affine_BLUE_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.055555555555555552)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.018518518518518524)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.018518518518518524)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.055555555555555566)), ((real_t)(abs_det_jac_affine_BLUE_UP*2.775557561562892e-17)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.055555555555555566)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.055555555555555566)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.055555555555555566)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.055555555555555566)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.055555555555555566)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.055555555555555566)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.16666666666666671)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.16666666666666671)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.16666666666666671)), ((real_t)(abs_det_jac_affine_BLUE_UP*9.2518585385429707e-18)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.055555555555555559)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.055555555555555559)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.055555555555555559)), ((real_t)(abs_det_jac_affine_BLUE_UP*9.2518585385429707e-18)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.055555555555555559)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.055555555555555559)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.055555555555555559)), ((real_t)(abs_det_jac_affine_BLUE_UP*9.2518585385429707e-18)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.055555555555555559)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.055555555555555559)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.055555555555555559))};
+      
+          for (int64_t ctr_2 = 0; ctr_2 < micro_edges_per_macro_edge; ctr_2 += 1)
+          for (int64_t ctr_1 = 0; ctr_1 < -ctr_2 + micro_edges_per_macro_edge; ctr_1 += 1)
+          {
+             for (int64_t ctr_0 = 0; ctr_0 < (int64_t)((-ctr_1 - ctr_2 + micro_edges_per_macro_edge - 1) / (4)) * (4); ctr_0 += 4)
+             {
+                const __m256d src_dof_0 = _mm256_loadu_pd(& _data_srcVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]);
+                const __m256d src_dof_1 = _mm256_loadu_pd(& _data_srcVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]);
+                const __m256d src_dof_2 = _mm256_loadu_pd(& _data_srcVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]);
+                const __m256d src_dof_3 = _mm256_loadu_pd(& _data_srcVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]);
+                const __m256d src_dof_4 = _mm256_loadu_pd(& _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1]);
+                const __m256d src_dof_5 = _mm256_loadu_pd(& _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge - 1)*(micro_edges_per_macro_edge + 1)) / (6)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]);
+                const __m256d src_dof_6 = _mm256_loadu_pd(& _data_srcEdge[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]);
+                const __m256d src_dof_7 = _mm256_loadu_pd(& _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1]);
+                const __m256d src_dof_8 = _mm256_loadu_pd(& _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 2*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1]);
+                const __m256d src_dof_9 = _mm256_loadu_pd(& _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]);
+                const __m256d k_dof_0 = _mm256_loadu_pd(& _data_kVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]);
+                const __m256d k_dof_1 = _mm256_loadu_pd(& _data_kVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]);
+                const __m256d k_dof_2 = _mm256_loadu_pd(& _data_kVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]);
+                const __m256d k_dof_3 = _mm256_loadu_pd(& _data_kVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]);
+                const __m256d k_dof_4 = _mm256_loadu_pd(& _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1]);
+                const __m256d k_dof_5 = _mm256_loadu_pd(& _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge - 1)*(micro_edges_per_macro_edge + 1)) / (6)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]);
+                const __m256d k_dof_6 = _mm256_loadu_pd(& _data_kEdge[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]);
+                const __m256d k_dof_7 = _mm256_loadu_pd(& _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1]);
+                const __m256d k_dof_8 = _mm256_loadu_pd(& _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 2*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1]);
+                const __m256d k_dof_9 = _mm256_loadu_pd(& _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]);
+                __m256d q_acc_0_0 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_0_1 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_0_2 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_0_3 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_0_4 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_0_5 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_0_6 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_0_7 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_0_8 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_0_9 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_1_0 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_1_1 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_1_2 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_1_3 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_1_4 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_1_5 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_1_6 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_1_7 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_1_8 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_1_9 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_2_0 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_2_1 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_2_2 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_2_3 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_2_4 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_2_5 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_2_6 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_2_7 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_2_8 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_2_9 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_3_0 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_3_1 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_3_2 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_3_3 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_3_4 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_3_5 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_3_6 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_3_7 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_3_8 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_3_9 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                for (int64_t q = 0; q < 5; q += 1)
+                {
+                   const __m256d tmp_qloop_0 = _mm256_mul_pd(_mm256_set_pd(4.0,4.0,4.0,4.0),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q]));
+                   const __m256d tmp_qloop_1 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q]));
+                   const __m256d tmp_qloop_2 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q]));
+                   const __m256d tmp_qloop_3 = _mm256_mul_pd(_mm256_mul_pd(_mm256_set_pd(4.0,4.0,4.0,4.0),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q])),_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q]));
+                   const __m256d tmp_qloop_4 = _mm256_mul_pd(_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q]),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q]));
+                   const __m256d tmp_qloop_5 = _mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(2.0,2.0,2.0,2.0));
+                   const __m256d tmp_qloop_6 = _mm256_mul_pd(_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q]),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q]));
+                   const __m256d tmp_qloop_7 = _mm256_mul_pd(tmp_qloop_6,_mm256_set_pd(2.0,2.0,2.0,2.0));
+                   const __m256d tmp_qloop_8 = _mm256_mul_pd(_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q]),_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q]));
+                   const __m256d tmp_qloop_9 = _mm256_mul_pd(tmp_qloop_8,_mm256_set_pd(2.0,2.0,2.0,2.0));
+                   const __m256d tmp_qloop_10 = _mm256_add_pd(tmp_qloop_1,tmp_qloop_2);
+                   const __m256d tmp_qloop_11 = _mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(k_dof_1,_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q])),tmp_qloop_5)),_mm256_mul_pd(k_dof_2,_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q])),tmp_qloop_7))),_mm256_mul_pd(k_dof_3,_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q])),tmp_qloop_9))),_mm256_mul_pd(k_dof_9,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(4.0,4.0,4.0,4.0),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q])),_mm256_mul_pd(tmp_qloop_10,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(-4.0,-4.0,-4.0,-4.0))))),_mm256_mul_pd(k_dof_8,_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(4.0,4.0,4.0,4.0),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q])),_mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_3,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_6,_mm256_set_pd(-4.0,-4.0,-4.0,-4.0))))),_mm256_mul_pd(k_dof_7,_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(4.0,4.0,4.0,4.0),_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q])),_mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_3,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_8,_mm256_set_pd(-4.0,-4.0,-4.0,-4.0))))),_mm256_mul_pd(k_dof_0,_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-3.0,-3.0,-3.0,-3.0),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q])),_mm256_mul_pd(_mm256_set_pd(-3.0,-3.0,-3.0,-3.0),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q]))),_mm256_mul_pd(_mm256_set_pd(-3.0,-3.0,-3.0,-3.0),_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q]))),_mm256_set_pd(1.0,1.0,1.0,1.0)),tmp_qloop_10),tmp_qloop_3),tmp_qloop_5),tmp_qloop_7),tmp_qloop_9))),_mm256_mul_pd(k_dof_4,tmp_qloop_3)),_mm256_mul_pd(k_dof_5,tmp_qloop_2)),_mm256_mul_pd(k_dof_6,tmp_qloop_1)),_mm256_set_pd(_data_q_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q]));
+                   const __m256d tmp_qloop_12 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 14],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 14],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 14],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 14]));
+                   const __m256d q_tmp_0_0 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q]));
+                   const __m256d q_tmp_0_1 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 1],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 1],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 1],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 1]));
+                   const __m256d q_tmp_0_2 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 2],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 2],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 2],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 2]));
+                   const __m256d q_tmp_0_3 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 3],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 3],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 3],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 3]));
+                   const __m256d q_tmp_0_4 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 4],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 4],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 4],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 4]));
+                   const __m256d q_tmp_0_5 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 5],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 5],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 5],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 5]));
+                   const __m256d q_tmp_0_6 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 6],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 6],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 6],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 6]));
+                   const __m256d q_tmp_0_7 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 7],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 7],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 7],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 7]));
+                   const __m256d q_tmp_0_8 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 8],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 8],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 8],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 8]));
+                   const __m256d q_tmp_0_9 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 9],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 9],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 9],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 9]));
+                   const __m256d q_tmp_1_0 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 10],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 10],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 10],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 10]));
+                   const __m256d q_tmp_1_1 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 11],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 11],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 11],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 11]));
+                   const __m256d q_tmp_1_2 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 12],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 12],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 12],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 12]));
+                   const __m256d q_tmp_1_3 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 13],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 13],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 13],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 13]));
+                   const __m256d q_tmp_1_4 = tmp_qloop_12;
+                   const __m256d q_tmp_1_5 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 15],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 15],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 15],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 15]));
+                   const __m256d q_tmp_1_6 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 16],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 16],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 16],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 16]));
+                   const __m256d q_tmp_1_7 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 17],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 17],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 17],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 17]));
+                   const __m256d q_tmp_1_8 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 18],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 18],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 18],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 18]));
+                   const __m256d q_tmp_1_9 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 19],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 19],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 19],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 19]));
+                   const __m256d q_tmp_2_0 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 20],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 20],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 20],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 20]));
+                   const __m256d q_tmp_2_1 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 21],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 21],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 21],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 21]));
+                   const __m256d q_tmp_2_2 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 22],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 22],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 22],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 22]));
+                   const __m256d q_tmp_2_3 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 23],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 23],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 23],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 23]));
+                   const __m256d q_tmp_2_4 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 24],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 24],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 24],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 24]));
+                   const __m256d q_tmp_2_5 = tmp_qloop_12;
+                   const __m256d q_tmp_2_6 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 25],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 25],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 25],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 25]));
+                   const __m256d q_tmp_2_7 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 26],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 26],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 26],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 26]));
+                   const __m256d q_tmp_2_8 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 27],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 27],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 27],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 27]));
+                   const __m256d q_tmp_2_9 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 28],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 28],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 28],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 28]));
+                   const __m256d q_tmp_3_0 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 29],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 29],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 29],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 29]));
+                   const __m256d q_tmp_3_1 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 30],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 30],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 30],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 30]));
+                   const __m256d q_tmp_3_2 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 31],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 31],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 31],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 31]));
+                   const __m256d q_tmp_3_3 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 32],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 32],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 32],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 32]));
+                   const __m256d q_tmp_3_4 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 33],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 33],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 33],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 33]));
+                   const __m256d q_tmp_3_5 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 34],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 34],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 34],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 34]));
+                   const __m256d q_tmp_3_6 = tmp_qloop_12;
+                   const __m256d q_tmp_3_7 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 35],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 35],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 35],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 35]));
+                   const __m256d q_tmp_3_8 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 36],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 36],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 36],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 36]));
+                   const __m256d q_tmp_3_9 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 37],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 37],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 37],_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 37]));
+                   q_acc_0_0 = _mm256_add_pd(q_acc_0_0,q_tmp_0_0);
+                   q_acc_0_1 = _mm256_add_pd(q_acc_0_1,q_tmp_0_1);
+                   q_acc_0_2 = _mm256_add_pd(q_acc_0_2,q_tmp_0_2);
+                   q_acc_0_3 = _mm256_add_pd(q_acc_0_3,q_tmp_0_3);
+                   q_acc_0_4 = _mm256_add_pd(q_acc_0_4,q_tmp_0_4);
+                   q_acc_0_5 = _mm256_add_pd(q_acc_0_5,q_tmp_0_5);
+                   q_acc_0_6 = _mm256_add_pd(q_acc_0_6,q_tmp_0_6);
+                   q_acc_0_7 = _mm256_add_pd(q_acc_0_7,q_tmp_0_7);
+                   q_acc_0_8 = _mm256_add_pd(q_acc_0_8,q_tmp_0_8);
+                   q_acc_0_9 = _mm256_add_pd(q_acc_0_9,q_tmp_0_9);
+                   q_acc_1_0 = _mm256_add_pd(q_acc_1_0,q_tmp_1_0);
+                   q_acc_1_1 = _mm256_add_pd(q_acc_1_1,q_tmp_1_1);
+                   q_acc_1_2 = _mm256_add_pd(q_acc_1_2,q_tmp_1_2);
+                   q_acc_1_3 = _mm256_add_pd(q_acc_1_3,q_tmp_1_3);
+                   q_acc_1_4 = _mm256_add_pd(q_acc_1_4,q_tmp_1_4);
+                   q_acc_1_5 = _mm256_add_pd(q_acc_1_5,q_tmp_1_5);
+                   q_acc_1_6 = _mm256_add_pd(q_acc_1_6,q_tmp_1_6);
+                   q_acc_1_7 = _mm256_add_pd(q_acc_1_7,q_tmp_1_7);
+                   q_acc_1_8 = _mm256_add_pd(q_acc_1_8,q_tmp_1_8);
+                   q_acc_1_9 = _mm256_add_pd(q_acc_1_9,q_tmp_1_9);
+                   q_acc_2_0 = _mm256_add_pd(q_acc_2_0,q_tmp_2_0);
+                   q_acc_2_1 = _mm256_add_pd(q_acc_2_1,q_tmp_2_1);
+                   q_acc_2_2 = _mm256_add_pd(q_acc_2_2,q_tmp_2_2);
+                   q_acc_2_3 = _mm256_add_pd(q_acc_2_3,q_tmp_2_3);
+                   q_acc_2_4 = _mm256_add_pd(q_acc_2_4,q_tmp_2_4);
+                   q_acc_2_5 = _mm256_add_pd(q_acc_2_5,q_tmp_2_5);
+                   q_acc_2_6 = _mm256_add_pd(q_acc_2_6,q_tmp_2_6);
+                   q_acc_2_7 = _mm256_add_pd(q_acc_2_7,q_tmp_2_7);
+                   q_acc_2_8 = _mm256_add_pd(q_acc_2_8,q_tmp_2_8);
+                   q_acc_2_9 = _mm256_add_pd(q_acc_2_9,q_tmp_2_9);
+                   q_acc_3_0 = _mm256_add_pd(q_acc_3_0,q_tmp_3_0);
+                   q_acc_3_1 = _mm256_add_pd(q_acc_3_1,q_tmp_3_1);
+                   q_acc_3_2 = _mm256_add_pd(q_acc_3_2,q_tmp_3_2);
+                   q_acc_3_3 = _mm256_add_pd(q_acc_3_3,q_tmp_3_3);
+                   q_acc_3_4 = _mm256_add_pd(q_acc_3_4,q_tmp_3_4);
+                   q_acc_3_5 = _mm256_add_pd(q_acc_3_5,q_tmp_3_5);
+                   q_acc_3_6 = _mm256_add_pd(q_acc_3_6,q_tmp_3_6);
+                   q_acc_3_7 = _mm256_add_pd(q_acc_3_7,q_tmp_3_7);
+                   q_acc_3_8 = _mm256_add_pd(q_acc_3_8,q_tmp_3_8);
+                   q_acc_3_9 = _mm256_add_pd(q_acc_3_9,q_tmp_3_9);
+                }
+                const __m256d elMatVec_0 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(q_acc_0_0,src_dof_0),_mm256_mul_pd(q_acc_0_1,src_dof_1)),_mm256_mul_pd(q_acc_0_2,src_dof_2)),_mm256_mul_pd(q_acc_0_3,src_dof_3)),_mm256_mul_pd(q_acc_0_4,src_dof_4)),_mm256_mul_pd(q_acc_0_5,src_dof_5)),_mm256_mul_pd(q_acc_0_6,src_dof_6)),_mm256_mul_pd(q_acc_0_7,src_dof_7)),_mm256_mul_pd(q_acc_0_8,src_dof_8)),_mm256_mul_pd(q_acc_0_9,src_dof_9));
+                const __m256d elMatVec_1 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(q_acc_1_0,src_dof_0),_mm256_mul_pd(q_acc_1_1,src_dof_1)),_mm256_mul_pd(q_acc_1_2,src_dof_2)),_mm256_mul_pd(q_acc_1_3,src_dof_3)),_mm256_mul_pd(q_acc_1_4,src_dof_4)),_mm256_mul_pd(q_acc_1_5,src_dof_5)),_mm256_mul_pd(q_acc_1_6,src_dof_6)),_mm256_mul_pd(q_acc_1_7,src_dof_7)),_mm256_mul_pd(q_acc_1_8,src_dof_8)),_mm256_mul_pd(q_acc_1_9,src_dof_9));
+                const __m256d elMatVec_2 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(q_acc_2_0,src_dof_0),_mm256_mul_pd(q_acc_2_1,src_dof_1)),_mm256_mul_pd(q_acc_2_2,src_dof_2)),_mm256_mul_pd(q_acc_2_3,src_dof_3)),_mm256_mul_pd(q_acc_2_4,src_dof_4)),_mm256_mul_pd(q_acc_2_5,src_dof_5)),_mm256_mul_pd(q_acc_2_6,src_dof_6)),_mm256_mul_pd(q_acc_2_7,src_dof_7)),_mm256_mul_pd(q_acc_2_8,src_dof_8)),_mm256_mul_pd(q_acc_2_9,src_dof_9));
+                const __m256d elMatVec_3 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(q_acc_3_0,src_dof_0),_mm256_mul_pd(q_acc_3_1,src_dof_1)),_mm256_mul_pd(q_acc_3_2,src_dof_2)),_mm256_mul_pd(q_acc_3_3,src_dof_3)),_mm256_mul_pd(q_acc_3_4,src_dof_4)),_mm256_mul_pd(q_acc_3_5,src_dof_5)),_mm256_mul_pd(q_acc_3_6,src_dof_6)),_mm256_mul_pd(q_acc_3_7,src_dof_7)),_mm256_mul_pd(q_acc_3_8,src_dof_8)),_mm256_mul_pd(q_acc_3_9,src_dof_9));
+                _mm256_storeu_pd(&_data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1],_mm256_add_pd(elMatVec_0,_mm256_loadu_pd(& _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1])));
+                _mm256_storeu_pd(&_data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))],_mm256_add_pd(elMatVec_1,_mm256_loadu_pd(& _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))])));
+                _mm256_storeu_pd(&_data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1],_mm256_add_pd(elMatVec_2,_mm256_loadu_pd(& _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1])));
+                _mm256_storeu_pd(&_data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1],_mm256_add_pd(elMatVec_3,_mm256_loadu_pd(& _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1])));
+             }
+             for (int64_t ctr_0 = (int64_t)((-ctr_1 - ctr_2 + micro_edges_per_macro_edge - 1) / (4)) * (4); ctr_0 < -ctr_1 - ctr_2 + micro_edges_per_macro_edge - 1; ctr_0 += 1)
+             {
+                const real_t src_dof_0 = _data_srcVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1];
+                const real_t src_dof_1 = _data_srcVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))];
+                const real_t src_dof_2 = _data_srcVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1];
+                const real_t src_dof_3 = _data_srcVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1];
+                const real_t src_dof_4 = _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1];
+                const real_t src_dof_5 = _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge - 1)*(micro_edges_per_macro_edge + 1)) / (6)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))];
+                const real_t src_dof_6 = _data_srcEdge[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))];
+                const real_t src_dof_7 = _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1];
+                const real_t src_dof_8 = _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 2*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1];
+                const real_t src_dof_9 = _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))];
+                const real_t k_dof_0 = _data_kVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1];
+                const real_t k_dof_1 = _data_kVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))];
+                const real_t k_dof_2 = _data_kVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1];
+                const real_t k_dof_3 = _data_kVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1];
+                const real_t k_dof_4 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1];
+                const real_t k_dof_5 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge - 1)*(micro_edges_per_macro_edge + 1)) / (6)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))];
+                const real_t k_dof_6 = _data_kEdge[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))];
+                const real_t k_dof_7 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1];
+                const real_t k_dof_8 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 2*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1];
+                const real_t k_dof_9 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))];
+                real_t q_acc_0_0 = 0.0;
+                real_t q_acc_0_1 = 0.0;
+                real_t q_acc_0_2 = 0.0;
+                real_t q_acc_0_3 = 0.0;
+                real_t q_acc_0_4 = 0.0;
+                real_t q_acc_0_5 = 0.0;
+                real_t q_acc_0_6 = 0.0;
+                real_t q_acc_0_7 = 0.0;
+                real_t q_acc_0_8 = 0.0;
+                real_t q_acc_0_9 = 0.0;
+                real_t q_acc_1_0 = 0.0;
+                real_t q_acc_1_1 = 0.0;
+                real_t q_acc_1_2 = 0.0;
+                real_t q_acc_1_3 = 0.0;
+                real_t q_acc_1_4 = 0.0;
+                real_t q_acc_1_5 = 0.0;
+                real_t q_acc_1_6 = 0.0;
+                real_t q_acc_1_7 = 0.0;
+                real_t q_acc_1_8 = 0.0;
+                real_t q_acc_1_9 = 0.0;
+                real_t q_acc_2_0 = 0.0;
+                real_t q_acc_2_1 = 0.0;
+                real_t q_acc_2_2 = 0.0;
+                real_t q_acc_2_3 = 0.0;
+                real_t q_acc_2_4 = 0.0;
+                real_t q_acc_2_5 = 0.0;
+                real_t q_acc_2_6 = 0.0;
+                real_t q_acc_2_7 = 0.0;
+                real_t q_acc_2_8 = 0.0;
+                real_t q_acc_2_9 = 0.0;
+                real_t q_acc_3_0 = 0.0;
+                real_t q_acc_3_1 = 0.0;
+                real_t q_acc_3_2 = 0.0;
+                real_t q_acc_3_3 = 0.0;
+                real_t q_acc_3_4 = 0.0;
+                real_t q_acc_3_5 = 0.0;
+                real_t q_acc_3_6 = 0.0;
+                real_t q_acc_3_7 = 0.0;
+                real_t q_acc_3_8 = 0.0;
+                real_t q_acc_3_9 = 0.0;
+                for (int64_t q = 0; q < 5; q += 1)
+                {
+                   const real_t tmp_qloop_0 = 4.0*_data_q_p_0[q];
+                   const real_t tmp_qloop_1 = tmp_qloop_0*_data_q_p_1[q];
+                   const real_t tmp_qloop_2 = tmp_qloop_0*_data_q_p_2[q];
+                   const real_t tmp_qloop_3 = 4.0*_data_q_p_1[q]*_data_q_p_2[q];
+                   const real_t tmp_qloop_4 = (_data_q_p_0[q]*_data_q_p_0[q]);
+                   const real_t tmp_qloop_5 = tmp_qloop_4*2.0;
+                   const real_t tmp_qloop_6 = (_data_q_p_1[q]*_data_q_p_1[q]);
+                   const real_t tmp_qloop_7 = tmp_qloop_6*2.0;
+                   const real_t tmp_qloop_8 = (_data_q_p_2[q]*_data_q_p_2[q]);
+                   const real_t tmp_qloop_9 = tmp_qloop_8*2.0;
+                   const real_t tmp_qloop_10 = tmp_qloop_1 + tmp_qloop_2;
+                   const real_t tmp_qloop_11 = (k_dof_0*(tmp_qloop_10 + tmp_qloop_3 + tmp_qloop_5 + tmp_qloop_7 + tmp_qloop_9 - 3.0*_data_q_p_0[q] - 3.0*_data_q_p_1[q] - 3.0*_data_q_p_2[q] + 1.0) + k_dof_1*(tmp_qloop_5 - _data_q_p_0[q]) + k_dof_2*(tmp_qloop_7 - _data_q_p_1[q]) + k_dof_3*(tmp_qloop_9 - _data_q_p_2[q]) + k_dof_4*tmp_qloop_3 + k_dof_5*tmp_qloop_2 + k_dof_6*tmp_qloop_1 + k_dof_7*(-tmp_qloop_2 - tmp_qloop_3 + tmp_qloop_8*-4.0 + 4.0*_data_q_p_2[q]) + k_dof_8*(-tmp_qloop_1 - tmp_qloop_3 + tmp_qloop_6*-4.0 + 4.0*_data_q_p_1[q]) + k_dof_9*(-tmp_qloop_10 + tmp_qloop_4*-4.0 + 4.0*_data_q_p_0[q]))*_data_q_w[q];
+                   const real_t tmp_qloop_12 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 14];
+                   const real_t q_tmp_0_0 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q];
+                   const real_t q_tmp_0_1 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 1];
+                   const real_t q_tmp_0_2 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 2];
+                   const real_t q_tmp_0_3 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 3];
+                   const real_t q_tmp_0_4 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 4];
+                   const real_t q_tmp_0_5 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 5];
+                   const real_t q_tmp_0_6 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 6];
+                   const real_t q_tmp_0_7 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 7];
+                   const real_t q_tmp_0_8 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 8];
+                   const real_t q_tmp_0_9 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 9];
+                   const real_t q_tmp_1_0 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 10];
+                   const real_t q_tmp_1_1 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 11];
+                   const real_t q_tmp_1_2 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 12];
+                   const real_t q_tmp_1_3 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 13];
+                   const real_t q_tmp_1_4 = tmp_qloop_12;
+                   const real_t q_tmp_1_5 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 15];
+                   const real_t q_tmp_1_6 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 16];
+                   const real_t q_tmp_1_7 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 17];
+                   const real_t q_tmp_1_8 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 18];
+                   const real_t q_tmp_1_9 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 19];
+                   const real_t q_tmp_2_0 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 20];
+                   const real_t q_tmp_2_1 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 21];
+                   const real_t q_tmp_2_2 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 22];
+                   const real_t q_tmp_2_3 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 23];
+                   const real_t q_tmp_2_4 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 24];
+                   const real_t q_tmp_2_5 = tmp_qloop_12;
+                   const real_t q_tmp_2_6 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 25];
+                   const real_t q_tmp_2_7 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 26];
+                   const real_t q_tmp_2_8 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 27];
+                   const real_t q_tmp_2_9 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 28];
+                   const real_t q_tmp_3_0 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 29];
+                   const real_t q_tmp_3_1 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 30];
+                   const real_t q_tmp_3_2 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 31];
+                   const real_t q_tmp_3_3 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 32];
+                   const real_t q_tmp_3_4 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 33];
+                   const real_t q_tmp_3_5 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 34];
+                   const real_t q_tmp_3_6 = tmp_qloop_12;
+                   const real_t q_tmp_3_7 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 35];
+                   const real_t q_tmp_3_8 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 36];
+                   const real_t q_tmp_3_9 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 37];
+                   q_acc_0_0 = q_acc_0_0 + q_tmp_0_0;
+                   q_acc_0_1 = q_acc_0_1 + q_tmp_0_1;
+                   q_acc_0_2 = q_acc_0_2 + q_tmp_0_2;
+                   q_acc_0_3 = q_acc_0_3 + q_tmp_0_3;
+                   q_acc_0_4 = q_acc_0_4 + q_tmp_0_4;
+                   q_acc_0_5 = q_acc_0_5 + q_tmp_0_5;
+                   q_acc_0_6 = q_acc_0_6 + q_tmp_0_6;
+                   q_acc_0_7 = q_acc_0_7 + q_tmp_0_7;
+                   q_acc_0_8 = q_acc_0_8 + q_tmp_0_8;
+                   q_acc_0_9 = q_acc_0_9 + q_tmp_0_9;
+                   q_acc_1_0 = q_acc_1_0 + q_tmp_1_0;
+                   q_acc_1_1 = q_acc_1_1 + q_tmp_1_1;
+                   q_acc_1_2 = q_acc_1_2 + q_tmp_1_2;
+                   q_acc_1_3 = q_acc_1_3 + q_tmp_1_3;
+                   q_acc_1_4 = q_acc_1_4 + q_tmp_1_4;
+                   q_acc_1_5 = q_acc_1_5 + q_tmp_1_5;
+                   q_acc_1_6 = q_acc_1_6 + q_tmp_1_6;
+                   q_acc_1_7 = q_acc_1_7 + q_tmp_1_7;
+                   q_acc_1_8 = q_acc_1_8 + q_tmp_1_8;
+                   q_acc_1_9 = q_acc_1_9 + q_tmp_1_9;
+                   q_acc_2_0 = q_acc_2_0 + q_tmp_2_0;
+                   q_acc_2_1 = q_acc_2_1 + q_tmp_2_1;
+                   q_acc_2_2 = q_acc_2_2 + q_tmp_2_2;
+                   q_acc_2_3 = q_acc_2_3 + q_tmp_2_3;
+                   q_acc_2_4 = q_acc_2_4 + q_tmp_2_4;
+                   q_acc_2_5 = q_acc_2_5 + q_tmp_2_5;
+                   q_acc_2_6 = q_acc_2_6 + q_tmp_2_6;
+                   q_acc_2_7 = q_acc_2_7 + q_tmp_2_7;
+                   q_acc_2_8 = q_acc_2_8 + q_tmp_2_8;
+                   q_acc_2_9 = q_acc_2_9 + q_tmp_2_9;
+                   q_acc_3_0 = q_acc_3_0 + q_tmp_3_0;
+                   q_acc_3_1 = q_acc_3_1 + q_tmp_3_1;
+                   q_acc_3_2 = q_acc_3_2 + q_tmp_3_2;
+                   q_acc_3_3 = q_acc_3_3 + q_tmp_3_3;
+                   q_acc_3_4 = q_acc_3_4 + q_tmp_3_4;
+                   q_acc_3_5 = q_acc_3_5 + q_tmp_3_5;
+                   q_acc_3_6 = q_acc_3_6 + q_tmp_3_6;
+                   q_acc_3_7 = q_acc_3_7 + q_tmp_3_7;
+                   q_acc_3_8 = q_acc_3_8 + q_tmp_3_8;
+                   q_acc_3_9 = q_acc_3_9 + q_tmp_3_9;
+                }
+                const real_t elMatVec_0 = q_acc_0_0*src_dof_0 + q_acc_0_1*src_dof_1 + q_acc_0_2*src_dof_2 + q_acc_0_3*src_dof_3 + q_acc_0_4*src_dof_4 + q_acc_0_5*src_dof_5 + q_acc_0_6*src_dof_6 + q_acc_0_7*src_dof_7 + q_acc_0_8*src_dof_8 + q_acc_0_9*src_dof_9;
+                const real_t elMatVec_1 = q_acc_1_0*src_dof_0 + q_acc_1_1*src_dof_1 + q_acc_1_2*src_dof_2 + q_acc_1_3*src_dof_3 + q_acc_1_4*src_dof_4 + q_acc_1_5*src_dof_5 + q_acc_1_6*src_dof_6 + q_acc_1_7*src_dof_7 + q_acc_1_8*src_dof_8 + q_acc_1_9*src_dof_9;
+                const real_t elMatVec_2 = q_acc_2_0*src_dof_0 + q_acc_2_1*src_dof_1 + q_acc_2_2*src_dof_2 + q_acc_2_3*src_dof_3 + q_acc_2_4*src_dof_4 + q_acc_2_5*src_dof_5 + q_acc_2_6*src_dof_6 + q_acc_2_7*src_dof_7 + q_acc_2_8*src_dof_8 + q_acc_2_9*src_dof_9;
+                const real_t elMatVec_3 = q_acc_3_0*src_dof_0 + q_acc_3_1*src_dof_1 + q_acc_3_2*src_dof_2 + q_acc_3_3*src_dof_3 + q_acc_3_4*src_dof_4 + q_acc_3_5*src_dof_5 + q_acc_3_6*src_dof_6 + q_acc_3_7*src_dof_7 + q_acc_3_8*src_dof_8 + q_acc_3_9*src_dof_9;
+                _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1] = elMatVec_0 + _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1];
+                _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))] = elMatVec_1 + _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))];
+                _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1] = elMatVec_2 + _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1];
+                _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1] = elMatVec_3 + _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1];
+             }
+          }
+       }
+       const real_t tmp_coords_jac_0_BLUE_DOWN = 1.0 / (micro_edges_per_macro_edge_float)*1.0;
+       const real_t tmp_coords_jac_1_BLUE_DOWN = macro_vertex_coord_id_0comp0 + tmp_coords_jac_0_BLUE_DOWN*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0);
+       const real_t tmp_coords_jac_2_BLUE_DOWN = macro_vertex_coord_id_0comp1 + tmp_coords_jac_0_BLUE_DOWN*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1);
+       const real_t tmp_coords_jac_3_BLUE_DOWN = macro_vertex_coord_id_0comp2 + tmp_coords_jac_0_BLUE_DOWN*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2);
+       const real_t tmp_coords_jac_4_BLUE_DOWN = tmp_coords_jac_0_BLUE_DOWN*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0);
+       const real_t tmp_coords_jac_5_BLUE_DOWN = macro_vertex_coord_id_0comp0 + tmp_coords_jac_4_BLUE_DOWN;
+       const real_t tmp_coords_jac_6_BLUE_DOWN = tmp_coords_jac_0_BLUE_DOWN*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1);
+       const real_t tmp_coords_jac_7_BLUE_DOWN = macro_vertex_coord_id_0comp1 + tmp_coords_jac_6_BLUE_DOWN;
+       const real_t tmp_coords_jac_8_BLUE_DOWN = tmp_coords_jac_0_BLUE_DOWN*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2);
+       const real_t tmp_coords_jac_9_BLUE_DOWN = macro_vertex_coord_id_0comp2 + tmp_coords_jac_8_BLUE_DOWN;
+       const real_t p_affine_const_0_0_BLUE_DOWN = tmp_coords_jac_1_BLUE_DOWN;
+       const real_t p_affine_const_0_1_BLUE_DOWN = tmp_coords_jac_2_BLUE_DOWN;
+       const real_t p_affine_const_0_2_BLUE_DOWN = tmp_coords_jac_3_BLUE_DOWN;
+       const real_t p_affine_const_1_0_BLUE_DOWN = tmp_coords_jac_5_BLUE_DOWN;
+       const real_t p_affine_const_1_1_BLUE_DOWN = tmp_coords_jac_7_BLUE_DOWN;
+       const real_t p_affine_const_1_2_BLUE_DOWN = tmp_coords_jac_9_BLUE_DOWN;
+       const real_t p_affine_const_2_0_BLUE_DOWN = tmp_coords_jac_0_BLUE_DOWN*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0) + tmp_coords_jac_5_BLUE_DOWN;
+       const real_t p_affine_const_2_1_BLUE_DOWN = tmp_coords_jac_0_BLUE_DOWN*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1) + tmp_coords_jac_7_BLUE_DOWN;
+       const real_t p_affine_const_2_2_BLUE_DOWN = tmp_coords_jac_0_BLUE_DOWN*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2) + tmp_coords_jac_9_BLUE_DOWN;
+       const real_t p_affine_const_3_0_BLUE_DOWN = tmp_coords_jac_1_BLUE_DOWN + tmp_coords_jac_4_BLUE_DOWN;
+       const real_t p_affine_const_3_1_BLUE_DOWN = tmp_coords_jac_2_BLUE_DOWN + tmp_coords_jac_6_BLUE_DOWN;
+       const real_t p_affine_const_3_2_BLUE_DOWN = tmp_coords_jac_3_BLUE_DOWN + tmp_coords_jac_8_BLUE_DOWN;
+       const real_t jac_affine_0_0_BLUE_DOWN = -p_affine_const_0_0_BLUE_DOWN + p_affine_const_1_0_BLUE_DOWN;
+       const real_t jac_affine_0_1_BLUE_DOWN = -p_affine_const_0_0_BLUE_DOWN + p_affine_const_2_0_BLUE_DOWN;
+       const real_t jac_affine_0_2_BLUE_DOWN = -p_affine_const_0_0_BLUE_DOWN + p_affine_const_3_0_BLUE_DOWN;
+       const real_t jac_affine_1_0_BLUE_DOWN = -p_affine_const_0_1_BLUE_DOWN + p_affine_const_1_1_BLUE_DOWN;
+       const real_t jac_affine_1_1_BLUE_DOWN = -p_affine_const_0_1_BLUE_DOWN + p_affine_const_2_1_BLUE_DOWN;
+       const real_t jac_affine_1_2_BLUE_DOWN = -p_affine_const_0_1_BLUE_DOWN + p_affine_const_3_1_BLUE_DOWN;
+       const real_t jac_affine_2_0_BLUE_DOWN = -p_affine_const_0_2_BLUE_DOWN + p_affine_const_1_2_BLUE_DOWN;
+       const real_t jac_affine_2_1_BLUE_DOWN = -p_affine_const_0_2_BLUE_DOWN + p_affine_const_2_2_BLUE_DOWN;
+       const real_t jac_affine_2_2_BLUE_DOWN = -p_affine_const_0_2_BLUE_DOWN + p_affine_const_3_2_BLUE_DOWN;
+       const real_t abs_det_jac_affine_BLUE_DOWN = abs(jac_affine_0_0_BLUE_DOWN*jac_affine_1_1_BLUE_DOWN*jac_affine_2_2_BLUE_DOWN - jac_affine_0_0_BLUE_DOWN*jac_affine_1_2_BLUE_DOWN*jac_affine_2_1_BLUE_DOWN - jac_affine_0_1_BLUE_DOWN*jac_affine_1_0_BLUE_DOWN*jac_affine_2_2_BLUE_DOWN + jac_affine_0_1_BLUE_DOWN*jac_affine_1_2_BLUE_DOWN*jac_affine_2_0_BLUE_DOWN + jac_affine_0_2_BLUE_DOWN*jac_affine_1_0_BLUE_DOWN*jac_affine_2_1_BLUE_DOWN - jac_affine_0_2_BLUE_DOWN*jac_affine_1_1_BLUE_DOWN*jac_affine_2_0_BLUE_DOWN);
+       {
+          /* CellType.BLUE_DOWN */
+          const real_t _data_phi_psi_jac_affine_det_0_0_BLUE_DOWN [] = {((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.018518518518518524)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.018518518518518524)), 0.0, ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.05555555555555558)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.05555555555555558)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.018518518518518524)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.055555555555555594)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.018518518518518535)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.018518518518518535)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.018518518518518507)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.018518518518518517)), 0.0, ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.055555555555555552)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.055555555555555552)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.055555555555555566)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.018518518518518524)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.018518518518518524)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.018518518518518507)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.018518518518518517)), 0.0, ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.055555555555555552)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.055555555555555566)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.018518518518518524)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.018518518518518524)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.055555555555555525)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.055555555555555552)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.055555555555555552)), 0.0, ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.16666666666666666)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.16666666666666666)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.16666666666666671)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.05555555555555558)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.05555555555555558)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.018518518518518531)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.018518518518518521)), 0.0, ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.018518518518518521)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.055555555555555566)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.018518518518518521)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.055555555555555566)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.018518518518518531)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.055555555555555587)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.018518518518518531)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.018518518518518524)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.018518518518518517)), 0.0, ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.055555555555555552)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.055555555555555552)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.018518518518518524)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.055555555555555566)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.018518518518518524)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.05555555555555558)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.055555555555555552)), 0.0, ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.055555555555555552)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.16666666666666666)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.16666666666666666)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.05555555555555558)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.16666666666666671)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.05555555555555558)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.018518518518518524)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.018518518518518517)), 0.0, ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.055555555555555552)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.018518518518518524)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.055555555555555566)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.018518518518518524)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.018518518518518531)), 0.0, ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.018518518518518521)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.018518518518518521)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.018518518518518521)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.055555555555555566)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.055555555555555566)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.018518518518518531)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.018518518518518531)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.055555555555555587)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.05555555555555558)), 0.0, ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.055555555555555552)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.055555555555555552)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.055555555555555552)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.16666666666666666)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.16666666666666666)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.05555555555555558)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.05555555555555558)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.16666666666666671)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.018518518518518524)), 0.0, ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.055555555555555552)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.018518518518518524)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.018518518518518524)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.055555555555555566)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.018518518518518524)), 0.0, ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.055555555555555552)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.018518518518518524)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.018518518518518524)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.055555555555555566)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*2.775557561562892e-17)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.055555555555555566)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.055555555555555566)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.055555555555555566)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.055555555555555566)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.055555555555555566)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.055555555555555566)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.16666666666666671)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.16666666666666671)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.16666666666666671)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*9.2518585385429707e-18)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.055555555555555559)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.055555555555555559)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.055555555555555559)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*9.2518585385429707e-18)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.055555555555555559)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.055555555555555559)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.055555555555555559)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*9.2518585385429707e-18)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.055555555555555559)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.055555555555555559)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.055555555555555559))};
+      
+          for (int64_t ctr_2 = 0; ctr_2 < micro_edges_per_macro_edge; ctr_2 += 1)
+          for (int64_t ctr_1 = 0; ctr_1 < -ctr_2 + micro_edges_per_macro_edge; ctr_1 += 1)
+          {
+             for (int64_t ctr_0 = 0; ctr_0 < (int64_t)((-ctr_1 - ctr_2 + micro_edges_per_macro_edge - 1) / (4)) * (4); ctr_0 += 4)
+             {
+                const __m256d src_dof_0 = _mm256_loadu_pd(& _data_srcVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]);
+                const __m256d src_dof_1 = _mm256_loadu_pd(& _data_srcVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]);
+                const __m256d src_dof_2 = _mm256_loadu_pd(& _data_srcVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]);
+                const __m256d src_dof_3 = _mm256_loadu_pd(& _data_srcVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]);
+                const __m256d src_dof_4 = _mm256_loadu_pd(& _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]);
+                const __m256d src_dof_5 = _mm256_loadu_pd(& _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + 2*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]);
+                const __m256d src_dof_6 = _mm256_loadu_pd(& _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]);
+                const __m256d src_dof_7 = _mm256_loadu_pd(& _data_srcEdge[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]);
+                const __m256d src_dof_8 = _mm256_loadu_pd(& _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge - 1)*(micro_edges_per_macro_edge + 1)) / (6)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]);
+                const __m256d src_dof_9 = _mm256_loadu_pd(& _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]);
+                const __m256d k_dof_0 = _mm256_loadu_pd(& _data_kVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]);
+                const __m256d k_dof_1 = _mm256_loadu_pd(& _data_kVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]);
+                const __m256d k_dof_2 = _mm256_loadu_pd(& _data_kVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]);
+                const __m256d k_dof_3 = _mm256_loadu_pd(& _data_kVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]);
+                const __m256d k_dof_4 = _mm256_loadu_pd(& _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]);
+                const __m256d k_dof_5 = _mm256_loadu_pd(& _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + 2*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]);
+                const __m256d k_dof_6 = _mm256_loadu_pd(& _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]);
+                const __m256d k_dof_7 = _mm256_loadu_pd(& _data_kEdge[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]);
+                const __m256d k_dof_8 = _mm256_loadu_pd(& _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge - 1)*(micro_edges_per_macro_edge + 1)) / (6)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]);
+                const __m256d k_dof_9 = _mm256_loadu_pd(& _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]);
+                __m256d q_acc_0_0 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_0_1 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_0_2 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_0_3 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_0_4 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_0_5 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_0_6 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_0_7 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_0_8 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_0_9 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_1_0 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_1_1 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_1_2 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_1_3 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_1_4 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_1_5 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_1_6 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_1_7 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_1_8 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_1_9 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_2_0 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_2_1 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_2_2 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_2_3 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_2_4 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_2_5 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_2_6 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_2_7 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_2_8 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_2_9 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_3_0 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_3_1 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_3_2 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_3_3 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_3_4 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_3_5 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_3_6 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_3_7 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_3_8 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_3_9 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                for (int64_t q = 0; q < 5; q += 1)
+                {
+                   const __m256d tmp_qloop_0 = _mm256_mul_pd(_mm256_set_pd(4.0,4.0,4.0,4.0),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q]));
+                   const __m256d tmp_qloop_1 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q]));
+                   const __m256d tmp_qloop_2 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q]));
+                   const __m256d tmp_qloop_3 = _mm256_mul_pd(_mm256_mul_pd(_mm256_set_pd(4.0,4.0,4.0,4.0),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q])),_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q]));
+                   const __m256d tmp_qloop_4 = _mm256_mul_pd(_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q]),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q]));
+                   const __m256d tmp_qloop_5 = _mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(2.0,2.0,2.0,2.0));
+                   const __m256d tmp_qloop_6 = _mm256_mul_pd(_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q]),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q]));
+                   const __m256d tmp_qloop_7 = _mm256_mul_pd(tmp_qloop_6,_mm256_set_pd(2.0,2.0,2.0,2.0));
+                   const __m256d tmp_qloop_8 = _mm256_mul_pd(_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q]),_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q]));
+                   const __m256d tmp_qloop_9 = _mm256_mul_pd(tmp_qloop_8,_mm256_set_pd(2.0,2.0,2.0,2.0));
+                   const __m256d tmp_qloop_10 = _mm256_add_pd(tmp_qloop_1,tmp_qloop_2);
+                   const __m256d tmp_qloop_11 = _mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(k_dof_1,_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q])),tmp_qloop_5)),_mm256_mul_pd(k_dof_2,_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q])),tmp_qloop_7))),_mm256_mul_pd(k_dof_3,_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q])),tmp_qloop_9))),_mm256_mul_pd(k_dof_9,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(4.0,4.0,4.0,4.0),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q])),_mm256_mul_pd(tmp_qloop_10,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(-4.0,-4.0,-4.0,-4.0))))),_mm256_mul_pd(k_dof_8,_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(4.0,4.0,4.0,4.0),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q])),_mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_3,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_6,_mm256_set_pd(-4.0,-4.0,-4.0,-4.0))))),_mm256_mul_pd(k_dof_7,_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(4.0,4.0,4.0,4.0),_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q])),_mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_3,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_8,_mm256_set_pd(-4.0,-4.0,-4.0,-4.0))))),_mm256_mul_pd(k_dof_0,_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-3.0,-3.0,-3.0,-3.0),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q])),_mm256_mul_pd(_mm256_set_pd(-3.0,-3.0,-3.0,-3.0),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q]))),_mm256_mul_pd(_mm256_set_pd(-3.0,-3.0,-3.0,-3.0),_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q]))),_mm256_set_pd(1.0,1.0,1.0,1.0)),tmp_qloop_10),tmp_qloop_3),tmp_qloop_5),tmp_qloop_7),tmp_qloop_9))),_mm256_mul_pd(k_dof_4,tmp_qloop_3)),_mm256_mul_pd(k_dof_5,tmp_qloop_2)),_mm256_mul_pd(k_dof_6,tmp_qloop_1)),_mm256_set_pd(_data_q_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q]));
+                   const __m256d tmp_qloop_12 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 14],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 14],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 14],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 14]));
+                   const __m256d q_tmp_0_0 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q]));
+                   const __m256d q_tmp_0_1 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 1],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 1],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 1],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 1]));
+                   const __m256d q_tmp_0_2 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 2],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 2],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 2],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 2]));
+                   const __m256d q_tmp_0_3 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 3],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 3],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 3],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 3]));
+                   const __m256d q_tmp_0_4 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 4],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 4],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 4],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 4]));
+                   const __m256d q_tmp_0_5 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 5],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 5],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 5],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 5]));
+                   const __m256d q_tmp_0_6 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 6],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 6],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 6],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 6]));
+                   const __m256d q_tmp_0_7 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 7],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 7],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 7],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 7]));
+                   const __m256d q_tmp_0_8 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 8],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 8],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 8],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 8]));
+                   const __m256d q_tmp_0_9 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 9],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 9],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 9],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 9]));
+                   const __m256d q_tmp_1_0 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 10],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 10],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 10],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 10]));
+                   const __m256d q_tmp_1_1 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 11],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 11],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 11],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 11]));
+                   const __m256d q_tmp_1_2 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 12],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 12],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 12],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 12]));
+                   const __m256d q_tmp_1_3 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 13],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 13],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 13],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 13]));
+                   const __m256d q_tmp_1_4 = tmp_qloop_12;
+                   const __m256d q_tmp_1_5 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 15],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 15],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 15],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 15]));
+                   const __m256d q_tmp_1_6 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 16],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 16],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 16],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 16]));
+                   const __m256d q_tmp_1_7 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 17],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 17],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 17],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 17]));
+                   const __m256d q_tmp_1_8 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 18],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 18],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 18],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 18]));
+                   const __m256d q_tmp_1_9 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 19],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 19],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 19],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 19]));
+                   const __m256d q_tmp_2_0 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 20],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 20],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 20],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 20]));
+                   const __m256d q_tmp_2_1 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 21],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 21],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 21],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 21]));
+                   const __m256d q_tmp_2_2 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 22],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 22],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 22],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 22]));
+                   const __m256d q_tmp_2_3 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 23],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 23],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 23],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 23]));
+                   const __m256d q_tmp_2_4 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 24],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 24],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 24],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 24]));
+                   const __m256d q_tmp_2_5 = tmp_qloop_12;
+                   const __m256d q_tmp_2_6 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 25],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 25],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 25],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 25]));
+                   const __m256d q_tmp_2_7 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 26],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 26],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 26],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 26]));
+                   const __m256d q_tmp_2_8 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 27],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 27],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 27],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 27]));
+                   const __m256d q_tmp_2_9 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 28],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 28],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 28],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 28]));
+                   const __m256d q_tmp_3_0 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 29],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 29],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 29],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 29]));
+                   const __m256d q_tmp_3_1 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 30],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 30],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 30],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 30]));
+                   const __m256d q_tmp_3_2 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 31],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 31],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 31],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 31]));
+                   const __m256d q_tmp_3_3 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 32],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 32],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 32],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 32]));
+                   const __m256d q_tmp_3_4 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 33],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 33],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 33],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 33]));
+                   const __m256d q_tmp_3_5 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 34],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 34],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 34],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 34]));
+                   const __m256d q_tmp_3_6 = tmp_qloop_12;
+                   const __m256d q_tmp_3_7 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 35],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 35],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 35],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 35]));
+                   const __m256d q_tmp_3_8 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 36],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 36],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 36],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 36]));
+                   const __m256d q_tmp_3_9 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 37],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 37],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 37],_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 37]));
+                   q_acc_0_0 = _mm256_add_pd(q_acc_0_0,q_tmp_0_0);
+                   q_acc_0_1 = _mm256_add_pd(q_acc_0_1,q_tmp_0_1);
+                   q_acc_0_2 = _mm256_add_pd(q_acc_0_2,q_tmp_0_2);
+                   q_acc_0_3 = _mm256_add_pd(q_acc_0_3,q_tmp_0_3);
+                   q_acc_0_4 = _mm256_add_pd(q_acc_0_4,q_tmp_0_4);
+                   q_acc_0_5 = _mm256_add_pd(q_acc_0_5,q_tmp_0_5);
+                   q_acc_0_6 = _mm256_add_pd(q_acc_0_6,q_tmp_0_6);
+                   q_acc_0_7 = _mm256_add_pd(q_acc_0_7,q_tmp_0_7);
+                   q_acc_0_8 = _mm256_add_pd(q_acc_0_8,q_tmp_0_8);
+                   q_acc_0_9 = _mm256_add_pd(q_acc_0_9,q_tmp_0_9);
+                   q_acc_1_0 = _mm256_add_pd(q_acc_1_0,q_tmp_1_0);
+                   q_acc_1_1 = _mm256_add_pd(q_acc_1_1,q_tmp_1_1);
+                   q_acc_1_2 = _mm256_add_pd(q_acc_1_2,q_tmp_1_2);
+                   q_acc_1_3 = _mm256_add_pd(q_acc_1_3,q_tmp_1_3);
+                   q_acc_1_4 = _mm256_add_pd(q_acc_1_4,q_tmp_1_4);
+                   q_acc_1_5 = _mm256_add_pd(q_acc_1_5,q_tmp_1_5);
+                   q_acc_1_6 = _mm256_add_pd(q_acc_1_6,q_tmp_1_6);
+                   q_acc_1_7 = _mm256_add_pd(q_acc_1_7,q_tmp_1_7);
+                   q_acc_1_8 = _mm256_add_pd(q_acc_1_8,q_tmp_1_8);
+                   q_acc_1_9 = _mm256_add_pd(q_acc_1_9,q_tmp_1_9);
+                   q_acc_2_0 = _mm256_add_pd(q_acc_2_0,q_tmp_2_0);
+                   q_acc_2_1 = _mm256_add_pd(q_acc_2_1,q_tmp_2_1);
+                   q_acc_2_2 = _mm256_add_pd(q_acc_2_2,q_tmp_2_2);
+                   q_acc_2_3 = _mm256_add_pd(q_acc_2_3,q_tmp_2_3);
+                   q_acc_2_4 = _mm256_add_pd(q_acc_2_4,q_tmp_2_4);
+                   q_acc_2_5 = _mm256_add_pd(q_acc_2_5,q_tmp_2_5);
+                   q_acc_2_6 = _mm256_add_pd(q_acc_2_6,q_tmp_2_6);
+                   q_acc_2_7 = _mm256_add_pd(q_acc_2_7,q_tmp_2_7);
+                   q_acc_2_8 = _mm256_add_pd(q_acc_2_8,q_tmp_2_8);
+                   q_acc_2_9 = _mm256_add_pd(q_acc_2_9,q_tmp_2_9);
+                   q_acc_3_0 = _mm256_add_pd(q_acc_3_0,q_tmp_3_0);
+                   q_acc_3_1 = _mm256_add_pd(q_acc_3_1,q_tmp_3_1);
+                   q_acc_3_2 = _mm256_add_pd(q_acc_3_2,q_tmp_3_2);
+                   q_acc_3_3 = _mm256_add_pd(q_acc_3_3,q_tmp_3_3);
+                   q_acc_3_4 = _mm256_add_pd(q_acc_3_4,q_tmp_3_4);
+                   q_acc_3_5 = _mm256_add_pd(q_acc_3_5,q_tmp_3_5);
+                   q_acc_3_6 = _mm256_add_pd(q_acc_3_6,q_tmp_3_6);
+                   q_acc_3_7 = _mm256_add_pd(q_acc_3_7,q_tmp_3_7);
+                   q_acc_3_8 = _mm256_add_pd(q_acc_3_8,q_tmp_3_8);
+                   q_acc_3_9 = _mm256_add_pd(q_acc_3_9,q_tmp_3_9);
+                }
+                const __m256d elMatVec_0 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(q_acc_0_0,src_dof_0),_mm256_mul_pd(q_acc_0_1,src_dof_1)),_mm256_mul_pd(q_acc_0_2,src_dof_2)),_mm256_mul_pd(q_acc_0_3,src_dof_3)),_mm256_mul_pd(q_acc_0_4,src_dof_4)),_mm256_mul_pd(q_acc_0_5,src_dof_5)),_mm256_mul_pd(q_acc_0_6,src_dof_6)),_mm256_mul_pd(q_acc_0_7,src_dof_7)),_mm256_mul_pd(q_acc_0_8,src_dof_8)),_mm256_mul_pd(q_acc_0_9,src_dof_9));
+                const __m256d elMatVec_1 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(q_acc_1_0,src_dof_0),_mm256_mul_pd(q_acc_1_1,src_dof_1)),_mm256_mul_pd(q_acc_1_2,src_dof_2)),_mm256_mul_pd(q_acc_1_3,src_dof_3)),_mm256_mul_pd(q_acc_1_4,src_dof_4)),_mm256_mul_pd(q_acc_1_5,src_dof_5)),_mm256_mul_pd(q_acc_1_6,src_dof_6)),_mm256_mul_pd(q_acc_1_7,src_dof_7)),_mm256_mul_pd(q_acc_1_8,src_dof_8)),_mm256_mul_pd(q_acc_1_9,src_dof_9));
+                const __m256d elMatVec_2 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(q_acc_2_0,src_dof_0),_mm256_mul_pd(q_acc_2_1,src_dof_1)),_mm256_mul_pd(q_acc_2_2,src_dof_2)),_mm256_mul_pd(q_acc_2_3,src_dof_3)),_mm256_mul_pd(q_acc_2_4,src_dof_4)),_mm256_mul_pd(q_acc_2_5,src_dof_5)),_mm256_mul_pd(q_acc_2_6,src_dof_6)),_mm256_mul_pd(q_acc_2_7,src_dof_7)),_mm256_mul_pd(q_acc_2_8,src_dof_8)),_mm256_mul_pd(q_acc_2_9,src_dof_9));
+                const __m256d elMatVec_3 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(q_acc_3_0,src_dof_0),_mm256_mul_pd(q_acc_3_1,src_dof_1)),_mm256_mul_pd(q_acc_3_2,src_dof_2)),_mm256_mul_pd(q_acc_3_3,src_dof_3)),_mm256_mul_pd(q_acc_3_4,src_dof_4)),_mm256_mul_pd(q_acc_3_5,src_dof_5)),_mm256_mul_pd(q_acc_3_6,src_dof_6)),_mm256_mul_pd(q_acc_3_7,src_dof_7)),_mm256_mul_pd(q_acc_3_8,src_dof_8)),_mm256_mul_pd(q_acc_3_9,src_dof_9));
+                _mm256_storeu_pd(&_data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))],_mm256_add_pd(elMatVec_0,_mm256_loadu_pd(& _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))])));
+                _mm256_storeu_pd(&_data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))],_mm256_add_pd(elMatVec_1,_mm256_loadu_pd(& _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))])));
+                _mm256_storeu_pd(&_data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1],_mm256_add_pd(elMatVec_2,_mm256_loadu_pd(& _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1])));
+                _mm256_storeu_pd(&_data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))],_mm256_add_pd(elMatVec_3,_mm256_loadu_pd(& _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))])));
+             }
+             for (int64_t ctr_0 = (int64_t)((-ctr_1 - ctr_2 + micro_edges_per_macro_edge - 1) / (4)) * (4); ctr_0 < -ctr_1 - ctr_2 + micro_edges_per_macro_edge - 1; ctr_0 += 1)
+             {
+                const real_t src_dof_0 = _data_srcVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))];
+                const real_t src_dof_1 = _data_srcVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))];
+                const real_t src_dof_2 = _data_srcVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1];
+                const real_t src_dof_3 = _data_srcVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))];
+                const real_t src_dof_4 = _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))];
+                const real_t src_dof_5 = _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + 2*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))];
+                const real_t src_dof_6 = _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))];
+                const real_t src_dof_7 = _data_srcEdge[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))];
+                const real_t src_dof_8 = _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge - 1)*(micro_edges_per_macro_edge + 1)) / (6)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))];
+                const real_t src_dof_9 = _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))];
+                const real_t k_dof_0 = _data_kVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))];
+                const real_t k_dof_1 = _data_kVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))];
+                const real_t k_dof_2 = _data_kVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1];
+                const real_t k_dof_3 = _data_kVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))];
+                const real_t k_dof_4 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))];
+                const real_t k_dof_5 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + 2*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))];
+                const real_t k_dof_6 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))];
+                const real_t k_dof_7 = _data_kEdge[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))];
+                const real_t k_dof_8 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge - 1)*(micro_edges_per_macro_edge + 1)) / (6)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))];
+                const real_t k_dof_9 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))];
+                real_t q_acc_0_0 = 0.0;
+                real_t q_acc_0_1 = 0.0;
+                real_t q_acc_0_2 = 0.0;
+                real_t q_acc_0_3 = 0.0;
+                real_t q_acc_0_4 = 0.0;
+                real_t q_acc_0_5 = 0.0;
+                real_t q_acc_0_6 = 0.0;
+                real_t q_acc_0_7 = 0.0;
+                real_t q_acc_0_8 = 0.0;
+                real_t q_acc_0_9 = 0.0;
+                real_t q_acc_1_0 = 0.0;
+                real_t q_acc_1_1 = 0.0;
+                real_t q_acc_1_2 = 0.0;
+                real_t q_acc_1_3 = 0.0;
+                real_t q_acc_1_4 = 0.0;
+                real_t q_acc_1_5 = 0.0;
+                real_t q_acc_1_6 = 0.0;
+                real_t q_acc_1_7 = 0.0;
+                real_t q_acc_1_8 = 0.0;
+                real_t q_acc_1_9 = 0.0;
+                real_t q_acc_2_0 = 0.0;
+                real_t q_acc_2_1 = 0.0;
+                real_t q_acc_2_2 = 0.0;
+                real_t q_acc_2_3 = 0.0;
+                real_t q_acc_2_4 = 0.0;
+                real_t q_acc_2_5 = 0.0;
+                real_t q_acc_2_6 = 0.0;
+                real_t q_acc_2_7 = 0.0;
+                real_t q_acc_2_8 = 0.0;
+                real_t q_acc_2_9 = 0.0;
+                real_t q_acc_3_0 = 0.0;
+                real_t q_acc_3_1 = 0.0;
+                real_t q_acc_3_2 = 0.0;
+                real_t q_acc_3_3 = 0.0;
+                real_t q_acc_3_4 = 0.0;
+                real_t q_acc_3_5 = 0.0;
+                real_t q_acc_3_6 = 0.0;
+                real_t q_acc_3_7 = 0.0;
+                real_t q_acc_3_8 = 0.0;
+                real_t q_acc_3_9 = 0.0;
+                for (int64_t q = 0; q < 5; q += 1)
+                {
+                   const real_t tmp_qloop_0 = 4.0*_data_q_p_0[q];
+                   const real_t tmp_qloop_1 = tmp_qloop_0*_data_q_p_1[q];
+                   const real_t tmp_qloop_2 = tmp_qloop_0*_data_q_p_2[q];
+                   const real_t tmp_qloop_3 = 4.0*_data_q_p_1[q]*_data_q_p_2[q];
+                   const real_t tmp_qloop_4 = (_data_q_p_0[q]*_data_q_p_0[q]);
+                   const real_t tmp_qloop_5 = tmp_qloop_4*2.0;
+                   const real_t tmp_qloop_6 = (_data_q_p_1[q]*_data_q_p_1[q]);
+                   const real_t tmp_qloop_7 = tmp_qloop_6*2.0;
+                   const real_t tmp_qloop_8 = (_data_q_p_2[q]*_data_q_p_2[q]);
+                   const real_t tmp_qloop_9 = tmp_qloop_8*2.0;
+                   const real_t tmp_qloop_10 = tmp_qloop_1 + tmp_qloop_2;
+                   const real_t tmp_qloop_11 = (k_dof_0*(tmp_qloop_10 + tmp_qloop_3 + tmp_qloop_5 + tmp_qloop_7 + tmp_qloop_9 - 3.0*_data_q_p_0[q] - 3.0*_data_q_p_1[q] - 3.0*_data_q_p_2[q] + 1.0) + k_dof_1*(tmp_qloop_5 - _data_q_p_0[q]) + k_dof_2*(tmp_qloop_7 - _data_q_p_1[q]) + k_dof_3*(tmp_qloop_9 - _data_q_p_2[q]) + k_dof_4*tmp_qloop_3 + k_dof_5*tmp_qloop_2 + k_dof_6*tmp_qloop_1 + k_dof_7*(-tmp_qloop_2 - tmp_qloop_3 + tmp_qloop_8*-4.0 + 4.0*_data_q_p_2[q]) + k_dof_8*(-tmp_qloop_1 - tmp_qloop_3 + tmp_qloop_6*-4.0 + 4.0*_data_q_p_1[q]) + k_dof_9*(-tmp_qloop_10 + tmp_qloop_4*-4.0 + 4.0*_data_q_p_0[q]))*_data_q_w[q];
+                   const real_t tmp_qloop_12 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 14];
+                   const real_t q_tmp_0_0 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q];
+                   const real_t q_tmp_0_1 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 1];
+                   const real_t q_tmp_0_2 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 2];
+                   const real_t q_tmp_0_3 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 3];
+                   const real_t q_tmp_0_4 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 4];
+                   const real_t q_tmp_0_5 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 5];
+                   const real_t q_tmp_0_6 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 6];
+                   const real_t q_tmp_0_7 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 7];
+                   const real_t q_tmp_0_8 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 8];
+                   const real_t q_tmp_0_9 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 9];
+                   const real_t q_tmp_1_0 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 10];
+                   const real_t q_tmp_1_1 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 11];
+                   const real_t q_tmp_1_2 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 12];
+                   const real_t q_tmp_1_3 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 13];
+                   const real_t q_tmp_1_4 = tmp_qloop_12;
+                   const real_t q_tmp_1_5 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 15];
+                   const real_t q_tmp_1_6 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 16];
+                   const real_t q_tmp_1_7 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 17];
+                   const real_t q_tmp_1_8 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 18];
+                   const real_t q_tmp_1_9 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 19];
+                   const real_t q_tmp_2_0 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 20];
+                   const real_t q_tmp_2_1 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 21];
+                   const real_t q_tmp_2_2 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 22];
+                   const real_t q_tmp_2_3 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 23];
+                   const real_t q_tmp_2_4 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 24];
+                   const real_t q_tmp_2_5 = tmp_qloop_12;
+                   const real_t q_tmp_2_6 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 25];
+                   const real_t q_tmp_2_7 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 26];
+                   const real_t q_tmp_2_8 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 27];
+                   const real_t q_tmp_2_9 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 28];
+                   const real_t q_tmp_3_0 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 29];
+                   const real_t q_tmp_3_1 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 30];
+                   const real_t q_tmp_3_2 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 31];
+                   const real_t q_tmp_3_3 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 32];
+                   const real_t q_tmp_3_4 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 33];
+                   const real_t q_tmp_3_5 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 34];
+                   const real_t q_tmp_3_6 = tmp_qloop_12;
+                   const real_t q_tmp_3_7 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 35];
+                   const real_t q_tmp_3_8 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 36];
+                   const real_t q_tmp_3_9 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 37];
+                   q_acc_0_0 = q_acc_0_0 + q_tmp_0_0;
+                   q_acc_0_1 = q_acc_0_1 + q_tmp_0_1;
+                   q_acc_0_2 = q_acc_0_2 + q_tmp_0_2;
+                   q_acc_0_3 = q_acc_0_3 + q_tmp_0_3;
+                   q_acc_0_4 = q_acc_0_4 + q_tmp_0_4;
+                   q_acc_0_5 = q_acc_0_5 + q_tmp_0_5;
+                   q_acc_0_6 = q_acc_0_6 + q_tmp_0_6;
+                   q_acc_0_7 = q_acc_0_7 + q_tmp_0_7;
+                   q_acc_0_8 = q_acc_0_8 + q_tmp_0_8;
+                   q_acc_0_9 = q_acc_0_9 + q_tmp_0_9;
+                   q_acc_1_0 = q_acc_1_0 + q_tmp_1_0;
+                   q_acc_1_1 = q_acc_1_1 + q_tmp_1_1;
+                   q_acc_1_2 = q_acc_1_2 + q_tmp_1_2;
+                   q_acc_1_3 = q_acc_1_3 + q_tmp_1_3;
+                   q_acc_1_4 = q_acc_1_4 + q_tmp_1_4;
+                   q_acc_1_5 = q_acc_1_5 + q_tmp_1_5;
+                   q_acc_1_6 = q_acc_1_6 + q_tmp_1_6;
+                   q_acc_1_7 = q_acc_1_7 + q_tmp_1_7;
+                   q_acc_1_8 = q_acc_1_8 + q_tmp_1_8;
+                   q_acc_1_9 = q_acc_1_9 + q_tmp_1_9;
+                   q_acc_2_0 = q_acc_2_0 + q_tmp_2_0;
+                   q_acc_2_1 = q_acc_2_1 + q_tmp_2_1;
+                   q_acc_2_2 = q_acc_2_2 + q_tmp_2_2;
+                   q_acc_2_3 = q_acc_2_3 + q_tmp_2_3;
+                   q_acc_2_4 = q_acc_2_4 + q_tmp_2_4;
+                   q_acc_2_5 = q_acc_2_5 + q_tmp_2_5;
+                   q_acc_2_6 = q_acc_2_6 + q_tmp_2_6;
+                   q_acc_2_7 = q_acc_2_7 + q_tmp_2_7;
+                   q_acc_2_8 = q_acc_2_8 + q_tmp_2_8;
+                   q_acc_2_9 = q_acc_2_9 + q_tmp_2_9;
+                   q_acc_3_0 = q_acc_3_0 + q_tmp_3_0;
+                   q_acc_3_1 = q_acc_3_1 + q_tmp_3_1;
+                   q_acc_3_2 = q_acc_3_2 + q_tmp_3_2;
+                   q_acc_3_3 = q_acc_3_3 + q_tmp_3_3;
+                   q_acc_3_4 = q_acc_3_4 + q_tmp_3_4;
+                   q_acc_3_5 = q_acc_3_5 + q_tmp_3_5;
+                   q_acc_3_6 = q_acc_3_6 + q_tmp_3_6;
+                   q_acc_3_7 = q_acc_3_7 + q_tmp_3_7;
+                   q_acc_3_8 = q_acc_3_8 + q_tmp_3_8;
+                   q_acc_3_9 = q_acc_3_9 + q_tmp_3_9;
+                }
+                const real_t elMatVec_0 = q_acc_0_0*src_dof_0 + q_acc_0_1*src_dof_1 + q_acc_0_2*src_dof_2 + q_acc_0_3*src_dof_3 + q_acc_0_4*src_dof_4 + q_acc_0_5*src_dof_5 + q_acc_0_6*src_dof_6 + q_acc_0_7*src_dof_7 + q_acc_0_8*src_dof_8 + q_acc_0_9*src_dof_9;
+                const real_t elMatVec_1 = q_acc_1_0*src_dof_0 + q_acc_1_1*src_dof_1 + q_acc_1_2*src_dof_2 + q_acc_1_3*src_dof_3 + q_acc_1_4*src_dof_4 + q_acc_1_5*src_dof_5 + q_acc_1_6*src_dof_6 + q_acc_1_7*src_dof_7 + q_acc_1_8*src_dof_8 + q_acc_1_9*src_dof_9;
+                const real_t elMatVec_2 = q_acc_2_0*src_dof_0 + q_acc_2_1*src_dof_1 + q_acc_2_2*src_dof_2 + q_acc_2_3*src_dof_3 + q_acc_2_4*src_dof_4 + q_acc_2_5*src_dof_5 + q_acc_2_6*src_dof_6 + q_acc_2_7*src_dof_7 + q_acc_2_8*src_dof_8 + q_acc_2_9*src_dof_9;
+                const real_t elMatVec_3 = q_acc_3_0*src_dof_0 + q_acc_3_1*src_dof_1 + q_acc_3_2*src_dof_2 + q_acc_3_3*src_dof_3 + q_acc_3_4*src_dof_4 + q_acc_3_5*src_dof_5 + q_acc_3_6*src_dof_6 + q_acc_3_7*src_dof_7 + q_acc_3_8*src_dof_8 + q_acc_3_9*src_dof_9;
+                _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))] = elMatVec_0 + _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))];
+                _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))] = elMatVec_1 + _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))];
+                _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1] = elMatVec_2 + _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1];
+                _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))] = elMatVec_3 + _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))];
+             }
+          }
+       }
+       const real_t tmp_coords_jac_0_GREEN_UP = 1.0 / (micro_edges_per_macro_edge_float)*1.0;
+       const real_t tmp_coords_jac_1_GREEN_UP = macro_vertex_coord_id_0comp0 + tmp_coords_jac_0_GREEN_UP*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0);
+       const real_t tmp_coords_jac_2_GREEN_UP = macro_vertex_coord_id_0comp1 + tmp_coords_jac_0_GREEN_UP*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1);
+       const real_t tmp_coords_jac_3_GREEN_UP = macro_vertex_coord_id_0comp2 + tmp_coords_jac_0_GREEN_UP*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2);
+       const real_t tmp_coords_jac_4_GREEN_UP = tmp_coords_jac_0_GREEN_UP*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0);
+       const real_t tmp_coords_jac_5_GREEN_UP = tmp_coords_jac_0_GREEN_UP*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1);
+       const real_t tmp_coords_jac_6_GREEN_UP = tmp_coords_jac_0_GREEN_UP*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2);
+       const real_t p_affine_const_0_0_GREEN_UP = tmp_coords_jac_1_GREEN_UP;
+       const real_t p_affine_const_0_1_GREEN_UP = tmp_coords_jac_2_GREEN_UP;
+       const real_t p_affine_const_0_2_GREEN_UP = tmp_coords_jac_3_GREEN_UP;
+       const real_t p_affine_const_1_0_GREEN_UP = macro_vertex_coord_id_0comp0 + tmp_coords_jac_0_GREEN_UP*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0);
+       const real_t p_affine_const_1_1_GREEN_UP = macro_vertex_coord_id_0comp1 + tmp_coords_jac_0_GREEN_UP*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1);
+       const real_t p_affine_const_1_2_GREEN_UP = macro_vertex_coord_id_0comp2 + tmp_coords_jac_0_GREEN_UP*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2);
+       const real_t p_affine_const_2_0_GREEN_UP = macro_vertex_coord_id_0comp0 + tmp_coords_jac_4_GREEN_UP;
+       const real_t p_affine_const_2_1_GREEN_UP = macro_vertex_coord_id_0comp1 + tmp_coords_jac_5_GREEN_UP;
+       const real_t p_affine_const_2_2_GREEN_UP = macro_vertex_coord_id_0comp2 + tmp_coords_jac_6_GREEN_UP;
+       const real_t p_affine_const_3_0_GREEN_UP = tmp_coords_jac_1_GREEN_UP + tmp_coords_jac_4_GREEN_UP;
+       const real_t p_affine_const_3_1_GREEN_UP = tmp_coords_jac_2_GREEN_UP + tmp_coords_jac_5_GREEN_UP;
+       const real_t p_affine_const_3_2_GREEN_UP = tmp_coords_jac_3_GREEN_UP + tmp_coords_jac_6_GREEN_UP;
+       const real_t jac_affine_0_0_GREEN_UP = -p_affine_const_0_0_GREEN_UP + p_affine_const_1_0_GREEN_UP;
+       const real_t jac_affine_0_1_GREEN_UP = -p_affine_const_0_0_GREEN_UP + p_affine_const_2_0_GREEN_UP;
+       const real_t jac_affine_0_2_GREEN_UP = -p_affine_const_0_0_GREEN_UP + p_affine_const_3_0_GREEN_UP;
+       const real_t jac_affine_1_0_GREEN_UP = -p_affine_const_0_1_GREEN_UP + p_affine_const_1_1_GREEN_UP;
+       const real_t jac_affine_1_1_GREEN_UP = -p_affine_const_0_1_GREEN_UP + p_affine_const_2_1_GREEN_UP;
+       const real_t jac_affine_1_2_GREEN_UP = -p_affine_const_0_1_GREEN_UP + p_affine_const_3_1_GREEN_UP;
+       const real_t jac_affine_2_0_GREEN_UP = -p_affine_const_0_2_GREEN_UP + p_affine_const_1_2_GREEN_UP;
+       const real_t jac_affine_2_1_GREEN_UP = -p_affine_const_0_2_GREEN_UP + p_affine_const_2_2_GREEN_UP;
+       const real_t jac_affine_2_2_GREEN_UP = -p_affine_const_0_2_GREEN_UP + p_affine_const_3_2_GREEN_UP;
+       const real_t abs_det_jac_affine_GREEN_UP = abs(jac_affine_0_0_GREEN_UP*jac_affine_1_1_GREEN_UP*jac_affine_2_2_GREEN_UP - jac_affine_0_0_GREEN_UP*jac_affine_1_2_GREEN_UP*jac_affine_2_1_GREEN_UP - jac_affine_0_1_GREEN_UP*jac_affine_1_0_GREEN_UP*jac_affine_2_2_GREEN_UP + jac_affine_0_1_GREEN_UP*jac_affine_1_2_GREEN_UP*jac_affine_2_0_GREEN_UP + jac_affine_0_2_GREEN_UP*jac_affine_1_0_GREEN_UP*jac_affine_2_1_GREEN_UP - jac_affine_0_2_GREEN_UP*jac_affine_1_1_GREEN_UP*jac_affine_2_0_GREEN_UP);
+       {
+          /* CellType.GREEN_UP */
+          const real_t _data_phi_psi_jac_affine_det_0_0_GREEN_UP [] = {((real_t)(abs_det_jac_affine_GREEN_UP*-0.03125)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.03125)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.03125)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.03125)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0625)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0625)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0625)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0625)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0625)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0625)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.03125)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.03125)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.03125)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.03125)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0625)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0625)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0625)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0625)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0625)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0625)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.03125)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.03125)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.03125)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.03125)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0625)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0625)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0625)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0625)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0625)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.03125)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.03125)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.03125)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.03125)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0625)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0625)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0625)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0625)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0625)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.018518518518518524)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.018518518518518524)), 0.0, ((real_t)(abs_det_jac_affine_GREEN_UP*0.05555555555555558)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.05555555555555558)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.018518518518518524)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.055555555555555594)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.018518518518518535)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.018518518518518535)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.018518518518518507)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.018518518518518517)), 0.0, ((real_t)(abs_det_jac_affine_GREEN_UP*0.055555555555555552)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.055555555555555552)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.055555555555555566)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.018518518518518524)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.018518518518518524)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.018518518518518507)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.018518518518518517)), 0.0, ((real_t)(abs_det_jac_affine_GREEN_UP*0.055555555555555552)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.055555555555555566)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.018518518518518524)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.018518518518518524)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.055555555555555525)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.055555555555555552)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.055555555555555552)), 0.0, ((real_t)(abs_det_jac_affine_GREEN_UP*0.16666666666666666)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.16666666666666666)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.16666666666666671)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.05555555555555558)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.05555555555555558)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.018518518518518531)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.018518518518518521)), 0.0, ((real_t)(abs_det_jac_affine_GREEN_UP*-0.018518518518518521)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.055555555555555566)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.018518518518518521)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.055555555555555566)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.018518518518518531)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.055555555555555587)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.018518518518518531)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.018518518518518524)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.018518518518518517)), 0.0, ((real_t)(abs_det_jac_affine_GREEN_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.055555555555555552)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.055555555555555552)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.018518518518518524)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.055555555555555566)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.018518518518518524)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.05555555555555558)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.055555555555555552)), 0.0, ((real_t)(abs_det_jac_affine_GREEN_UP*-0.055555555555555552)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.16666666666666666)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.16666666666666666)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.05555555555555558)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.16666666666666671)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.05555555555555558)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.018518518518518524)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.018518518518518517)), 0.0, ((real_t)(abs_det_jac_affine_GREEN_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.055555555555555552)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.018518518518518524)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.055555555555555566)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.018518518518518524)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.018518518518518531)), 0.0, ((real_t)(abs_det_jac_affine_GREEN_UP*-0.018518518518518521)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.018518518518518521)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.018518518518518521)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.055555555555555566)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.055555555555555566)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.018518518518518531)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.018518518518518531)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.055555555555555587)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.05555555555555558)), 0.0, ((real_t)(abs_det_jac_affine_GREEN_UP*-0.055555555555555552)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.055555555555555552)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.055555555555555552)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.16666666666666666)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.16666666666666666)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.05555555555555558)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.05555555555555558)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.16666666666666671)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.018518518518518524)), 0.0, ((real_t)(abs_det_jac_affine_GREEN_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.055555555555555552)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.018518518518518524)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.018518518518518524)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.055555555555555566)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.018518518518518524)), 0.0, ((real_t)(abs_det_jac_affine_GREEN_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.055555555555555552)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.018518518518518524)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.018518518518518524)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.055555555555555566)), ((real_t)(abs_det_jac_affine_GREEN_UP*2.775557561562892e-17)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.055555555555555566)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.055555555555555566)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.055555555555555566)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.055555555555555566)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.055555555555555566)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.055555555555555566)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.16666666666666671)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.16666666666666671)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.16666666666666671)), ((real_t)(abs_det_jac_affine_GREEN_UP*9.2518585385429707e-18)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.055555555555555559)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.055555555555555559)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.055555555555555559)), ((real_t)(abs_det_jac_affine_GREEN_UP*9.2518585385429707e-18)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.055555555555555559)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.055555555555555559)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.055555555555555559)), ((real_t)(abs_det_jac_affine_GREEN_UP*9.2518585385429707e-18)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.055555555555555559)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.055555555555555559)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.055555555555555559))};
+      
+          for (int64_t ctr_2 = 0; ctr_2 < micro_edges_per_macro_edge; ctr_2 += 1)
+          for (int64_t ctr_1 = 0; ctr_1 < -ctr_2 + micro_edges_per_macro_edge; ctr_1 += 1)
+          {
+             for (int64_t ctr_0 = 0; ctr_0 < (int64_t)((-ctr_1 - ctr_2 + micro_edges_per_macro_edge - 1) / (4)) * (4); ctr_0 += 4)
+             {
+                const __m256d src_dof_0 = _mm256_loadu_pd(& _data_srcVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]);
+                const __m256d src_dof_1 = _mm256_loadu_pd(& _data_srcVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]);
+                const __m256d src_dof_2 = _mm256_loadu_pd(& _data_srcVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]);
+                const __m256d src_dof_3 = _mm256_loadu_pd(& _data_srcVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]);
+                const __m256d src_dof_4 = _mm256_loadu_pd(& _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]);
+                const __m256d src_dof_5 = _mm256_loadu_pd(& _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge - 1)*(micro_edges_per_macro_edge + 1)) / (6)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]);
+                const __m256d src_dof_6 = _mm256_loadu_pd(& _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]);
+                const __m256d src_dof_7 = _mm256_loadu_pd(& _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1]);
+                const __m256d src_dof_8 = _mm256_loadu_pd(& _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 5*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]);
+                const __m256d src_dof_9 = _mm256_loadu_pd(& _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]);
+                const __m256d k_dof_0 = _mm256_loadu_pd(& _data_kVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]);
+                const __m256d k_dof_1 = _mm256_loadu_pd(& _data_kVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]);
+                const __m256d k_dof_2 = _mm256_loadu_pd(& _data_kVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]);
+                const __m256d k_dof_3 = _mm256_loadu_pd(& _data_kVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]);
+                const __m256d k_dof_4 = _mm256_loadu_pd(& _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]);
+                const __m256d k_dof_5 = _mm256_loadu_pd(& _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge - 1)*(micro_edges_per_macro_edge + 1)) / (6)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]);
+                const __m256d k_dof_6 = _mm256_loadu_pd(& _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]);
+                const __m256d k_dof_7 = _mm256_loadu_pd(& _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1]);
+                const __m256d k_dof_8 = _mm256_loadu_pd(& _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 5*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]);
+                const __m256d k_dof_9 = _mm256_loadu_pd(& _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]);
+                __m256d q_acc_0_0 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_0_1 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_0_2 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_0_3 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_0_4 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_0_5 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_0_6 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_0_7 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_0_8 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_0_9 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_1_0 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_1_1 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_1_2 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_1_3 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_1_4 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_1_5 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_1_6 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_1_7 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_1_8 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_1_9 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_2_0 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_2_1 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_2_2 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_2_3 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_2_4 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_2_5 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_2_6 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_2_7 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_2_8 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_2_9 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_3_0 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_3_1 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_3_2 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_3_3 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_3_4 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_3_5 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_3_6 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_3_7 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_3_8 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_3_9 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                for (int64_t q = 0; q < 5; q += 1)
+                {
+                   const __m256d tmp_qloop_0 = _mm256_mul_pd(_mm256_set_pd(4.0,4.0,4.0,4.0),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q]));
+                   const __m256d tmp_qloop_1 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q]));
+                   const __m256d tmp_qloop_2 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q]));
+                   const __m256d tmp_qloop_3 = _mm256_mul_pd(_mm256_mul_pd(_mm256_set_pd(4.0,4.0,4.0,4.0),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q])),_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q]));
+                   const __m256d tmp_qloop_4 = _mm256_mul_pd(_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q]),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q]));
+                   const __m256d tmp_qloop_5 = _mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(2.0,2.0,2.0,2.0));
+                   const __m256d tmp_qloop_6 = _mm256_mul_pd(_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q]),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q]));
+                   const __m256d tmp_qloop_7 = _mm256_mul_pd(tmp_qloop_6,_mm256_set_pd(2.0,2.0,2.0,2.0));
+                   const __m256d tmp_qloop_8 = _mm256_mul_pd(_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q]),_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q]));
+                   const __m256d tmp_qloop_9 = _mm256_mul_pd(tmp_qloop_8,_mm256_set_pd(2.0,2.0,2.0,2.0));
+                   const __m256d tmp_qloop_10 = _mm256_add_pd(tmp_qloop_1,tmp_qloop_2);
+                   const __m256d tmp_qloop_11 = _mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(k_dof_1,_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q])),tmp_qloop_5)),_mm256_mul_pd(k_dof_2,_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q])),tmp_qloop_7))),_mm256_mul_pd(k_dof_3,_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q])),tmp_qloop_9))),_mm256_mul_pd(k_dof_9,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(4.0,4.0,4.0,4.0),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q])),_mm256_mul_pd(tmp_qloop_10,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(-4.0,-4.0,-4.0,-4.0))))),_mm256_mul_pd(k_dof_8,_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(4.0,4.0,4.0,4.0),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q])),_mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_3,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_6,_mm256_set_pd(-4.0,-4.0,-4.0,-4.0))))),_mm256_mul_pd(k_dof_7,_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(4.0,4.0,4.0,4.0),_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q])),_mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_3,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_8,_mm256_set_pd(-4.0,-4.0,-4.0,-4.0))))),_mm256_mul_pd(k_dof_0,_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-3.0,-3.0,-3.0,-3.0),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q])),_mm256_mul_pd(_mm256_set_pd(-3.0,-3.0,-3.0,-3.0),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q]))),_mm256_mul_pd(_mm256_set_pd(-3.0,-3.0,-3.0,-3.0),_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q]))),_mm256_set_pd(1.0,1.0,1.0,1.0)),tmp_qloop_10),tmp_qloop_3),tmp_qloop_5),tmp_qloop_7),tmp_qloop_9))),_mm256_mul_pd(k_dof_4,tmp_qloop_3)),_mm256_mul_pd(k_dof_5,tmp_qloop_2)),_mm256_mul_pd(k_dof_6,tmp_qloop_1)),_mm256_set_pd(_data_q_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q]));
+                   const __m256d tmp_qloop_12 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 14],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 14],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 14],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 14]));
+                   const __m256d q_tmp_0_0 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q]));
+                   const __m256d q_tmp_0_1 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 1],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 1],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 1],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 1]));
+                   const __m256d q_tmp_0_2 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 2],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 2],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 2],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 2]));
+                   const __m256d q_tmp_0_3 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 3],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 3],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 3],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 3]));
+                   const __m256d q_tmp_0_4 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 4],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 4],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 4],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 4]));
+                   const __m256d q_tmp_0_5 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 5],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 5],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 5],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 5]));
+                   const __m256d q_tmp_0_6 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 6],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 6],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 6],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 6]));
+                   const __m256d q_tmp_0_7 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 7],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 7],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 7],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 7]));
+                   const __m256d q_tmp_0_8 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 8],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 8],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 8],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 8]));
+                   const __m256d q_tmp_0_9 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 9],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 9],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 9],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 9]));
+                   const __m256d q_tmp_1_0 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 10],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 10],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 10],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 10]));
+                   const __m256d q_tmp_1_1 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 11],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 11],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 11],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 11]));
+                   const __m256d q_tmp_1_2 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 12],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 12],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 12],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 12]));
+                   const __m256d q_tmp_1_3 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 13],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 13],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 13],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 13]));
+                   const __m256d q_tmp_1_4 = tmp_qloop_12;
+                   const __m256d q_tmp_1_5 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 15],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 15],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 15],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 15]));
+                   const __m256d q_tmp_1_6 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 16],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 16],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 16],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 16]));
+                   const __m256d q_tmp_1_7 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 17],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 17],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 17],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 17]));
+                   const __m256d q_tmp_1_8 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 18],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 18],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 18],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 18]));
+                   const __m256d q_tmp_1_9 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 19],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 19],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 19],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 19]));
+                   const __m256d q_tmp_2_0 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 20],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 20],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 20],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 20]));
+                   const __m256d q_tmp_2_1 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 21],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 21],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 21],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 21]));
+                   const __m256d q_tmp_2_2 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 22],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 22],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 22],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 22]));
+                   const __m256d q_tmp_2_3 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 23],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 23],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 23],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 23]));
+                   const __m256d q_tmp_2_4 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 24],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 24],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 24],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 24]));
+                   const __m256d q_tmp_2_5 = tmp_qloop_12;
+                   const __m256d q_tmp_2_6 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 25],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 25],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 25],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 25]));
+                   const __m256d q_tmp_2_7 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 26],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 26],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 26],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 26]));
+                   const __m256d q_tmp_2_8 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 27],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 27],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 27],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 27]));
+                   const __m256d q_tmp_2_9 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 28],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 28],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 28],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 28]));
+                   const __m256d q_tmp_3_0 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 29],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 29],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 29],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 29]));
+                   const __m256d q_tmp_3_1 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 30],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 30],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 30],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 30]));
+                   const __m256d q_tmp_3_2 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 31],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 31],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 31],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 31]));
+                   const __m256d q_tmp_3_3 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 32],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 32],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 32],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 32]));
+                   const __m256d q_tmp_3_4 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 33],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 33],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 33],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 33]));
+                   const __m256d q_tmp_3_5 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 34],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 34],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 34],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 34]));
+                   const __m256d q_tmp_3_6 = tmp_qloop_12;
+                   const __m256d q_tmp_3_7 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 35],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 35],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 35],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 35]));
+                   const __m256d q_tmp_3_8 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 36],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 36],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 36],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 36]));
+                   const __m256d q_tmp_3_9 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 37],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 37],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 37],_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 37]));
+                   q_acc_0_0 = _mm256_add_pd(q_acc_0_0,q_tmp_0_0);
+                   q_acc_0_1 = _mm256_add_pd(q_acc_0_1,q_tmp_0_1);
+                   q_acc_0_2 = _mm256_add_pd(q_acc_0_2,q_tmp_0_2);
+                   q_acc_0_3 = _mm256_add_pd(q_acc_0_3,q_tmp_0_3);
+                   q_acc_0_4 = _mm256_add_pd(q_acc_0_4,q_tmp_0_4);
+                   q_acc_0_5 = _mm256_add_pd(q_acc_0_5,q_tmp_0_5);
+                   q_acc_0_6 = _mm256_add_pd(q_acc_0_6,q_tmp_0_6);
+                   q_acc_0_7 = _mm256_add_pd(q_acc_0_7,q_tmp_0_7);
+                   q_acc_0_8 = _mm256_add_pd(q_acc_0_8,q_tmp_0_8);
+                   q_acc_0_9 = _mm256_add_pd(q_acc_0_9,q_tmp_0_9);
+                   q_acc_1_0 = _mm256_add_pd(q_acc_1_0,q_tmp_1_0);
+                   q_acc_1_1 = _mm256_add_pd(q_acc_1_1,q_tmp_1_1);
+                   q_acc_1_2 = _mm256_add_pd(q_acc_1_2,q_tmp_1_2);
+                   q_acc_1_3 = _mm256_add_pd(q_acc_1_3,q_tmp_1_3);
+                   q_acc_1_4 = _mm256_add_pd(q_acc_1_4,q_tmp_1_4);
+                   q_acc_1_5 = _mm256_add_pd(q_acc_1_5,q_tmp_1_5);
+                   q_acc_1_6 = _mm256_add_pd(q_acc_1_6,q_tmp_1_6);
+                   q_acc_1_7 = _mm256_add_pd(q_acc_1_7,q_tmp_1_7);
+                   q_acc_1_8 = _mm256_add_pd(q_acc_1_8,q_tmp_1_8);
+                   q_acc_1_9 = _mm256_add_pd(q_acc_1_9,q_tmp_1_9);
+                   q_acc_2_0 = _mm256_add_pd(q_acc_2_0,q_tmp_2_0);
+                   q_acc_2_1 = _mm256_add_pd(q_acc_2_1,q_tmp_2_1);
+                   q_acc_2_2 = _mm256_add_pd(q_acc_2_2,q_tmp_2_2);
+                   q_acc_2_3 = _mm256_add_pd(q_acc_2_3,q_tmp_2_3);
+                   q_acc_2_4 = _mm256_add_pd(q_acc_2_4,q_tmp_2_4);
+                   q_acc_2_5 = _mm256_add_pd(q_acc_2_5,q_tmp_2_5);
+                   q_acc_2_6 = _mm256_add_pd(q_acc_2_6,q_tmp_2_6);
+                   q_acc_2_7 = _mm256_add_pd(q_acc_2_7,q_tmp_2_7);
+                   q_acc_2_8 = _mm256_add_pd(q_acc_2_8,q_tmp_2_8);
+                   q_acc_2_9 = _mm256_add_pd(q_acc_2_9,q_tmp_2_9);
+                   q_acc_3_0 = _mm256_add_pd(q_acc_3_0,q_tmp_3_0);
+                   q_acc_3_1 = _mm256_add_pd(q_acc_3_1,q_tmp_3_1);
+                   q_acc_3_2 = _mm256_add_pd(q_acc_3_2,q_tmp_3_2);
+                   q_acc_3_3 = _mm256_add_pd(q_acc_3_3,q_tmp_3_3);
+                   q_acc_3_4 = _mm256_add_pd(q_acc_3_4,q_tmp_3_4);
+                   q_acc_3_5 = _mm256_add_pd(q_acc_3_5,q_tmp_3_5);
+                   q_acc_3_6 = _mm256_add_pd(q_acc_3_6,q_tmp_3_6);
+                   q_acc_3_7 = _mm256_add_pd(q_acc_3_7,q_tmp_3_7);
+                   q_acc_3_8 = _mm256_add_pd(q_acc_3_8,q_tmp_3_8);
+                   q_acc_3_9 = _mm256_add_pd(q_acc_3_9,q_tmp_3_9);
+                }
+                const __m256d elMatVec_0 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(q_acc_0_0,src_dof_0),_mm256_mul_pd(q_acc_0_1,src_dof_1)),_mm256_mul_pd(q_acc_0_2,src_dof_2)),_mm256_mul_pd(q_acc_0_3,src_dof_3)),_mm256_mul_pd(q_acc_0_4,src_dof_4)),_mm256_mul_pd(q_acc_0_5,src_dof_5)),_mm256_mul_pd(q_acc_0_6,src_dof_6)),_mm256_mul_pd(q_acc_0_7,src_dof_7)),_mm256_mul_pd(q_acc_0_8,src_dof_8)),_mm256_mul_pd(q_acc_0_9,src_dof_9));
+                const __m256d elMatVec_1 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(q_acc_1_0,src_dof_0),_mm256_mul_pd(q_acc_1_1,src_dof_1)),_mm256_mul_pd(q_acc_1_2,src_dof_2)),_mm256_mul_pd(q_acc_1_3,src_dof_3)),_mm256_mul_pd(q_acc_1_4,src_dof_4)),_mm256_mul_pd(q_acc_1_5,src_dof_5)),_mm256_mul_pd(q_acc_1_6,src_dof_6)),_mm256_mul_pd(q_acc_1_7,src_dof_7)),_mm256_mul_pd(q_acc_1_8,src_dof_8)),_mm256_mul_pd(q_acc_1_9,src_dof_9));
+                const __m256d elMatVec_2 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(q_acc_2_0,src_dof_0),_mm256_mul_pd(q_acc_2_1,src_dof_1)),_mm256_mul_pd(q_acc_2_2,src_dof_2)),_mm256_mul_pd(q_acc_2_3,src_dof_3)),_mm256_mul_pd(q_acc_2_4,src_dof_4)),_mm256_mul_pd(q_acc_2_5,src_dof_5)),_mm256_mul_pd(q_acc_2_6,src_dof_6)),_mm256_mul_pd(q_acc_2_7,src_dof_7)),_mm256_mul_pd(q_acc_2_8,src_dof_8)),_mm256_mul_pd(q_acc_2_9,src_dof_9));
+                const __m256d elMatVec_3 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(q_acc_3_0,src_dof_0),_mm256_mul_pd(q_acc_3_1,src_dof_1)),_mm256_mul_pd(q_acc_3_2,src_dof_2)),_mm256_mul_pd(q_acc_3_3,src_dof_3)),_mm256_mul_pd(q_acc_3_4,src_dof_4)),_mm256_mul_pd(q_acc_3_5,src_dof_5)),_mm256_mul_pd(q_acc_3_6,src_dof_6)),_mm256_mul_pd(q_acc_3_7,src_dof_7)),_mm256_mul_pd(q_acc_3_8,src_dof_8)),_mm256_mul_pd(q_acc_3_9,src_dof_9));
+                _mm256_storeu_pd(&_data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1],_mm256_add_pd(elMatVec_0,_mm256_loadu_pd(& _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1])));
+                _mm256_storeu_pd(&_data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))],_mm256_add_pd(elMatVec_1,_mm256_loadu_pd(& _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))])));
+                _mm256_storeu_pd(&_data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))],_mm256_add_pd(elMatVec_2,_mm256_loadu_pd(& _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))])));
+                _mm256_storeu_pd(&_data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1],_mm256_add_pd(elMatVec_3,_mm256_loadu_pd(& _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1])));
+             }
+             for (int64_t ctr_0 = (int64_t)((-ctr_1 - ctr_2 + micro_edges_per_macro_edge - 1) / (4)) * (4); ctr_0 < -ctr_1 - ctr_2 + micro_edges_per_macro_edge - 1; ctr_0 += 1)
+             {
+                const real_t src_dof_0 = _data_srcVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1];
+                const real_t src_dof_1 = _data_srcVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))];
+                const real_t src_dof_2 = _data_srcVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))];
+                const real_t src_dof_3 = _data_srcVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1];
+                const real_t src_dof_4 = _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))];
+                const real_t src_dof_5 = _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge - 1)*(micro_edges_per_macro_edge + 1)) / (6)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))];
+                const real_t src_dof_6 = _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))];
+                const real_t src_dof_7 = _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1];
+                const real_t src_dof_8 = _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 5*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))];
+                const real_t src_dof_9 = _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))];
+                const real_t k_dof_0 = _data_kVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1];
+                const real_t k_dof_1 = _data_kVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))];
+                const real_t k_dof_2 = _data_kVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))];
+                const real_t k_dof_3 = _data_kVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1];
+                const real_t k_dof_4 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))];
+                const real_t k_dof_5 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge - 1)*(micro_edges_per_macro_edge + 1)) / (6)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))];
+                const real_t k_dof_6 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))];
+                const real_t k_dof_7 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1];
+                const real_t k_dof_8 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 5*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))];
+                const real_t k_dof_9 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))];
+                real_t q_acc_0_0 = 0.0;
+                real_t q_acc_0_1 = 0.0;
+                real_t q_acc_0_2 = 0.0;
+                real_t q_acc_0_3 = 0.0;
+                real_t q_acc_0_4 = 0.0;
+                real_t q_acc_0_5 = 0.0;
+                real_t q_acc_0_6 = 0.0;
+                real_t q_acc_0_7 = 0.0;
+                real_t q_acc_0_8 = 0.0;
+                real_t q_acc_0_9 = 0.0;
+                real_t q_acc_1_0 = 0.0;
+                real_t q_acc_1_1 = 0.0;
+                real_t q_acc_1_2 = 0.0;
+                real_t q_acc_1_3 = 0.0;
+                real_t q_acc_1_4 = 0.0;
+                real_t q_acc_1_5 = 0.0;
+                real_t q_acc_1_6 = 0.0;
+                real_t q_acc_1_7 = 0.0;
+                real_t q_acc_1_8 = 0.0;
+                real_t q_acc_1_9 = 0.0;
+                real_t q_acc_2_0 = 0.0;
+                real_t q_acc_2_1 = 0.0;
+                real_t q_acc_2_2 = 0.0;
+                real_t q_acc_2_3 = 0.0;
+                real_t q_acc_2_4 = 0.0;
+                real_t q_acc_2_5 = 0.0;
+                real_t q_acc_2_6 = 0.0;
+                real_t q_acc_2_7 = 0.0;
+                real_t q_acc_2_8 = 0.0;
+                real_t q_acc_2_9 = 0.0;
+                real_t q_acc_3_0 = 0.0;
+                real_t q_acc_3_1 = 0.0;
+                real_t q_acc_3_2 = 0.0;
+                real_t q_acc_3_3 = 0.0;
+                real_t q_acc_3_4 = 0.0;
+                real_t q_acc_3_5 = 0.0;
+                real_t q_acc_3_6 = 0.0;
+                real_t q_acc_3_7 = 0.0;
+                real_t q_acc_3_8 = 0.0;
+                real_t q_acc_3_9 = 0.0;
+                for (int64_t q = 0; q < 5; q += 1)
+                {
+                   const real_t tmp_qloop_0 = 4.0*_data_q_p_0[q];
+                   const real_t tmp_qloop_1 = tmp_qloop_0*_data_q_p_1[q];
+                   const real_t tmp_qloop_2 = tmp_qloop_0*_data_q_p_2[q];
+                   const real_t tmp_qloop_3 = 4.0*_data_q_p_1[q]*_data_q_p_2[q];
+                   const real_t tmp_qloop_4 = (_data_q_p_0[q]*_data_q_p_0[q]);
+                   const real_t tmp_qloop_5 = tmp_qloop_4*2.0;
+                   const real_t tmp_qloop_6 = (_data_q_p_1[q]*_data_q_p_1[q]);
+                   const real_t tmp_qloop_7 = tmp_qloop_6*2.0;
+                   const real_t tmp_qloop_8 = (_data_q_p_2[q]*_data_q_p_2[q]);
+                   const real_t tmp_qloop_9 = tmp_qloop_8*2.0;
+                   const real_t tmp_qloop_10 = tmp_qloop_1 + tmp_qloop_2;
+                   const real_t tmp_qloop_11 = (k_dof_0*(tmp_qloop_10 + tmp_qloop_3 + tmp_qloop_5 + tmp_qloop_7 + tmp_qloop_9 - 3.0*_data_q_p_0[q] - 3.0*_data_q_p_1[q] - 3.0*_data_q_p_2[q] + 1.0) + k_dof_1*(tmp_qloop_5 - _data_q_p_0[q]) + k_dof_2*(tmp_qloop_7 - _data_q_p_1[q]) + k_dof_3*(tmp_qloop_9 - _data_q_p_2[q]) + k_dof_4*tmp_qloop_3 + k_dof_5*tmp_qloop_2 + k_dof_6*tmp_qloop_1 + k_dof_7*(-tmp_qloop_2 - tmp_qloop_3 + tmp_qloop_8*-4.0 + 4.0*_data_q_p_2[q]) + k_dof_8*(-tmp_qloop_1 - tmp_qloop_3 + tmp_qloop_6*-4.0 + 4.0*_data_q_p_1[q]) + k_dof_9*(-tmp_qloop_10 + tmp_qloop_4*-4.0 + 4.0*_data_q_p_0[q]))*_data_q_w[q];
+                   const real_t tmp_qloop_12 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 14];
+                   const real_t q_tmp_0_0 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q];
+                   const real_t q_tmp_0_1 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 1];
+                   const real_t q_tmp_0_2 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 2];
+                   const real_t q_tmp_0_3 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 3];
+                   const real_t q_tmp_0_4 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 4];
+                   const real_t q_tmp_0_5 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 5];
+                   const real_t q_tmp_0_6 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 6];
+                   const real_t q_tmp_0_7 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 7];
+                   const real_t q_tmp_0_8 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 8];
+                   const real_t q_tmp_0_9 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 9];
+                   const real_t q_tmp_1_0 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 10];
+                   const real_t q_tmp_1_1 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 11];
+                   const real_t q_tmp_1_2 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 12];
+                   const real_t q_tmp_1_3 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 13];
+                   const real_t q_tmp_1_4 = tmp_qloop_12;
+                   const real_t q_tmp_1_5 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 15];
+                   const real_t q_tmp_1_6 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 16];
+                   const real_t q_tmp_1_7 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 17];
+                   const real_t q_tmp_1_8 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 18];
+                   const real_t q_tmp_1_9 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 19];
+                   const real_t q_tmp_2_0 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 20];
+                   const real_t q_tmp_2_1 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 21];
+                   const real_t q_tmp_2_2 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 22];
+                   const real_t q_tmp_2_3 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 23];
+                   const real_t q_tmp_2_4 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 24];
+                   const real_t q_tmp_2_5 = tmp_qloop_12;
+                   const real_t q_tmp_2_6 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 25];
+                   const real_t q_tmp_2_7 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 26];
+                   const real_t q_tmp_2_8 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 27];
+                   const real_t q_tmp_2_9 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 28];
+                   const real_t q_tmp_3_0 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 29];
+                   const real_t q_tmp_3_1 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 30];
+                   const real_t q_tmp_3_2 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 31];
+                   const real_t q_tmp_3_3 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 32];
+                   const real_t q_tmp_3_4 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 33];
+                   const real_t q_tmp_3_5 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 34];
+                   const real_t q_tmp_3_6 = tmp_qloop_12;
+                   const real_t q_tmp_3_7 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 35];
+                   const real_t q_tmp_3_8 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 36];
+                   const real_t q_tmp_3_9 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 37];
+                   q_acc_0_0 = q_acc_0_0 + q_tmp_0_0;
+                   q_acc_0_1 = q_acc_0_1 + q_tmp_0_1;
+                   q_acc_0_2 = q_acc_0_2 + q_tmp_0_2;
+                   q_acc_0_3 = q_acc_0_3 + q_tmp_0_3;
+                   q_acc_0_4 = q_acc_0_4 + q_tmp_0_4;
+                   q_acc_0_5 = q_acc_0_5 + q_tmp_0_5;
+                   q_acc_0_6 = q_acc_0_6 + q_tmp_0_6;
+                   q_acc_0_7 = q_acc_0_7 + q_tmp_0_7;
+                   q_acc_0_8 = q_acc_0_8 + q_tmp_0_8;
+                   q_acc_0_9 = q_acc_0_9 + q_tmp_0_9;
+                   q_acc_1_0 = q_acc_1_0 + q_tmp_1_0;
+                   q_acc_1_1 = q_acc_1_1 + q_tmp_1_1;
+                   q_acc_1_2 = q_acc_1_2 + q_tmp_1_2;
+                   q_acc_1_3 = q_acc_1_3 + q_tmp_1_3;
+                   q_acc_1_4 = q_acc_1_4 + q_tmp_1_4;
+                   q_acc_1_5 = q_acc_1_5 + q_tmp_1_5;
+                   q_acc_1_6 = q_acc_1_6 + q_tmp_1_6;
+                   q_acc_1_7 = q_acc_1_7 + q_tmp_1_7;
+                   q_acc_1_8 = q_acc_1_8 + q_tmp_1_8;
+                   q_acc_1_9 = q_acc_1_9 + q_tmp_1_9;
+                   q_acc_2_0 = q_acc_2_0 + q_tmp_2_0;
+                   q_acc_2_1 = q_acc_2_1 + q_tmp_2_1;
+                   q_acc_2_2 = q_acc_2_2 + q_tmp_2_2;
+                   q_acc_2_3 = q_acc_2_3 + q_tmp_2_3;
+                   q_acc_2_4 = q_acc_2_4 + q_tmp_2_4;
+                   q_acc_2_5 = q_acc_2_5 + q_tmp_2_5;
+                   q_acc_2_6 = q_acc_2_6 + q_tmp_2_6;
+                   q_acc_2_7 = q_acc_2_7 + q_tmp_2_7;
+                   q_acc_2_8 = q_acc_2_8 + q_tmp_2_8;
+                   q_acc_2_9 = q_acc_2_9 + q_tmp_2_9;
+                   q_acc_3_0 = q_acc_3_0 + q_tmp_3_0;
+                   q_acc_3_1 = q_acc_3_1 + q_tmp_3_1;
+                   q_acc_3_2 = q_acc_3_2 + q_tmp_3_2;
+                   q_acc_3_3 = q_acc_3_3 + q_tmp_3_3;
+                   q_acc_3_4 = q_acc_3_4 + q_tmp_3_4;
+                   q_acc_3_5 = q_acc_3_5 + q_tmp_3_5;
+                   q_acc_3_6 = q_acc_3_6 + q_tmp_3_6;
+                   q_acc_3_7 = q_acc_3_7 + q_tmp_3_7;
+                   q_acc_3_8 = q_acc_3_8 + q_tmp_3_8;
+                   q_acc_3_9 = q_acc_3_9 + q_tmp_3_9;
+                }
+                const real_t elMatVec_0 = q_acc_0_0*src_dof_0 + q_acc_0_1*src_dof_1 + q_acc_0_2*src_dof_2 + q_acc_0_3*src_dof_3 + q_acc_0_4*src_dof_4 + q_acc_0_5*src_dof_5 + q_acc_0_6*src_dof_6 + q_acc_0_7*src_dof_7 + q_acc_0_8*src_dof_8 + q_acc_0_9*src_dof_9;
+                const real_t elMatVec_1 = q_acc_1_0*src_dof_0 + q_acc_1_1*src_dof_1 + q_acc_1_2*src_dof_2 + q_acc_1_3*src_dof_3 + q_acc_1_4*src_dof_4 + q_acc_1_5*src_dof_5 + q_acc_1_6*src_dof_6 + q_acc_1_7*src_dof_7 + q_acc_1_8*src_dof_8 + q_acc_1_9*src_dof_9;
+                const real_t elMatVec_2 = q_acc_2_0*src_dof_0 + q_acc_2_1*src_dof_1 + q_acc_2_2*src_dof_2 + q_acc_2_3*src_dof_3 + q_acc_2_4*src_dof_4 + q_acc_2_5*src_dof_5 + q_acc_2_6*src_dof_6 + q_acc_2_7*src_dof_7 + q_acc_2_8*src_dof_8 + q_acc_2_9*src_dof_9;
+                const real_t elMatVec_3 = q_acc_3_0*src_dof_0 + q_acc_3_1*src_dof_1 + q_acc_3_2*src_dof_2 + q_acc_3_3*src_dof_3 + q_acc_3_4*src_dof_4 + q_acc_3_5*src_dof_5 + q_acc_3_6*src_dof_6 + q_acc_3_7*src_dof_7 + q_acc_3_8*src_dof_8 + q_acc_3_9*src_dof_9;
+                _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1] = elMatVec_0 + _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1];
+                _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))] = elMatVec_1 + _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))];
+                _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))] = elMatVec_2 + _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))];
+                _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1] = elMatVec_3 + _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1];
+             }
+          }
+       }
+       const real_t tmp_coords_jac_0_GREEN_DOWN = 1.0 / (micro_edges_per_macro_edge_float)*1.0;
+       const real_t tmp_coords_jac_1_GREEN_DOWN = macro_vertex_coord_id_0comp0 + tmp_coords_jac_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0);
+       const real_t tmp_coords_jac_2_GREEN_DOWN = macro_vertex_coord_id_0comp1 + tmp_coords_jac_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1);
+       const real_t tmp_coords_jac_3_GREEN_DOWN = macro_vertex_coord_id_0comp2 + tmp_coords_jac_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2);
+       const real_t tmp_coords_jac_4_GREEN_DOWN = tmp_coords_jac_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0);
+       const real_t tmp_coords_jac_5_GREEN_DOWN = tmp_coords_jac_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1);
+       const real_t tmp_coords_jac_6_GREEN_DOWN = tmp_coords_jac_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2);
+       const real_t tmp_coords_jac_7_GREEN_DOWN = tmp_coords_jac_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0);
+       const real_t tmp_coords_jac_8_GREEN_DOWN = tmp_coords_jac_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1);
+       const real_t tmp_coords_jac_9_GREEN_DOWN = tmp_coords_jac_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2);
+       const real_t p_affine_const_0_0_GREEN_DOWN = tmp_coords_jac_1_GREEN_DOWN;
+       const real_t p_affine_const_0_1_GREEN_DOWN = tmp_coords_jac_2_GREEN_DOWN;
+       const real_t p_affine_const_0_2_GREEN_DOWN = tmp_coords_jac_3_GREEN_DOWN;
+       const real_t p_affine_const_1_0_GREEN_DOWN = tmp_coords_jac_1_GREEN_DOWN + tmp_coords_jac_4_GREEN_DOWN;
+       const real_t p_affine_const_1_1_GREEN_DOWN = tmp_coords_jac_2_GREEN_DOWN + tmp_coords_jac_5_GREEN_DOWN;
+       const real_t p_affine_const_1_2_GREEN_DOWN = tmp_coords_jac_3_GREEN_DOWN + tmp_coords_jac_6_GREEN_DOWN;
+       const real_t p_affine_const_2_0_GREEN_DOWN = macro_vertex_coord_id_0comp0 + tmp_coords_jac_4_GREEN_DOWN + tmp_coords_jac_7_GREEN_DOWN;
+       const real_t p_affine_const_2_1_GREEN_DOWN = macro_vertex_coord_id_0comp1 + tmp_coords_jac_5_GREEN_DOWN + tmp_coords_jac_8_GREEN_DOWN;
+       const real_t p_affine_const_2_2_GREEN_DOWN = macro_vertex_coord_id_0comp2 + tmp_coords_jac_6_GREEN_DOWN + tmp_coords_jac_9_GREEN_DOWN;
+       const real_t p_affine_const_3_0_GREEN_DOWN = tmp_coords_jac_1_GREEN_DOWN + tmp_coords_jac_7_GREEN_DOWN;
+       const real_t p_affine_const_3_1_GREEN_DOWN = tmp_coords_jac_2_GREEN_DOWN + tmp_coords_jac_8_GREEN_DOWN;
+       const real_t p_affine_const_3_2_GREEN_DOWN = tmp_coords_jac_3_GREEN_DOWN + tmp_coords_jac_9_GREEN_DOWN;
+       const real_t jac_affine_0_0_GREEN_DOWN = -p_affine_const_0_0_GREEN_DOWN + p_affine_const_1_0_GREEN_DOWN;
+       const real_t jac_affine_0_1_GREEN_DOWN = -p_affine_const_0_0_GREEN_DOWN + p_affine_const_2_0_GREEN_DOWN;
+       const real_t jac_affine_0_2_GREEN_DOWN = -p_affine_const_0_0_GREEN_DOWN + p_affine_const_3_0_GREEN_DOWN;
+       const real_t jac_affine_1_0_GREEN_DOWN = -p_affine_const_0_1_GREEN_DOWN + p_affine_const_1_1_GREEN_DOWN;
+       const real_t jac_affine_1_1_GREEN_DOWN = -p_affine_const_0_1_GREEN_DOWN + p_affine_const_2_1_GREEN_DOWN;
+       const real_t jac_affine_1_2_GREEN_DOWN = -p_affine_const_0_1_GREEN_DOWN + p_affine_const_3_1_GREEN_DOWN;
+       const real_t jac_affine_2_0_GREEN_DOWN = -p_affine_const_0_2_GREEN_DOWN + p_affine_const_1_2_GREEN_DOWN;
+       const real_t jac_affine_2_1_GREEN_DOWN = -p_affine_const_0_2_GREEN_DOWN + p_affine_const_2_2_GREEN_DOWN;
+       const real_t jac_affine_2_2_GREEN_DOWN = -p_affine_const_0_2_GREEN_DOWN + p_affine_const_3_2_GREEN_DOWN;
+       const real_t abs_det_jac_affine_GREEN_DOWN = abs(jac_affine_0_0_GREEN_DOWN*jac_affine_1_1_GREEN_DOWN*jac_affine_2_2_GREEN_DOWN - jac_affine_0_0_GREEN_DOWN*jac_affine_1_2_GREEN_DOWN*jac_affine_2_1_GREEN_DOWN - jac_affine_0_1_GREEN_DOWN*jac_affine_1_0_GREEN_DOWN*jac_affine_2_2_GREEN_DOWN + jac_affine_0_1_GREEN_DOWN*jac_affine_1_2_GREEN_DOWN*jac_affine_2_0_GREEN_DOWN + jac_affine_0_2_GREEN_DOWN*jac_affine_1_0_GREEN_DOWN*jac_affine_2_1_GREEN_DOWN - jac_affine_0_2_GREEN_DOWN*jac_affine_1_1_GREEN_DOWN*jac_affine_2_0_GREEN_DOWN);
+       {
+          /* CellType.GREEN_DOWN */
+          const real_t _data_phi_psi_jac_affine_det_0_0_GREEN_DOWN [] = {((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.018518518518518524)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.018518518518518524)), 0.0, ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.05555555555555558)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.05555555555555558)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.018518518518518524)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.055555555555555594)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.018518518518518535)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.018518518518518535)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.018518518518518507)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.018518518518518517)), 0.0, ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.055555555555555552)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.055555555555555552)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.055555555555555566)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.018518518518518524)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.018518518518518524)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.018518518518518507)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.018518518518518517)), 0.0, ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.055555555555555552)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.055555555555555566)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.018518518518518524)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.018518518518518524)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.055555555555555525)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.055555555555555552)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.055555555555555552)), 0.0, ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.16666666666666666)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.16666666666666666)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.16666666666666671)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.05555555555555558)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.05555555555555558)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.018518518518518531)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.018518518518518521)), 0.0, ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.018518518518518521)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.055555555555555566)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.018518518518518521)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.055555555555555566)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.018518518518518531)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.055555555555555587)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.018518518518518531)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.018518518518518524)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.018518518518518517)), 0.0, ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.055555555555555552)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.055555555555555552)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.018518518518518524)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.055555555555555566)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.018518518518518524)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.05555555555555558)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.055555555555555552)), 0.0, ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.055555555555555552)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.16666666666666666)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.16666666666666666)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.05555555555555558)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.16666666666666671)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.05555555555555558)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.018518518518518524)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.018518518518518517)), 0.0, ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.055555555555555552)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.018518518518518524)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.055555555555555566)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.018518518518518524)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.018518518518518531)), 0.0, ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.018518518518518521)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.018518518518518521)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.018518518518518521)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.055555555555555566)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.055555555555555566)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.018518518518518531)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.018518518518518531)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.055555555555555587)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.05555555555555558)), 0.0, ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.055555555555555552)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.055555555555555552)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.055555555555555552)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.16666666666666666)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.16666666666666666)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.05555555555555558)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.05555555555555558)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.16666666666666671)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.018518518518518524)), 0.0, ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.055555555555555552)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.018518518518518524)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.018518518518518524)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.055555555555555566)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.018518518518518524)), 0.0, ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.055555555555555552)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.018518518518518524)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.018518518518518524)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.055555555555555566)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*2.775557561562892e-17)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.055555555555555566)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.055555555555555566)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.055555555555555566)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.055555555555555566)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.055555555555555566)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.055555555555555566)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.16666666666666671)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.16666666666666671)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.16666666666666671)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*9.2518585385429707e-18)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.055555555555555559)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.055555555555555559)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.055555555555555559)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*9.2518585385429707e-18)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.055555555555555559)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.055555555555555559)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.055555555555555559)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*9.2518585385429707e-18)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.055555555555555559)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.055555555555555559)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.055555555555555559))};
+      
+          for (int64_t ctr_2 = 0; ctr_2 < micro_edges_per_macro_edge; ctr_2 += 1)
+          for (int64_t ctr_1 = 0; ctr_1 < -ctr_2 + micro_edges_per_macro_edge; ctr_1 += 1)
+          {
+             for (int64_t ctr_0 = 0; ctr_0 < (int64_t)((-ctr_1 - ctr_2 + micro_edges_per_macro_edge - 1) / (4)) * (4); ctr_0 += 4)
+             {
+                const __m256d src_dof_0 = _mm256_loadu_pd(& _data_srcVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]);
+                const __m256d src_dof_1 = _mm256_loadu_pd(& _data_srcVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]);
+                const __m256d src_dof_2 = _mm256_loadu_pd(& _data_srcVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]);
+                const __m256d src_dof_3 = _mm256_loadu_pd(& _data_srcVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]);
+                const __m256d src_dof_4 = _mm256_loadu_pd(& _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]);
+                const __m256d src_dof_5 = _mm256_loadu_pd(& _data_srcEdge[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 5*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]);
+                const __m256d src_dof_6 = _mm256_loadu_pd(& _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1]);
+                const __m256d src_dof_7 = _mm256_loadu_pd(& _data_srcEdge[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]);
+                const __m256d src_dof_8 = _mm256_loadu_pd(& _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge - 1)*(micro_edges_per_macro_edge + 1)) / (6)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]);
+                const __m256d src_dof_9 = _mm256_loadu_pd(& _data_srcEdge[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]);
+                const __m256d k_dof_0 = _mm256_loadu_pd(& _data_kVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]);
+                const __m256d k_dof_1 = _mm256_loadu_pd(& _data_kVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]);
+                const __m256d k_dof_2 = _mm256_loadu_pd(& _data_kVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]);
+                const __m256d k_dof_3 = _mm256_loadu_pd(& _data_kVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]);
+                const __m256d k_dof_4 = _mm256_loadu_pd(& _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]);
+                const __m256d k_dof_5 = _mm256_loadu_pd(& _data_kEdge[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 5*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]);
+                const __m256d k_dof_6 = _mm256_loadu_pd(& _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1]);
+                const __m256d k_dof_7 = _mm256_loadu_pd(& _data_kEdge[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]);
+                const __m256d k_dof_8 = _mm256_loadu_pd(& _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge - 1)*(micro_edges_per_macro_edge + 1)) / (6)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]);
+                const __m256d k_dof_9 = _mm256_loadu_pd(& _data_kEdge[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]);
+                __m256d q_acc_0_0 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_0_1 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_0_2 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_0_3 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_0_4 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_0_5 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_0_6 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_0_7 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_0_8 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_0_9 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_1_0 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_1_1 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_1_2 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_1_3 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_1_4 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_1_5 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_1_6 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_1_7 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_1_8 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_1_9 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_2_0 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_2_1 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_2_2 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_2_3 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_2_4 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_2_5 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_2_6 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_2_7 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_2_8 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_2_9 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_3_0 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_3_1 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_3_2 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_3_3 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_3_4 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_3_5 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_3_6 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_3_7 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_3_8 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                __m256d q_acc_3_9 = _mm256_set_pd(0.0,0.0,0.0,0.0);
+                for (int64_t q = 0; q < 5; q += 1)
+                {
+                   const __m256d tmp_qloop_0 = _mm256_mul_pd(_mm256_set_pd(4.0,4.0,4.0,4.0),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q]));
+                   const __m256d tmp_qloop_1 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q]));
+                   const __m256d tmp_qloop_2 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q]));
+                   const __m256d tmp_qloop_3 = _mm256_mul_pd(_mm256_mul_pd(_mm256_set_pd(4.0,4.0,4.0,4.0),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q])),_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q]));
+                   const __m256d tmp_qloop_4 = _mm256_mul_pd(_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q]),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q]));
+                   const __m256d tmp_qloop_5 = _mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(2.0,2.0,2.0,2.0));
+                   const __m256d tmp_qloop_6 = _mm256_mul_pd(_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q]),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q]));
+                   const __m256d tmp_qloop_7 = _mm256_mul_pd(tmp_qloop_6,_mm256_set_pd(2.0,2.0,2.0,2.0));
+                   const __m256d tmp_qloop_8 = _mm256_mul_pd(_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q]),_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q]));
+                   const __m256d tmp_qloop_9 = _mm256_mul_pd(tmp_qloop_8,_mm256_set_pd(2.0,2.0,2.0,2.0));
+                   const __m256d tmp_qloop_10 = _mm256_add_pd(tmp_qloop_1,tmp_qloop_2);
+                   const __m256d tmp_qloop_11 = _mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(k_dof_1,_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q])),tmp_qloop_5)),_mm256_mul_pd(k_dof_2,_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q])),tmp_qloop_7))),_mm256_mul_pd(k_dof_3,_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q])),tmp_qloop_9))),_mm256_mul_pd(k_dof_9,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(4.0,4.0,4.0,4.0),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q])),_mm256_mul_pd(tmp_qloop_10,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(-4.0,-4.0,-4.0,-4.0))))),_mm256_mul_pd(k_dof_8,_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(4.0,4.0,4.0,4.0),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q])),_mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_3,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_6,_mm256_set_pd(-4.0,-4.0,-4.0,-4.0))))),_mm256_mul_pd(k_dof_7,_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(4.0,4.0,4.0,4.0),_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q])),_mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_3,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_8,_mm256_set_pd(-4.0,-4.0,-4.0,-4.0))))),_mm256_mul_pd(k_dof_0,_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-3.0,-3.0,-3.0,-3.0),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q])),_mm256_mul_pd(_mm256_set_pd(-3.0,-3.0,-3.0,-3.0),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q]))),_mm256_mul_pd(_mm256_set_pd(-3.0,-3.0,-3.0,-3.0),_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q]))),_mm256_set_pd(1.0,1.0,1.0,1.0)),tmp_qloop_10),tmp_qloop_3),tmp_qloop_5),tmp_qloop_7),tmp_qloop_9))),_mm256_mul_pd(k_dof_4,tmp_qloop_3)),_mm256_mul_pd(k_dof_5,tmp_qloop_2)),_mm256_mul_pd(k_dof_6,tmp_qloop_1)),_mm256_set_pd(_data_q_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q]));
+                   const __m256d tmp_qloop_12 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 14],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 14],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 14],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 14]));
+                   const __m256d q_tmp_0_0 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q]));
+                   const __m256d q_tmp_0_1 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 1],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 1],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 1],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 1]));
+                   const __m256d q_tmp_0_2 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 2],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 2],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 2],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 2]));
+                   const __m256d q_tmp_0_3 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 3],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 3],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 3],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 3]));
+                   const __m256d q_tmp_0_4 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 4],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 4],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 4],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 4]));
+                   const __m256d q_tmp_0_5 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 5],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 5],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 5],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 5]));
+                   const __m256d q_tmp_0_6 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 6],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 6],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 6],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 6]));
+                   const __m256d q_tmp_0_7 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 7],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 7],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 7],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 7]));
+                   const __m256d q_tmp_0_8 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 8],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 8],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 8],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 8]));
+                   const __m256d q_tmp_0_9 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 9],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 9],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 9],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 9]));
+                   const __m256d q_tmp_1_0 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 10],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 10],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 10],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 10]));
+                   const __m256d q_tmp_1_1 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 11],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 11],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 11],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 11]));
+                   const __m256d q_tmp_1_2 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 12],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 12],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 12],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 12]));
+                   const __m256d q_tmp_1_3 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 13],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 13],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 13],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 13]));
+                   const __m256d q_tmp_1_4 = tmp_qloop_12;
+                   const __m256d q_tmp_1_5 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 15],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 15],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 15],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 15]));
+                   const __m256d q_tmp_1_6 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 16],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 16],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 16],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 16]));
+                   const __m256d q_tmp_1_7 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 17],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 17],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 17],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 17]));
+                   const __m256d q_tmp_1_8 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 18],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 18],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 18],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 18]));
+                   const __m256d q_tmp_1_9 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 19],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 19],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 19],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 19]));
+                   const __m256d q_tmp_2_0 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 20],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 20],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 20],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 20]));
+                   const __m256d q_tmp_2_1 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 21],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 21],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 21],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 21]));
+                   const __m256d q_tmp_2_2 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 22],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 22],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 22],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 22]));
+                   const __m256d q_tmp_2_3 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 23],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 23],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 23],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 23]));
+                   const __m256d q_tmp_2_4 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 24],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 24],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 24],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 24]));
+                   const __m256d q_tmp_2_5 = tmp_qloop_12;
+                   const __m256d q_tmp_2_6 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 25],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 25],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 25],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 25]));
+                   const __m256d q_tmp_2_7 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 26],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 26],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 26],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 26]));
+                   const __m256d q_tmp_2_8 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 27],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 27],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 27],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 27]));
+                   const __m256d q_tmp_2_9 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 28],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 28],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 28],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 28]));
+                   const __m256d q_tmp_3_0 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 29],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 29],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 29],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 29]));
+                   const __m256d q_tmp_3_1 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 30],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 30],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 30],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 30]));
+                   const __m256d q_tmp_3_2 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 31],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 31],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 31],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 31]));
+                   const __m256d q_tmp_3_3 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 32],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 32],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 32],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 32]));
+                   const __m256d q_tmp_3_4 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 33],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 33],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 33],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 33]));
+                   const __m256d q_tmp_3_5 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 34],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 34],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 34],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 34]));
+                   const __m256d q_tmp_3_6 = tmp_qloop_12;
+                   const __m256d q_tmp_3_7 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 35],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 35],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 35],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 35]));
+                   const __m256d q_tmp_3_8 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 36],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 36],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 36],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 36]));
+                   const __m256d q_tmp_3_9 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 37],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 37],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 37],_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 37]));
+                   q_acc_0_0 = _mm256_add_pd(q_acc_0_0,q_tmp_0_0);
+                   q_acc_0_1 = _mm256_add_pd(q_acc_0_1,q_tmp_0_1);
+                   q_acc_0_2 = _mm256_add_pd(q_acc_0_2,q_tmp_0_2);
+                   q_acc_0_3 = _mm256_add_pd(q_acc_0_3,q_tmp_0_3);
+                   q_acc_0_4 = _mm256_add_pd(q_acc_0_4,q_tmp_0_4);
+                   q_acc_0_5 = _mm256_add_pd(q_acc_0_5,q_tmp_0_5);
+                   q_acc_0_6 = _mm256_add_pd(q_acc_0_6,q_tmp_0_6);
+                   q_acc_0_7 = _mm256_add_pd(q_acc_0_7,q_tmp_0_7);
+                   q_acc_0_8 = _mm256_add_pd(q_acc_0_8,q_tmp_0_8);
+                   q_acc_0_9 = _mm256_add_pd(q_acc_0_9,q_tmp_0_9);
+                   q_acc_1_0 = _mm256_add_pd(q_acc_1_0,q_tmp_1_0);
+                   q_acc_1_1 = _mm256_add_pd(q_acc_1_1,q_tmp_1_1);
+                   q_acc_1_2 = _mm256_add_pd(q_acc_1_2,q_tmp_1_2);
+                   q_acc_1_3 = _mm256_add_pd(q_acc_1_3,q_tmp_1_3);
+                   q_acc_1_4 = _mm256_add_pd(q_acc_1_4,q_tmp_1_4);
+                   q_acc_1_5 = _mm256_add_pd(q_acc_1_5,q_tmp_1_5);
+                   q_acc_1_6 = _mm256_add_pd(q_acc_1_6,q_tmp_1_6);
+                   q_acc_1_7 = _mm256_add_pd(q_acc_1_7,q_tmp_1_7);
+                   q_acc_1_8 = _mm256_add_pd(q_acc_1_8,q_tmp_1_8);
+                   q_acc_1_9 = _mm256_add_pd(q_acc_1_9,q_tmp_1_9);
+                   q_acc_2_0 = _mm256_add_pd(q_acc_2_0,q_tmp_2_0);
+                   q_acc_2_1 = _mm256_add_pd(q_acc_2_1,q_tmp_2_1);
+                   q_acc_2_2 = _mm256_add_pd(q_acc_2_2,q_tmp_2_2);
+                   q_acc_2_3 = _mm256_add_pd(q_acc_2_3,q_tmp_2_3);
+                   q_acc_2_4 = _mm256_add_pd(q_acc_2_4,q_tmp_2_4);
+                   q_acc_2_5 = _mm256_add_pd(q_acc_2_5,q_tmp_2_5);
+                   q_acc_2_6 = _mm256_add_pd(q_acc_2_6,q_tmp_2_6);
+                   q_acc_2_7 = _mm256_add_pd(q_acc_2_7,q_tmp_2_7);
+                   q_acc_2_8 = _mm256_add_pd(q_acc_2_8,q_tmp_2_8);
+                   q_acc_2_9 = _mm256_add_pd(q_acc_2_9,q_tmp_2_9);
+                   q_acc_3_0 = _mm256_add_pd(q_acc_3_0,q_tmp_3_0);
+                   q_acc_3_1 = _mm256_add_pd(q_acc_3_1,q_tmp_3_1);
+                   q_acc_3_2 = _mm256_add_pd(q_acc_3_2,q_tmp_3_2);
+                   q_acc_3_3 = _mm256_add_pd(q_acc_3_3,q_tmp_3_3);
+                   q_acc_3_4 = _mm256_add_pd(q_acc_3_4,q_tmp_3_4);
+                   q_acc_3_5 = _mm256_add_pd(q_acc_3_5,q_tmp_3_5);
+                   q_acc_3_6 = _mm256_add_pd(q_acc_3_6,q_tmp_3_6);
+                   q_acc_3_7 = _mm256_add_pd(q_acc_3_7,q_tmp_3_7);
+                   q_acc_3_8 = _mm256_add_pd(q_acc_3_8,q_tmp_3_8);
+                   q_acc_3_9 = _mm256_add_pd(q_acc_3_9,q_tmp_3_9);
+                }
+                const __m256d elMatVec_0 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(q_acc_0_0,src_dof_0),_mm256_mul_pd(q_acc_0_1,src_dof_1)),_mm256_mul_pd(q_acc_0_2,src_dof_2)),_mm256_mul_pd(q_acc_0_3,src_dof_3)),_mm256_mul_pd(q_acc_0_4,src_dof_4)),_mm256_mul_pd(q_acc_0_5,src_dof_5)),_mm256_mul_pd(q_acc_0_6,src_dof_6)),_mm256_mul_pd(q_acc_0_7,src_dof_7)),_mm256_mul_pd(q_acc_0_8,src_dof_8)),_mm256_mul_pd(q_acc_0_9,src_dof_9));
+                const __m256d elMatVec_1 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(q_acc_1_0,src_dof_0),_mm256_mul_pd(q_acc_1_1,src_dof_1)),_mm256_mul_pd(q_acc_1_2,src_dof_2)),_mm256_mul_pd(q_acc_1_3,src_dof_3)),_mm256_mul_pd(q_acc_1_4,src_dof_4)),_mm256_mul_pd(q_acc_1_5,src_dof_5)),_mm256_mul_pd(q_acc_1_6,src_dof_6)),_mm256_mul_pd(q_acc_1_7,src_dof_7)),_mm256_mul_pd(q_acc_1_8,src_dof_8)),_mm256_mul_pd(q_acc_1_9,src_dof_9));
+                const __m256d elMatVec_2 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(q_acc_2_0,src_dof_0),_mm256_mul_pd(q_acc_2_1,src_dof_1)),_mm256_mul_pd(q_acc_2_2,src_dof_2)),_mm256_mul_pd(q_acc_2_3,src_dof_3)),_mm256_mul_pd(q_acc_2_4,src_dof_4)),_mm256_mul_pd(q_acc_2_5,src_dof_5)),_mm256_mul_pd(q_acc_2_6,src_dof_6)),_mm256_mul_pd(q_acc_2_7,src_dof_7)),_mm256_mul_pd(q_acc_2_8,src_dof_8)),_mm256_mul_pd(q_acc_2_9,src_dof_9));
+                const __m256d elMatVec_3 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(q_acc_3_0,src_dof_0),_mm256_mul_pd(q_acc_3_1,src_dof_1)),_mm256_mul_pd(q_acc_3_2,src_dof_2)),_mm256_mul_pd(q_acc_3_3,src_dof_3)),_mm256_mul_pd(q_acc_3_4,src_dof_4)),_mm256_mul_pd(q_acc_3_5,src_dof_5)),_mm256_mul_pd(q_acc_3_6,src_dof_6)),_mm256_mul_pd(q_acc_3_7,src_dof_7)),_mm256_mul_pd(q_acc_3_8,src_dof_8)),_mm256_mul_pd(q_acc_3_9,src_dof_9));
+                _mm256_storeu_pd(&_data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))],_mm256_add_pd(elMatVec_0,_mm256_loadu_pd(& _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))])));
+                _mm256_storeu_pd(&_data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1],_mm256_add_pd(elMatVec_1,_mm256_loadu_pd(& _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1])));
+                _mm256_storeu_pd(&_data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1],_mm256_add_pd(elMatVec_2,_mm256_loadu_pd(& _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1])));
+                _mm256_storeu_pd(&_data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))],_mm256_add_pd(elMatVec_3,_mm256_loadu_pd(& _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))])));
+             }
+             for (int64_t ctr_0 = (int64_t)((-ctr_1 - ctr_2 + micro_edges_per_macro_edge - 1) / (4)) * (4); ctr_0 < -ctr_1 - ctr_2 + micro_edges_per_macro_edge - 1; ctr_0 += 1)
+             {
+                const real_t src_dof_0 = _data_srcVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))];
+                const real_t src_dof_1 = _data_srcVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1];
+                const real_t src_dof_2 = _data_srcVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1];
+                const real_t src_dof_3 = _data_srcVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))];
+                const real_t src_dof_4 = _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))];
+                const real_t src_dof_5 = _data_srcEdge[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 5*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))];
+                const real_t src_dof_6 = _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1];
+                const real_t src_dof_7 = _data_srcEdge[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))];
+                const real_t src_dof_8 = _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge - 1)*(micro_edges_per_macro_edge + 1)) / (6)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))];
+                const real_t src_dof_9 = _data_srcEdge[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))];
+                const real_t k_dof_0 = _data_kVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))];
+                const real_t k_dof_1 = _data_kVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1];
+                const real_t k_dof_2 = _data_kVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1];
+                const real_t k_dof_3 = _data_kVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))];
+                const real_t k_dof_4 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))];
+                const real_t k_dof_5 = _data_kEdge[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 5*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))];
+                const real_t k_dof_6 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1];
+                const real_t k_dof_7 = _data_kEdge[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))];
+                const real_t k_dof_8 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge - 1)*(micro_edges_per_macro_edge + 1)) / (6)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))];
+                const real_t k_dof_9 = _data_kEdge[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))];
+                real_t q_acc_0_0 = 0.0;
+                real_t q_acc_0_1 = 0.0;
+                real_t q_acc_0_2 = 0.0;
+                real_t q_acc_0_3 = 0.0;
+                real_t q_acc_0_4 = 0.0;
+                real_t q_acc_0_5 = 0.0;
+                real_t q_acc_0_6 = 0.0;
+                real_t q_acc_0_7 = 0.0;
+                real_t q_acc_0_8 = 0.0;
+                real_t q_acc_0_9 = 0.0;
+                real_t q_acc_1_0 = 0.0;
+                real_t q_acc_1_1 = 0.0;
+                real_t q_acc_1_2 = 0.0;
+                real_t q_acc_1_3 = 0.0;
+                real_t q_acc_1_4 = 0.0;
+                real_t q_acc_1_5 = 0.0;
+                real_t q_acc_1_6 = 0.0;
+                real_t q_acc_1_7 = 0.0;
+                real_t q_acc_1_8 = 0.0;
+                real_t q_acc_1_9 = 0.0;
+                real_t q_acc_2_0 = 0.0;
+                real_t q_acc_2_1 = 0.0;
+                real_t q_acc_2_2 = 0.0;
+                real_t q_acc_2_3 = 0.0;
+                real_t q_acc_2_4 = 0.0;
+                real_t q_acc_2_5 = 0.0;
+                real_t q_acc_2_6 = 0.0;
+                real_t q_acc_2_7 = 0.0;
+                real_t q_acc_2_8 = 0.0;
+                real_t q_acc_2_9 = 0.0;
+                real_t q_acc_3_0 = 0.0;
+                real_t q_acc_3_1 = 0.0;
+                real_t q_acc_3_2 = 0.0;
+                real_t q_acc_3_3 = 0.0;
+                real_t q_acc_3_4 = 0.0;
+                real_t q_acc_3_5 = 0.0;
+                real_t q_acc_3_6 = 0.0;
+                real_t q_acc_3_7 = 0.0;
+                real_t q_acc_3_8 = 0.0;
+                real_t q_acc_3_9 = 0.0;
+                for (int64_t q = 0; q < 5; q += 1)
+                {
+                   const real_t tmp_qloop_0 = 4.0*_data_q_p_0[q];
+                   const real_t tmp_qloop_1 = tmp_qloop_0*_data_q_p_1[q];
+                   const real_t tmp_qloop_2 = tmp_qloop_0*_data_q_p_2[q];
+                   const real_t tmp_qloop_3 = 4.0*_data_q_p_1[q]*_data_q_p_2[q];
+                   const real_t tmp_qloop_4 = (_data_q_p_0[q]*_data_q_p_0[q]);
+                   const real_t tmp_qloop_5 = tmp_qloop_4*2.0;
+                   const real_t tmp_qloop_6 = (_data_q_p_1[q]*_data_q_p_1[q]);
+                   const real_t tmp_qloop_7 = tmp_qloop_6*2.0;
+                   const real_t tmp_qloop_8 = (_data_q_p_2[q]*_data_q_p_2[q]);
+                   const real_t tmp_qloop_9 = tmp_qloop_8*2.0;
+                   const real_t tmp_qloop_10 = tmp_qloop_1 + tmp_qloop_2;
+                   const real_t tmp_qloop_11 = (k_dof_0*(tmp_qloop_10 + tmp_qloop_3 + tmp_qloop_5 + tmp_qloop_7 + tmp_qloop_9 - 3.0*_data_q_p_0[q] - 3.0*_data_q_p_1[q] - 3.0*_data_q_p_2[q] + 1.0) + k_dof_1*(tmp_qloop_5 - _data_q_p_0[q]) + k_dof_2*(tmp_qloop_7 - _data_q_p_1[q]) + k_dof_3*(tmp_qloop_9 - _data_q_p_2[q]) + k_dof_4*tmp_qloop_3 + k_dof_5*tmp_qloop_2 + k_dof_6*tmp_qloop_1 + k_dof_7*(-tmp_qloop_2 - tmp_qloop_3 + tmp_qloop_8*-4.0 + 4.0*_data_q_p_2[q]) + k_dof_8*(-tmp_qloop_1 - tmp_qloop_3 + tmp_qloop_6*-4.0 + 4.0*_data_q_p_1[q]) + k_dof_9*(-tmp_qloop_10 + tmp_qloop_4*-4.0 + 4.0*_data_q_p_0[q]))*_data_q_w[q];
+                   const real_t tmp_qloop_12 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 14];
+                   const real_t q_tmp_0_0 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q];
+                   const real_t q_tmp_0_1 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 1];
+                   const real_t q_tmp_0_2 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 2];
+                   const real_t q_tmp_0_3 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 3];
+                   const real_t q_tmp_0_4 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 4];
+                   const real_t q_tmp_0_5 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 5];
+                   const real_t q_tmp_0_6 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 6];
+                   const real_t q_tmp_0_7 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 7];
+                   const real_t q_tmp_0_8 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 8];
+                   const real_t q_tmp_0_9 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 9];
+                   const real_t q_tmp_1_0 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 10];
+                   const real_t q_tmp_1_1 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 11];
+                   const real_t q_tmp_1_2 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 12];
+                   const real_t q_tmp_1_3 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 13];
+                   const real_t q_tmp_1_4 = tmp_qloop_12;
+                   const real_t q_tmp_1_5 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 15];
+                   const real_t q_tmp_1_6 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 16];
+                   const real_t q_tmp_1_7 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 17];
+                   const real_t q_tmp_1_8 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 18];
+                   const real_t q_tmp_1_9 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 19];
+                   const real_t q_tmp_2_0 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 20];
+                   const real_t q_tmp_2_1 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 21];
+                   const real_t q_tmp_2_2 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 22];
+                   const real_t q_tmp_2_3 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 23];
+                   const real_t q_tmp_2_4 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 24];
+                   const real_t q_tmp_2_5 = tmp_qloop_12;
+                   const real_t q_tmp_2_6 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 25];
+                   const real_t q_tmp_2_7 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 26];
+                   const real_t q_tmp_2_8 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 27];
+                   const real_t q_tmp_2_9 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 28];
+                   const real_t q_tmp_3_0 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 29];
+                   const real_t q_tmp_3_1 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 30];
+                   const real_t q_tmp_3_2 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 31];
+                   const real_t q_tmp_3_3 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 32];
+                   const real_t q_tmp_3_4 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 33];
+                   const real_t q_tmp_3_5 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 34];
+                   const real_t q_tmp_3_6 = tmp_qloop_12;
+                   const real_t q_tmp_3_7 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 35];
+                   const real_t q_tmp_3_8 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 36];
+                   const real_t q_tmp_3_9 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 37];
+                   q_acc_0_0 = q_acc_0_0 + q_tmp_0_0;
+                   q_acc_0_1 = q_acc_0_1 + q_tmp_0_1;
+                   q_acc_0_2 = q_acc_0_2 + q_tmp_0_2;
+                   q_acc_0_3 = q_acc_0_3 + q_tmp_0_3;
+                   q_acc_0_4 = q_acc_0_4 + q_tmp_0_4;
+                   q_acc_0_5 = q_acc_0_5 + q_tmp_0_5;
+                   q_acc_0_6 = q_acc_0_6 + q_tmp_0_6;
+                   q_acc_0_7 = q_acc_0_7 + q_tmp_0_7;
+                   q_acc_0_8 = q_acc_0_8 + q_tmp_0_8;
+                   q_acc_0_9 = q_acc_0_9 + q_tmp_0_9;
+                   q_acc_1_0 = q_acc_1_0 + q_tmp_1_0;
+                   q_acc_1_1 = q_acc_1_1 + q_tmp_1_1;
+                   q_acc_1_2 = q_acc_1_2 + q_tmp_1_2;
+                   q_acc_1_3 = q_acc_1_3 + q_tmp_1_3;
+                   q_acc_1_4 = q_acc_1_4 + q_tmp_1_4;
+                   q_acc_1_5 = q_acc_1_5 + q_tmp_1_5;
+                   q_acc_1_6 = q_acc_1_6 + q_tmp_1_6;
+                   q_acc_1_7 = q_acc_1_7 + q_tmp_1_7;
+                   q_acc_1_8 = q_acc_1_8 + q_tmp_1_8;
+                   q_acc_1_9 = q_acc_1_9 + q_tmp_1_9;
+                   q_acc_2_0 = q_acc_2_0 + q_tmp_2_0;
+                   q_acc_2_1 = q_acc_2_1 + q_tmp_2_1;
+                   q_acc_2_2 = q_acc_2_2 + q_tmp_2_2;
+                   q_acc_2_3 = q_acc_2_3 + q_tmp_2_3;
+                   q_acc_2_4 = q_acc_2_4 + q_tmp_2_4;
+                   q_acc_2_5 = q_acc_2_5 + q_tmp_2_5;
+                   q_acc_2_6 = q_acc_2_6 + q_tmp_2_6;
+                   q_acc_2_7 = q_acc_2_7 + q_tmp_2_7;
+                   q_acc_2_8 = q_acc_2_8 + q_tmp_2_8;
+                   q_acc_2_9 = q_acc_2_9 + q_tmp_2_9;
+                   q_acc_3_0 = q_acc_3_0 + q_tmp_3_0;
+                   q_acc_3_1 = q_acc_3_1 + q_tmp_3_1;
+                   q_acc_3_2 = q_acc_3_2 + q_tmp_3_2;
+                   q_acc_3_3 = q_acc_3_3 + q_tmp_3_3;
+                   q_acc_3_4 = q_acc_3_4 + q_tmp_3_4;
+                   q_acc_3_5 = q_acc_3_5 + q_tmp_3_5;
+                   q_acc_3_6 = q_acc_3_6 + q_tmp_3_6;
+                   q_acc_3_7 = q_acc_3_7 + q_tmp_3_7;
+                   q_acc_3_8 = q_acc_3_8 + q_tmp_3_8;
+                   q_acc_3_9 = q_acc_3_9 + q_tmp_3_9;
+                }
+                const real_t elMatVec_0 = q_acc_0_0*src_dof_0 + q_acc_0_1*src_dof_1 + q_acc_0_2*src_dof_2 + q_acc_0_3*src_dof_3 + q_acc_0_4*src_dof_4 + q_acc_0_5*src_dof_5 + q_acc_0_6*src_dof_6 + q_acc_0_7*src_dof_7 + q_acc_0_8*src_dof_8 + q_acc_0_9*src_dof_9;
+                const real_t elMatVec_1 = q_acc_1_0*src_dof_0 + q_acc_1_1*src_dof_1 + q_acc_1_2*src_dof_2 + q_acc_1_3*src_dof_3 + q_acc_1_4*src_dof_4 + q_acc_1_5*src_dof_5 + q_acc_1_6*src_dof_6 + q_acc_1_7*src_dof_7 + q_acc_1_8*src_dof_8 + q_acc_1_9*src_dof_9;
+                const real_t elMatVec_2 = q_acc_2_0*src_dof_0 + q_acc_2_1*src_dof_1 + q_acc_2_2*src_dof_2 + q_acc_2_3*src_dof_3 + q_acc_2_4*src_dof_4 + q_acc_2_5*src_dof_5 + q_acc_2_6*src_dof_6 + q_acc_2_7*src_dof_7 + q_acc_2_8*src_dof_8 + q_acc_2_9*src_dof_9;
+                const real_t elMatVec_3 = q_acc_3_0*src_dof_0 + q_acc_3_1*src_dof_1 + q_acc_3_2*src_dof_2 + q_acc_3_3*src_dof_3 + q_acc_3_4*src_dof_4 + q_acc_3_5*src_dof_5 + q_acc_3_6*src_dof_6 + q_acc_3_7*src_dof_7 + q_acc_3_8*src_dof_8 + q_acc_3_9*src_dof_9;
+                _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))] = elMatVec_0 + _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))];
+                _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1] = elMatVec_1 + _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1];
+                _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1] = elMatVec_2 + _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1];
+                _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))] = elMatVec_3 + _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))];
+             }
+          }
+       }
+    }
+}
+} // namespace operatorgeneration
+
+} // namespace hyteg
diff --git a/operators/k_mass/noarch/P2ToP1ElementwiseKMassAnnulusMap_apply_macro_2D.cpp b/operators/k_mass/noarch/P2ToP1ElementwiseKMassAnnulusMap_apply_macro_2D.cpp
new file mode 100644
index 0000000000000000000000000000000000000000..4bd17cf96bf9e9e016c104592733f04018523cc6
--- /dev/null
+++ b/operators/k_mass/noarch/P2ToP1ElementwiseKMassAnnulusMap_apply_macro_2D.cpp
@@ -0,0 +1,349 @@
+/*
+* Copyright (c) 2017-2024 Nils Kohl, Daniel Bauer, Fabian Böhm.
+*
+* This file is part of HyTeG
+* (see https://i10git.cs.fau.de/hyteg/hyteg).
+*
+* This program is free software: you can redistribute it and/or modify
+* it under the terms of the GNU General Public License as published by
+* the Free Software Foundation, either version 3 of the License, or
+* (at your option) any later version.
+*
+* This program is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+* GNU General Public License for more details.
+*
+* You should have received a copy of the GNU General Public License
+* along with this program. If not, see <http://www.gnu.org/licenses/>.
+*/
+
+/*
+* The entire file was generated with the HyTeG form generator.
+*
+* Avoid modifying this file. If buggy, consider fixing the generator itself.
+*/
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+#include "../P2ToP1ElementwiseKMassAnnulusMap.hpp"
+
+#define FUNC_PREFIX  
+
+namespace hyteg {
+
+namespace operatorgeneration {
+
+void P2ToP1ElementwiseKMassAnnulusMap::apply_macro_2D( real_t * RESTRICT  _data_dst, real_t * RESTRICT  _data_kEdge, real_t * RESTRICT  _data_kVertex, real_t * RESTRICT  _data_srcEdge, real_t * RESTRICT  _data_srcVertex, real_t macro_vertex_coord_id_0comp0, real_t macro_vertex_coord_id_0comp1, real_t macro_vertex_coord_id_1comp0, real_t macro_vertex_coord_id_1comp1, real_t macro_vertex_coord_id_2comp0, real_t macro_vertex_coord_id_2comp1, int64_t micro_edges_per_macro_edge, real_t micro_edges_per_macro_edge_float, real_t radRayVertex, real_t radRefVertex, real_t rayVertex_0, real_t rayVertex_1, real_t refVertex_0, real_t refVertex_1, real_t thrVertex_0, real_t thrVertex_1 ) const
+{
+    {
+       const real_t _data_q_w [] = {0.11169079483900581, 0.054975871827660949, 0.11169079483900581, 0.054975871827660949, 0.11169079483900581, 0.054975871827660949};
+   
+       const real_t _data_q_p_0 [] = {0.44594849091596489, 0.091576213509770715, 0.10810301816807022, 0.81684757298045851, 0.44594849091596489, 0.091576213509770715};
+   
+       const real_t _data_q_p_1 [] = {0.10810301816807022, 0.81684757298045851, 0.44594849091596489, 0.091576213509770715, 0.44594849091596489, 0.091576213509770715};
+   
+       const real_t tmp_coords_jac_0_GRAY = 1.0 / (micro_edges_per_macro_edge_float)*1.0;
+       const real_t p_affine_const_0_0_GRAY = macro_vertex_coord_id_0comp0;
+       const real_t p_affine_const_0_1_GRAY = macro_vertex_coord_id_0comp1;
+       const real_t p_affine_const_1_0_GRAY = macro_vertex_coord_id_0comp0 + tmp_coords_jac_0_GRAY*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0);
+       const real_t p_affine_const_1_1_GRAY = macro_vertex_coord_id_0comp1 + tmp_coords_jac_0_GRAY*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1);
+       const real_t p_affine_const_2_0_GRAY = macro_vertex_coord_id_0comp0 + tmp_coords_jac_0_GRAY*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0);
+       const real_t p_affine_const_2_1_GRAY = macro_vertex_coord_id_0comp1 + tmp_coords_jac_0_GRAY*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1);
+       const real_t jac_affine_0_0_GRAY = -p_affine_const_0_0_GRAY + p_affine_const_1_0_GRAY;
+       const real_t jac_affine_0_1_GRAY = -p_affine_const_0_0_GRAY + p_affine_const_2_0_GRAY;
+       const real_t jac_affine_1_0_GRAY = -p_affine_const_0_1_GRAY + p_affine_const_1_1_GRAY;
+       const real_t jac_affine_1_1_GRAY = -p_affine_const_0_1_GRAY + p_affine_const_2_1_GRAY;
+       const real_t abs_det_jac_affine_GRAY = abs(jac_affine_0_0_GRAY*jac_affine_1_1_GRAY - jac_affine_0_1_GRAY*jac_affine_1_0_GRAY);
+       const real_t tmp_qloop_5 = rayVertex_1 - thrVertex_1;
+       const real_t tmp_qloop_11 = rayVertex_0 - thrVertex_0;
+       const real_t tmp_qloop_12 = (radRayVertex - radRefVertex)*1.0 / (-tmp_qloop_11*(rayVertex_1 - refVertex_1) + tmp_qloop_5*(rayVertex_0 - refVertex_0));
+       {
+          /* FaceType.GRAY */
+          const real_t _data_phi_psi_jac_affine_det_0_0_GRAY [] = {((real_t)(abs_det_jac_affine_GRAY*-0.021498453336334336)), ((real_t)(abs_det_jac_affine_GRAY*-0.021498453336334288)), ((real_t)(abs_det_jac_affine_GRAY*-0.037785435529825065)), ((real_t)(abs_det_jac_affine_GRAY*0.085993813345337122)), ((real_t)(abs_det_jac_affine_GRAY*0.085993813345337122)), ((real_t)(abs_det_jac_affine_GRAY*0.35474320642778434)), ((real_t)(abs_det_jac_affine_GRAY*-0.021498453336334336)), ((real_t)(abs_det_jac_affine_GRAY*-0.021498453336334288)), ((real_t)(abs_det_jac_affine_GRAY*-0.037785435529825065)), ((real_t)(abs_det_jac_affine_GRAY*0.085993813345337108)), ((real_t)(abs_det_jac_affine_GRAY*0.085993813345337122)), ((real_t)(abs_det_jac_affine_GRAY*0.35474320642778434)), ((real_t)(abs_det_jac_affine_GRAY*-0.0052114711428435066)), ((real_t)(abs_det_jac_affine_GRAY*-0.0052114711428434945)), ((real_t)(abs_det_jac_affine_GRAY*-0.0091596220343278505)), ((real_t)(abs_det_jac_affine_GRAY*0.020845884571373971)), ((real_t)(abs_det_jac_affine_GRAY*0.020845884571373971)), ((real_t)(abs_det_jac_affine_GRAY*0.085993813345337122)), ((real_t)(abs_det_jac_affine_GRAY*-0.0068502494696926711)), ((real_t)(abs_det_jac_affine_GRAY*-0.006850249469692685)), ((real_t)(abs_det_jac_affine_GRAY*0.047402809869425765)), ((real_t)(abs_det_jac_affine_GRAY*0.02740099787877074)), ((real_t)(abs_det_jac_affine_GRAY*0.02740099787877075)), ((real_t)(abs_det_jac_affine_GRAY*0.0030719068221888579)), ((real_t)(abs_det_jac_affine_GRAY*-0.0068502494696926685)), ((real_t)(abs_det_jac_affine_GRAY*-0.0068502494696926824)), ((real_t)(abs_det_jac_affine_GRAY*0.047402809869425751)), ((real_t)(abs_det_jac_affine_GRAY*0.02740099787877073)), ((real_t)(abs_det_jac_affine_GRAY*0.02740099787877074)), ((real_t)(abs_det_jac_affine_GRAY*0.0030719068221888566)), ((real_t)(abs_det_jac_affine_GRAY*-0.061103308808810999)), ((real_t)(abs_det_jac_affine_GRAY*-0.061103308808811124)), ((real_t)(abs_det_jac_affine_GRAY*0.42282672224882095)), ((real_t)(abs_det_jac_affine_GRAY*0.24441323523524447)), ((real_t)(abs_det_jac_affine_GRAY*0.24441323523524458)), ((real_t)(abs_det_jac_affine_GRAY*0.027400997878770705)), ((real_t)(abs_det_jac_affine_GRAY*-0.021498453336334326)), ((real_t)(abs_det_jac_affine_GRAY*-0.037785435529825065)), ((real_t)(abs_det_jac_affine_GRAY*-0.021498453336334288)), ((real_t)(abs_det_jac_affine_GRAY*0.085993813345337122)), ((real_t)(abs_det_jac_affine_GRAY*0.35474320642778434)), ((real_t)(abs_det_jac_affine_GRAY*0.085993813345337122)), ((real_t)(abs_det_jac_affine_GRAY*-0.005211471142843504)), ((real_t)(abs_det_jac_affine_GRAY*-0.0091596220343278505)), ((real_t)(abs_det_jac_affine_GRAY*-0.0052114711428434945)), ((real_t)(abs_det_jac_affine_GRAY*0.020845884571373971)), ((real_t)(abs_det_jac_affine_GRAY*0.085993813345337122)), ((real_t)(abs_det_jac_affine_GRAY*0.020845884571373971)), ((real_t)(abs_det_jac_affine_GRAY*-0.021498453336334326)), ((real_t)(abs_det_jac_affine_GRAY*-0.037785435529825065)), ((real_t)(abs_det_jac_affine_GRAY*-0.021498453336334288)), ((real_t)(abs_det_jac_affine_GRAY*0.085993813345337108)), ((real_t)(abs_det_jac_affine_GRAY*0.35474320642778434)), ((real_t)(abs_det_jac_affine_GRAY*0.085993813345337122)), ((real_t)(abs_det_jac_affine_GRAY*-0.0068502494696926625)), ((real_t)(abs_det_jac_affine_GRAY*0.047402809869425779)), ((real_t)(abs_det_jac_affine_GRAY*-0.0068502494696926867)), ((real_t)(abs_det_jac_affine_GRAY*0.027400997878770747)), ((real_t)(abs_det_jac_affine_GRAY*0.0030719068221888588)), ((real_t)(abs_det_jac_affine_GRAY*0.027400997878770757)), ((real_t)(abs_det_jac_affine_GRAY*-0.061103308808810909)), ((real_t)(abs_det_jac_affine_GRAY*0.42282672224882095)), ((real_t)(abs_det_jac_affine_GRAY*-0.061103308808811124)), ((real_t)(abs_det_jac_affine_GRAY*0.24441323523524447)), ((real_t)(abs_det_jac_affine_GRAY*0.027400997878770705)), ((real_t)(abs_det_jac_affine_GRAY*0.24441323523524458)), ((real_t)(abs_det_jac_affine_GRAY*-0.006850249469692659)), ((real_t)(abs_det_jac_affine_GRAY*0.047402809869425751)), ((real_t)(abs_det_jac_affine_GRAY*-0.0068502494696926824)), ((real_t)(abs_det_jac_affine_GRAY*0.02740099787877073)), ((real_t)(abs_det_jac_affine_GRAY*0.0030719068221888566)), ((real_t)(abs_det_jac_affine_GRAY*0.02740099787877074)), ((real_t)(abs_det_jac_affine_GRAY*-0.0091596220343278956)), ((real_t)(abs_det_jac_affine_GRAY*-0.0052114711428434945)), ((real_t)(abs_det_jac_affine_GRAY*-0.0052114711428434945)), ((real_t)(abs_det_jac_affine_GRAY*0.085993813345337108)), ((real_t)(abs_det_jac_affine_GRAY*0.020845884571373978)), ((real_t)(abs_det_jac_affine_GRAY*0.020845884571373978)), ((real_t)(abs_det_jac_affine_GRAY*-0.037785435529825252)), ((real_t)(abs_det_jac_affine_GRAY*-0.021498453336334288)), ((real_t)(abs_det_jac_affine_GRAY*-0.021498453336334288)), ((real_t)(abs_det_jac_affine_GRAY*0.35474320642778429)), ((real_t)(abs_det_jac_affine_GRAY*0.08599381334533715)), ((real_t)(abs_det_jac_affine_GRAY*0.08599381334533715)), ((real_t)(abs_det_jac_affine_GRAY*-0.037785435529825252)), ((real_t)(abs_det_jac_affine_GRAY*-0.021498453336334288)), ((real_t)(abs_det_jac_affine_GRAY*-0.021498453336334288)), ((real_t)(abs_det_jac_affine_GRAY*0.35474320642778429)), ((real_t)(abs_det_jac_affine_GRAY*0.08599381334533715)), ((real_t)(abs_det_jac_affine_GRAY*0.08599381334533715)), ((real_t)(abs_det_jac_affine_GRAY*0.42282672224882117)), ((real_t)(abs_det_jac_affine_GRAY*-0.061103308808811124)), ((real_t)(abs_det_jac_affine_GRAY*-0.061103308808811124)), ((real_t)(abs_det_jac_affine_GRAY*0.02740099787877073)), ((real_t)(abs_det_jac_affine_GRAY*0.24441323523524444)), ((real_t)(abs_det_jac_affine_GRAY*0.24441323523524444)), ((real_t)(abs_det_jac_affine_GRAY*0.047402809869425772)), ((real_t)(abs_det_jac_affine_GRAY*-0.0068502494696926824)), ((real_t)(abs_det_jac_affine_GRAY*-0.0068502494696926824)), ((real_t)(abs_det_jac_affine_GRAY*0.0030719068221888592)), ((real_t)(abs_det_jac_affine_GRAY*0.027400997878770726)), ((real_t)(abs_det_jac_affine_GRAY*0.027400997878770726)), ((real_t)(abs_det_jac_affine_GRAY*0.047402809869425772)), ((real_t)(abs_det_jac_affine_GRAY*-0.0068502494696926824)), ((real_t)(abs_det_jac_affine_GRAY*-0.0068502494696926824)), ((real_t)(abs_det_jac_affine_GRAY*0.0030719068221888592)), ((real_t)(abs_det_jac_affine_GRAY*0.027400997878770726)), ((real_t)(abs_det_jac_affine_GRAY*0.027400997878770726))};
+      
+          for (int64_t ctr_1 = 0; ctr_1 < micro_edges_per_macro_edge; ctr_1 += 1)
+          for (int64_t ctr_0 = 0; ctr_0 < -ctr_1 + micro_edges_per_macro_edge; ctr_0 += 1)
+          {
+         
+             const int64_t phantom_ctr_0 = ctr_0;
+             real_t _data_float_loop_ctr_array_dim_0[4];
+             _data_float_loop_ctr_array_dim_0[0] = (real_t) ctr_0+ 0;
+             _data_float_loop_ctr_array_dim_0[1] = (real_t) ctr_0+ 1;
+             _data_float_loop_ctr_array_dim_0[2] = (real_t) ctr_0+ 2;
+             _data_float_loop_ctr_array_dim_0[3] = (real_t) ctr_0+ 3;
+             real_t _data_float_loop_ctr_array_dim_1[4];
+             _data_float_loop_ctr_array_dim_1[0] = (real_t) ctr_1;
+             _data_float_loop_ctr_array_dim_1[1] = (real_t) ctr_1;
+             _data_float_loop_ctr_array_dim_1[2] = (real_t) ctr_1;
+             _data_float_loop_ctr_array_dim_1[3] = (real_t) ctr_1;
+         
+             const real_t p_affine_0_0 = macro_vertex_coord_id_0comp0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0)*1.0*_data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0)*1.0*_data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0];
+             const real_t p_affine_0_1 = macro_vertex_coord_id_0comp1 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1)*1.0*_data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1)*1.0*_data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0];
+             const real_t p_affine_1_0 = macro_vertex_coord_id_0comp0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0)*(1.0 + _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0)*1.0*_data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0];
+             const real_t p_affine_1_1 = macro_vertex_coord_id_0comp1 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1)*(1.0 + _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1)*1.0*_data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0];
+             const real_t p_affine_2_0 = macro_vertex_coord_id_0comp0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0)*1.0*_data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0)*(1.0 + _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0])*1.0;
+             const real_t p_affine_2_1 = macro_vertex_coord_id_0comp1 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1)*1.0*_data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1)*(1.0 + _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0])*1.0;
+             const real_t src_dof_0 = _data_srcVertex[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2))];
+             const real_t src_dof_1 = _data_srcVertex[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + 1];
+             const real_t src_dof_2 = _data_srcVertex[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2))];
+             const real_t src_dof_3 = _data_srcEdge[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)) / (2))];
+             const real_t src_dof_4 = _data_srcEdge[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 2*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)) / (2))];
+             const real_t src_dof_5 = _data_srcEdge[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2))];
+             const real_t k_dof_0 = _data_kVertex[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2))];
+             const real_t k_dof_1 = _data_kVertex[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + 1];
+             const real_t k_dof_2 = _data_kVertex[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2))];
+             const real_t k_dof_3 = _data_kEdge[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)) / (2))];
+             const real_t k_dof_4 = _data_kEdge[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 2*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)) / (2))];
+             const real_t k_dof_5 = _data_kEdge[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2))];
+             real_t q_acc_0_0 = 0.0;
+             real_t q_acc_0_1 = 0.0;
+             real_t q_acc_0_2 = 0.0;
+             real_t q_acc_0_3 = 0.0;
+             real_t q_acc_0_4 = 0.0;
+             real_t q_acc_0_5 = 0.0;
+             real_t q_acc_1_0 = 0.0;
+             real_t q_acc_1_1 = 0.0;
+             real_t q_acc_1_2 = 0.0;
+             real_t q_acc_1_3 = 0.0;
+             real_t q_acc_1_4 = 0.0;
+             real_t q_acc_1_5 = 0.0;
+             real_t q_acc_2_0 = 0.0;
+             real_t q_acc_2_1 = 0.0;
+             real_t q_acc_2_2 = 0.0;
+             real_t q_acc_2_3 = 0.0;
+             real_t q_acc_2_4 = 0.0;
+             real_t q_acc_2_5 = 0.0;
+             for (int64_t q = 0; q < 6; q += 1)
+             {
+                const real_t tmp_qloop_0 = 4.0*_data_q_p_0[q]*_data_q_p_1[q];
+                const real_t tmp_qloop_1 = (_data_q_p_0[q]*_data_q_p_0[q]);
+                const real_t tmp_qloop_2 = tmp_qloop_1*2.0;
+                const real_t tmp_qloop_3 = (_data_q_p_1[q]*_data_q_p_1[q]);
+                const real_t tmp_qloop_4 = tmp_qloop_3*2.0;
+                const real_t tmp_qloop_6 = -p_affine_0_0 + (p_affine_0_0 - p_affine_1_0)*_data_q_p_0[q] + (p_affine_0_0 - p_affine_2_0)*_data_q_p_1[q];
+                const real_t tmp_qloop_7 = (tmp_qloop_6*tmp_qloop_6);
+                const real_t tmp_qloop_8 = -p_affine_0_1 + (p_affine_0_1 - p_affine_1_1)*_data_q_p_0[q] + (p_affine_0_1 - p_affine_2_1)*_data_q_p_1[q];
+                const real_t tmp_qloop_9 = (tmp_qloop_8*tmp_qloop_8);
+                const real_t tmp_qloop_10 = tmp_qloop_7 + tmp_qloop_9;
+                const real_t tmp_qloop_13 = pow(tmp_qloop_10, -0.50000000000000000)*tmp_qloop_12*1.0;
+                const real_t tmp_qloop_14 = tmp_qloop_13*tmp_qloop_6;
+                const real_t tmp_qloop_15 = tmp_qloop_11*(rayVertex_1 + tmp_qloop_8) - tmp_qloop_5*(rayVertex_0 + tmp_qloop_6);
+                const real_t tmp_qloop_16 = pow(tmp_qloop_10, -1.5000000000000000)*1.0;
+                const real_t tmp_qloop_17 = tmp_qloop_16*(radRayVertex + tmp_qloop_12*tmp_qloop_15);
+                const real_t tmp_qloop_18 = tmp_qloop_13*tmp_qloop_8;
+                const real_t tmp_qloop_19 = tmp_qloop_16*(radRayVertex + tmp_qloop_12*tmp_qloop_15);
+                const real_t tmp_qloop_20 = tmp_qloop_6*tmp_qloop_8;
+                const real_t tmp_qloop_21 = (k_dof_0*(tmp_qloop_0 + tmp_qloop_2 + tmp_qloop_4 - 3.0*_data_q_p_0[q] - 3.0*_data_q_p_1[q] + 1.0) + k_dof_1*(tmp_qloop_2 - _data_q_p_0[q]) + k_dof_2*(tmp_qloop_4 - _data_q_p_1[q]) + k_dof_3*tmp_qloop_0 + k_dof_4*(-tmp_qloop_0 + tmp_qloop_3*-4.0 + 4.0*_data_q_p_1[q]) + k_dof_5*(-tmp_qloop_0 + tmp_qloop_1*-4.0 + 4.0*_data_q_p_0[q]))*abs((tmp_qloop_11*tmp_qloop_14 - tmp_qloop_19*tmp_qloop_20)*(tmp_qloop_17*tmp_qloop_20 + tmp_qloop_18*tmp_qloop_5) - (tmp_qloop_11*tmp_qloop_18 + tmp_qloop_19*tmp_qloop_7)*(tmp_qloop_14*tmp_qloop_5 - tmp_qloop_17*tmp_qloop_9))*_data_q_w[q];
+                const real_t q_tmp_0_0 = tmp_qloop_21*_data_phi_psi_jac_affine_det_0_0_GRAY[18*q];
+                const real_t q_tmp_0_1 = tmp_qloop_21*_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 1];
+                const real_t q_tmp_0_2 = tmp_qloop_21*_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 2];
+                const real_t q_tmp_0_3 = tmp_qloop_21*_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 3];
+                const real_t q_tmp_0_4 = tmp_qloop_21*_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 4];
+                const real_t q_tmp_0_5 = tmp_qloop_21*_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 5];
+                const real_t q_tmp_1_0 = tmp_qloop_21*_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 6];
+                const real_t q_tmp_1_1 = tmp_qloop_21*_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 7];
+                const real_t q_tmp_1_2 = tmp_qloop_21*_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 8];
+                const real_t q_tmp_1_3 = tmp_qloop_21*_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 9];
+                const real_t q_tmp_1_4 = tmp_qloop_21*_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 10];
+                const real_t q_tmp_1_5 = tmp_qloop_21*_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 11];
+                const real_t q_tmp_2_0 = tmp_qloop_21*_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 12];
+                const real_t q_tmp_2_1 = tmp_qloop_21*_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 13];
+                const real_t q_tmp_2_2 = tmp_qloop_21*_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 14];
+                const real_t q_tmp_2_3 = tmp_qloop_21*_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 15];
+                const real_t q_tmp_2_4 = tmp_qloop_21*_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 16];
+                const real_t q_tmp_2_5 = tmp_qloop_21*_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 17];
+                q_acc_0_0 = q_acc_0_0 + q_tmp_0_0;
+                q_acc_0_1 = q_acc_0_1 + q_tmp_0_1;
+                q_acc_0_2 = q_acc_0_2 + q_tmp_0_2;
+                q_acc_0_3 = q_acc_0_3 + q_tmp_0_3;
+                q_acc_0_4 = q_acc_0_4 + q_tmp_0_4;
+                q_acc_0_5 = q_acc_0_5 + q_tmp_0_5;
+                q_acc_1_0 = q_acc_1_0 + q_tmp_1_0;
+                q_acc_1_1 = q_acc_1_1 + q_tmp_1_1;
+                q_acc_1_2 = q_acc_1_2 + q_tmp_1_2;
+                q_acc_1_3 = q_acc_1_3 + q_tmp_1_3;
+                q_acc_1_4 = q_acc_1_4 + q_tmp_1_4;
+                q_acc_1_5 = q_acc_1_5 + q_tmp_1_5;
+                q_acc_2_0 = q_acc_2_0 + q_tmp_2_0;
+                q_acc_2_1 = q_acc_2_1 + q_tmp_2_1;
+                q_acc_2_2 = q_acc_2_2 + q_tmp_2_2;
+                q_acc_2_3 = q_acc_2_3 + q_tmp_2_3;
+                q_acc_2_4 = q_acc_2_4 + q_tmp_2_4;
+                q_acc_2_5 = q_acc_2_5 + q_tmp_2_5;
+             }
+             const real_t elMatVec_0 = q_acc_0_0*src_dof_0 + q_acc_0_1*src_dof_1 + q_acc_0_2*src_dof_2 + q_acc_0_3*src_dof_3 + q_acc_0_4*src_dof_4 + q_acc_0_5*src_dof_5;
+             const real_t elMatVec_1 = q_acc_1_0*src_dof_0 + q_acc_1_1*src_dof_1 + q_acc_1_2*src_dof_2 + q_acc_1_3*src_dof_3 + q_acc_1_4*src_dof_4 + q_acc_1_5*src_dof_5;
+             const real_t elMatVec_2 = q_acc_2_0*src_dof_0 + q_acc_2_1*src_dof_1 + q_acc_2_2*src_dof_2 + q_acc_2_3*src_dof_3 + q_acc_2_4*src_dof_4 + q_acc_2_5*src_dof_5;
+             _data_dst[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2))] = elMatVec_0 + _data_dst[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2))];
+             _data_dst[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + 1] = elMatVec_1 + _data_dst[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + 1];
+             _data_dst[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2))] = elMatVec_2 + _data_dst[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2))];
+          }
+       }
+       const real_t tmp_coords_jac_0_BLUE = 1.0 / (micro_edges_per_macro_edge_float)*1.0;
+       const real_t tmp_coords_jac_1_BLUE = macro_vertex_coord_id_0comp0 + tmp_coords_jac_0_BLUE*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0);
+       const real_t tmp_coords_jac_2_BLUE = macro_vertex_coord_id_0comp1 + tmp_coords_jac_0_BLUE*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1);
+       const real_t tmp_coords_jac_3_BLUE = tmp_coords_jac_0_BLUE*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0);
+       const real_t tmp_coords_jac_4_BLUE = tmp_coords_jac_0_BLUE*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1);
+       const real_t p_affine_const_0_0_BLUE = tmp_coords_jac_1_BLUE;
+       const real_t p_affine_const_0_1_BLUE = tmp_coords_jac_2_BLUE;
+       const real_t p_affine_const_1_0_BLUE = macro_vertex_coord_id_0comp0 + tmp_coords_jac_3_BLUE;
+       const real_t p_affine_const_1_1_BLUE = macro_vertex_coord_id_0comp1 + tmp_coords_jac_4_BLUE;
+       const real_t p_affine_const_2_0_BLUE = tmp_coords_jac_1_BLUE + tmp_coords_jac_3_BLUE;
+       const real_t p_affine_const_2_1_BLUE = tmp_coords_jac_2_BLUE + tmp_coords_jac_4_BLUE;
+       const real_t jac_affine_0_0_BLUE = -p_affine_const_0_0_BLUE + p_affine_const_1_0_BLUE;
+       const real_t jac_affine_0_1_BLUE = -p_affine_const_0_0_BLUE + p_affine_const_2_0_BLUE;
+       const real_t jac_affine_1_0_BLUE = -p_affine_const_0_1_BLUE + p_affine_const_1_1_BLUE;
+       const real_t jac_affine_1_1_BLUE = -p_affine_const_0_1_BLUE + p_affine_const_2_1_BLUE;
+       const real_t abs_det_jac_affine_BLUE = abs(jac_affine_0_0_BLUE*jac_affine_1_1_BLUE - jac_affine_0_1_BLUE*jac_affine_1_0_BLUE);
+       {
+          /* FaceType.BLUE */
+          const real_t _data_phi_psi_jac_affine_det_0_0_BLUE [] = {((real_t)(abs_det_jac_affine_BLUE*-0.021498453336334336)), ((real_t)(abs_det_jac_affine_BLUE*-0.021498453336334288)), ((real_t)(abs_det_jac_affine_BLUE*-0.037785435529825065)), ((real_t)(abs_det_jac_affine_BLUE*0.085993813345337122)), ((real_t)(abs_det_jac_affine_BLUE*0.085993813345337122)), ((real_t)(abs_det_jac_affine_BLUE*0.35474320642778434)), ((real_t)(abs_det_jac_affine_BLUE*-0.021498453336334336)), ((real_t)(abs_det_jac_affine_BLUE*-0.021498453336334288)), ((real_t)(abs_det_jac_affine_BLUE*-0.037785435529825065)), ((real_t)(abs_det_jac_affine_BLUE*0.085993813345337108)), ((real_t)(abs_det_jac_affine_BLUE*0.085993813345337122)), ((real_t)(abs_det_jac_affine_BLUE*0.35474320642778434)), ((real_t)(abs_det_jac_affine_BLUE*-0.0052114711428435066)), ((real_t)(abs_det_jac_affine_BLUE*-0.0052114711428434945)), ((real_t)(abs_det_jac_affine_BLUE*-0.0091596220343278505)), ((real_t)(abs_det_jac_affine_BLUE*0.020845884571373971)), ((real_t)(abs_det_jac_affine_BLUE*0.020845884571373971)), ((real_t)(abs_det_jac_affine_BLUE*0.085993813345337122)), ((real_t)(abs_det_jac_affine_BLUE*-0.0068502494696926711)), ((real_t)(abs_det_jac_affine_BLUE*-0.006850249469692685)), ((real_t)(abs_det_jac_affine_BLUE*0.047402809869425765)), ((real_t)(abs_det_jac_affine_BLUE*0.02740099787877074)), ((real_t)(abs_det_jac_affine_BLUE*0.02740099787877075)), ((real_t)(abs_det_jac_affine_BLUE*0.0030719068221888579)), ((real_t)(abs_det_jac_affine_BLUE*-0.0068502494696926685)), ((real_t)(abs_det_jac_affine_BLUE*-0.0068502494696926824)), ((real_t)(abs_det_jac_affine_BLUE*0.047402809869425751)), ((real_t)(abs_det_jac_affine_BLUE*0.02740099787877073)), ((real_t)(abs_det_jac_affine_BLUE*0.02740099787877074)), ((real_t)(abs_det_jac_affine_BLUE*0.0030719068221888566)), ((real_t)(abs_det_jac_affine_BLUE*-0.061103308808810999)), ((real_t)(abs_det_jac_affine_BLUE*-0.061103308808811124)), ((real_t)(abs_det_jac_affine_BLUE*0.42282672224882095)), ((real_t)(abs_det_jac_affine_BLUE*0.24441323523524447)), ((real_t)(abs_det_jac_affine_BLUE*0.24441323523524458)), ((real_t)(abs_det_jac_affine_BLUE*0.027400997878770705)), ((real_t)(abs_det_jac_affine_BLUE*-0.021498453336334326)), ((real_t)(abs_det_jac_affine_BLUE*-0.037785435529825065)), ((real_t)(abs_det_jac_affine_BLUE*-0.021498453336334288)), ((real_t)(abs_det_jac_affine_BLUE*0.085993813345337122)), ((real_t)(abs_det_jac_affine_BLUE*0.35474320642778434)), ((real_t)(abs_det_jac_affine_BLUE*0.085993813345337122)), ((real_t)(abs_det_jac_affine_BLUE*-0.005211471142843504)), ((real_t)(abs_det_jac_affine_BLUE*-0.0091596220343278505)), ((real_t)(abs_det_jac_affine_BLUE*-0.0052114711428434945)), ((real_t)(abs_det_jac_affine_BLUE*0.020845884571373971)), ((real_t)(abs_det_jac_affine_BLUE*0.085993813345337122)), ((real_t)(abs_det_jac_affine_BLUE*0.020845884571373971)), ((real_t)(abs_det_jac_affine_BLUE*-0.021498453336334326)), ((real_t)(abs_det_jac_affine_BLUE*-0.037785435529825065)), ((real_t)(abs_det_jac_affine_BLUE*-0.021498453336334288)), ((real_t)(abs_det_jac_affine_BLUE*0.085993813345337108)), ((real_t)(abs_det_jac_affine_BLUE*0.35474320642778434)), ((real_t)(abs_det_jac_affine_BLUE*0.085993813345337122)), ((real_t)(abs_det_jac_affine_BLUE*-0.0068502494696926625)), ((real_t)(abs_det_jac_affine_BLUE*0.047402809869425779)), ((real_t)(abs_det_jac_affine_BLUE*-0.0068502494696926867)), ((real_t)(abs_det_jac_affine_BLUE*0.027400997878770747)), ((real_t)(abs_det_jac_affine_BLUE*0.0030719068221888588)), ((real_t)(abs_det_jac_affine_BLUE*0.027400997878770757)), ((real_t)(abs_det_jac_affine_BLUE*-0.061103308808810909)), ((real_t)(abs_det_jac_affine_BLUE*0.42282672224882095)), ((real_t)(abs_det_jac_affine_BLUE*-0.061103308808811124)), ((real_t)(abs_det_jac_affine_BLUE*0.24441323523524447)), ((real_t)(abs_det_jac_affine_BLUE*0.027400997878770705)), ((real_t)(abs_det_jac_affine_BLUE*0.24441323523524458)), ((real_t)(abs_det_jac_affine_BLUE*-0.006850249469692659)), ((real_t)(abs_det_jac_affine_BLUE*0.047402809869425751)), ((real_t)(abs_det_jac_affine_BLUE*-0.0068502494696926824)), ((real_t)(abs_det_jac_affine_BLUE*0.02740099787877073)), ((real_t)(abs_det_jac_affine_BLUE*0.0030719068221888566)), ((real_t)(abs_det_jac_affine_BLUE*0.02740099787877074)), ((real_t)(abs_det_jac_affine_BLUE*-0.0091596220343278956)), ((real_t)(abs_det_jac_affine_BLUE*-0.0052114711428434945)), ((real_t)(abs_det_jac_affine_BLUE*-0.0052114711428434945)), ((real_t)(abs_det_jac_affine_BLUE*0.085993813345337108)), ((real_t)(abs_det_jac_affine_BLUE*0.020845884571373978)), ((real_t)(abs_det_jac_affine_BLUE*0.020845884571373978)), ((real_t)(abs_det_jac_affine_BLUE*-0.037785435529825252)), ((real_t)(abs_det_jac_affine_BLUE*-0.021498453336334288)), ((real_t)(abs_det_jac_affine_BLUE*-0.021498453336334288)), ((real_t)(abs_det_jac_affine_BLUE*0.35474320642778429)), ((real_t)(abs_det_jac_affine_BLUE*0.08599381334533715)), ((real_t)(abs_det_jac_affine_BLUE*0.08599381334533715)), ((real_t)(abs_det_jac_affine_BLUE*-0.037785435529825252)), ((real_t)(abs_det_jac_affine_BLUE*-0.021498453336334288)), ((real_t)(abs_det_jac_affine_BLUE*-0.021498453336334288)), ((real_t)(abs_det_jac_affine_BLUE*0.35474320642778429)), ((real_t)(abs_det_jac_affine_BLUE*0.08599381334533715)), ((real_t)(abs_det_jac_affine_BLUE*0.08599381334533715)), ((real_t)(abs_det_jac_affine_BLUE*0.42282672224882117)), ((real_t)(abs_det_jac_affine_BLUE*-0.061103308808811124)), ((real_t)(abs_det_jac_affine_BLUE*-0.061103308808811124)), ((real_t)(abs_det_jac_affine_BLUE*0.02740099787877073)), ((real_t)(abs_det_jac_affine_BLUE*0.24441323523524444)), ((real_t)(abs_det_jac_affine_BLUE*0.24441323523524444)), ((real_t)(abs_det_jac_affine_BLUE*0.047402809869425772)), ((real_t)(abs_det_jac_affine_BLUE*-0.0068502494696926824)), ((real_t)(abs_det_jac_affine_BLUE*-0.0068502494696926824)), ((real_t)(abs_det_jac_affine_BLUE*0.0030719068221888592)), ((real_t)(abs_det_jac_affine_BLUE*0.027400997878770726)), ((real_t)(abs_det_jac_affine_BLUE*0.027400997878770726)), ((real_t)(abs_det_jac_affine_BLUE*0.047402809869425772)), ((real_t)(abs_det_jac_affine_BLUE*-0.0068502494696926824)), ((real_t)(abs_det_jac_affine_BLUE*-0.0068502494696926824)), ((real_t)(abs_det_jac_affine_BLUE*0.0030719068221888592)), ((real_t)(abs_det_jac_affine_BLUE*0.027400997878770726)), ((real_t)(abs_det_jac_affine_BLUE*0.027400997878770726))};
+      
+          for (int64_t ctr_1 = 0; ctr_1 < micro_edges_per_macro_edge; ctr_1 += 1)
+          for (int64_t ctr_0 = 0; ctr_0 < -ctr_1 + micro_edges_per_macro_edge - 1; ctr_0 += 1)
+          {
+         
+             const int64_t phantom_ctr_0 = ctr_0;
+             real_t _data_float_loop_ctr_array_dim_0[4];
+             _data_float_loop_ctr_array_dim_0[0] = (real_t) ctr_0+ 0;
+             _data_float_loop_ctr_array_dim_0[1] = (real_t) ctr_0+ 1;
+             _data_float_loop_ctr_array_dim_0[2] = (real_t) ctr_0+ 2;
+             _data_float_loop_ctr_array_dim_0[3] = (real_t) ctr_0+ 3;
+             real_t _data_float_loop_ctr_array_dim_1[4];
+             _data_float_loop_ctr_array_dim_1[0] = (real_t) ctr_1;
+             _data_float_loop_ctr_array_dim_1[1] = (real_t) ctr_1;
+             _data_float_loop_ctr_array_dim_1[2] = (real_t) ctr_1;
+             _data_float_loop_ctr_array_dim_1[3] = (real_t) ctr_1;
+         
+             const real_t p_affine_0_0 = macro_vertex_coord_id_0comp0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0)*(1.0 + _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0)*1.0*_data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0];
+             const real_t p_affine_0_1 = macro_vertex_coord_id_0comp1 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1)*(1.0 + _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1)*1.0*_data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0];
+             const real_t p_affine_1_0 = macro_vertex_coord_id_0comp0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0)*1.0*_data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0)*(1.0 + _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0])*1.0;
+             const real_t p_affine_1_1 = macro_vertex_coord_id_0comp1 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1)*1.0*_data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1)*(1.0 + _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0])*1.0;
+             const real_t p_affine_2_0 = macro_vertex_coord_id_0comp0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0)*(1.0 + _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0)*(1.0 + _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0])*1.0;
+             const real_t p_affine_2_1 = macro_vertex_coord_id_0comp1 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1)*(1.0 + _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1)*(1.0 + _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0])*1.0;
+             const real_t src_dof_0 = _data_srcVertex[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + 1];
+             const real_t src_dof_1 = _data_srcVertex[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2))];
+             const real_t src_dof_2 = _data_srcVertex[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 1];
+             const real_t src_dof_3 = _data_srcEdge[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2))];
+             const real_t src_dof_4 = _data_srcEdge[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 2*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)) / (2)) + 1];
+             const real_t src_dof_5 = _data_srcEdge[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)) / (2))];
+             const real_t k_dof_0 = _data_kVertex[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + 1];
+             const real_t k_dof_1 = _data_kVertex[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2))];
+             const real_t k_dof_2 = _data_kVertex[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 1];
+             const real_t k_dof_3 = _data_kEdge[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2))];
+             const real_t k_dof_4 = _data_kEdge[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 2*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)) / (2)) + 1];
+             const real_t k_dof_5 = _data_kEdge[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)) / (2))];
+             real_t q_acc_0_0 = 0.0;
+             real_t q_acc_0_1 = 0.0;
+             real_t q_acc_0_2 = 0.0;
+             real_t q_acc_0_3 = 0.0;
+             real_t q_acc_0_4 = 0.0;
+             real_t q_acc_0_5 = 0.0;
+             real_t q_acc_1_0 = 0.0;
+             real_t q_acc_1_1 = 0.0;
+             real_t q_acc_1_2 = 0.0;
+             real_t q_acc_1_3 = 0.0;
+             real_t q_acc_1_4 = 0.0;
+             real_t q_acc_1_5 = 0.0;
+             real_t q_acc_2_0 = 0.0;
+             real_t q_acc_2_1 = 0.0;
+             real_t q_acc_2_2 = 0.0;
+             real_t q_acc_2_3 = 0.0;
+             real_t q_acc_2_4 = 0.0;
+             real_t q_acc_2_5 = 0.0;
+             for (int64_t q = 0; q < 6; q += 1)
+             {
+                const real_t tmp_qloop_0 = 4.0*_data_q_p_0[q]*_data_q_p_1[q];
+                const real_t tmp_qloop_1 = (_data_q_p_0[q]*_data_q_p_0[q]);
+                const real_t tmp_qloop_2 = tmp_qloop_1*2.0;
+                const real_t tmp_qloop_3 = (_data_q_p_1[q]*_data_q_p_1[q]);
+                const real_t tmp_qloop_4 = tmp_qloop_3*2.0;
+                const real_t tmp_qloop_6 = -p_affine_0_0 + (p_affine_0_0 - p_affine_1_0)*_data_q_p_0[q] + (p_affine_0_0 - p_affine_2_0)*_data_q_p_1[q];
+                const real_t tmp_qloop_7 = (tmp_qloop_6*tmp_qloop_6);
+                const real_t tmp_qloop_8 = -p_affine_0_1 + (p_affine_0_1 - p_affine_1_1)*_data_q_p_0[q] + (p_affine_0_1 - p_affine_2_1)*_data_q_p_1[q];
+                const real_t tmp_qloop_9 = (tmp_qloop_8*tmp_qloop_8);
+                const real_t tmp_qloop_10 = tmp_qloop_7 + tmp_qloop_9;
+                const real_t tmp_qloop_13 = pow(tmp_qloop_10, -0.50000000000000000)*tmp_qloop_12*1.0;
+                const real_t tmp_qloop_14 = tmp_qloop_13*tmp_qloop_6;
+                const real_t tmp_qloop_15 = tmp_qloop_11*(rayVertex_1 + tmp_qloop_8) - tmp_qloop_5*(rayVertex_0 + tmp_qloop_6);
+                const real_t tmp_qloop_16 = pow(tmp_qloop_10, -1.5000000000000000)*1.0;
+                const real_t tmp_qloop_17 = tmp_qloop_16*(radRayVertex + tmp_qloop_12*tmp_qloop_15);
+                const real_t tmp_qloop_18 = tmp_qloop_13*tmp_qloop_8;
+                const real_t tmp_qloop_19 = tmp_qloop_16*(radRayVertex + tmp_qloop_12*tmp_qloop_15);
+                const real_t tmp_qloop_20 = tmp_qloop_6*tmp_qloop_8;
+                const real_t tmp_qloop_21 = (k_dof_0*(tmp_qloop_0 + tmp_qloop_2 + tmp_qloop_4 - 3.0*_data_q_p_0[q] - 3.0*_data_q_p_1[q] + 1.0) + k_dof_1*(tmp_qloop_2 - _data_q_p_0[q]) + k_dof_2*(tmp_qloop_4 - _data_q_p_1[q]) + k_dof_3*tmp_qloop_0 + k_dof_4*(-tmp_qloop_0 + tmp_qloop_3*-4.0 + 4.0*_data_q_p_1[q]) + k_dof_5*(-tmp_qloop_0 + tmp_qloop_1*-4.0 + 4.0*_data_q_p_0[q]))*abs((tmp_qloop_11*tmp_qloop_14 - tmp_qloop_19*tmp_qloop_20)*(tmp_qloop_17*tmp_qloop_20 + tmp_qloop_18*tmp_qloop_5) - (tmp_qloop_11*tmp_qloop_18 + tmp_qloop_19*tmp_qloop_7)*(tmp_qloop_14*tmp_qloop_5 - tmp_qloop_17*tmp_qloop_9))*_data_q_w[q];
+                const real_t q_tmp_0_0 = tmp_qloop_21*_data_phi_psi_jac_affine_det_0_0_BLUE[18*q];
+                const real_t q_tmp_0_1 = tmp_qloop_21*_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 1];
+                const real_t q_tmp_0_2 = tmp_qloop_21*_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 2];
+                const real_t q_tmp_0_3 = tmp_qloop_21*_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 3];
+                const real_t q_tmp_0_4 = tmp_qloop_21*_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 4];
+                const real_t q_tmp_0_5 = tmp_qloop_21*_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 5];
+                const real_t q_tmp_1_0 = tmp_qloop_21*_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 6];
+                const real_t q_tmp_1_1 = tmp_qloop_21*_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 7];
+                const real_t q_tmp_1_2 = tmp_qloop_21*_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 8];
+                const real_t q_tmp_1_3 = tmp_qloop_21*_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 9];
+                const real_t q_tmp_1_4 = tmp_qloop_21*_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 10];
+                const real_t q_tmp_1_5 = tmp_qloop_21*_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 11];
+                const real_t q_tmp_2_0 = tmp_qloop_21*_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 12];
+                const real_t q_tmp_2_1 = tmp_qloop_21*_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 13];
+                const real_t q_tmp_2_2 = tmp_qloop_21*_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 14];
+                const real_t q_tmp_2_3 = tmp_qloop_21*_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 15];
+                const real_t q_tmp_2_4 = tmp_qloop_21*_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 16];
+                const real_t q_tmp_2_5 = tmp_qloop_21*_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 17];
+                q_acc_0_0 = q_acc_0_0 + q_tmp_0_0;
+                q_acc_0_1 = q_acc_0_1 + q_tmp_0_1;
+                q_acc_0_2 = q_acc_0_2 + q_tmp_0_2;
+                q_acc_0_3 = q_acc_0_3 + q_tmp_0_3;
+                q_acc_0_4 = q_acc_0_4 + q_tmp_0_4;
+                q_acc_0_5 = q_acc_0_5 + q_tmp_0_5;
+                q_acc_1_0 = q_acc_1_0 + q_tmp_1_0;
+                q_acc_1_1 = q_acc_1_1 + q_tmp_1_1;
+                q_acc_1_2 = q_acc_1_2 + q_tmp_1_2;
+                q_acc_1_3 = q_acc_1_3 + q_tmp_1_3;
+                q_acc_1_4 = q_acc_1_4 + q_tmp_1_4;
+                q_acc_1_5 = q_acc_1_5 + q_tmp_1_5;
+                q_acc_2_0 = q_acc_2_0 + q_tmp_2_0;
+                q_acc_2_1 = q_acc_2_1 + q_tmp_2_1;
+                q_acc_2_2 = q_acc_2_2 + q_tmp_2_2;
+                q_acc_2_3 = q_acc_2_3 + q_tmp_2_3;
+                q_acc_2_4 = q_acc_2_4 + q_tmp_2_4;
+                q_acc_2_5 = q_acc_2_5 + q_tmp_2_5;
+             }
+             const real_t elMatVec_0 = q_acc_0_0*src_dof_0 + q_acc_0_1*src_dof_1 + q_acc_0_2*src_dof_2 + q_acc_0_3*src_dof_3 + q_acc_0_4*src_dof_4 + q_acc_0_5*src_dof_5;
+             const real_t elMatVec_1 = q_acc_1_0*src_dof_0 + q_acc_1_1*src_dof_1 + q_acc_1_2*src_dof_2 + q_acc_1_3*src_dof_3 + q_acc_1_4*src_dof_4 + q_acc_1_5*src_dof_5;
+             const real_t elMatVec_2 = q_acc_2_0*src_dof_0 + q_acc_2_1*src_dof_1 + q_acc_2_2*src_dof_2 + q_acc_2_3*src_dof_3 + q_acc_2_4*src_dof_4 + q_acc_2_5*src_dof_5;
+             _data_dst[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + 1] = elMatVec_0 + _data_dst[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + 1];
+             _data_dst[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2))] = elMatVec_1 + _data_dst[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2))];
+             _data_dst[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 1] = elMatVec_2 + _data_dst[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 1];
+          }
+       }
+    }
+}
+} // namespace operatorgeneration
+
+} // namespace hyteg
diff --git a/operators/k_mass/noarch/P2ToP1ElementwiseKMassAnnulusMap_toMatrix_macro_2D.cpp b/operators/k_mass/noarch/P2ToP1ElementwiseKMassAnnulusMap_toMatrix_macro_2D.cpp
new file mode 100644
index 0000000000000000000000000000000000000000..865834a9abd23575d9b7f24f96de87059d555a46
--- /dev/null
+++ b/operators/k_mass/noarch/P2ToP1ElementwiseKMassAnnulusMap_toMatrix_macro_2D.cpp
@@ -0,0 +1,441 @@
+/*
+* Copyright (c) 2017-2024 Nils Kohl, Daniel Bauer, Fabian Böhm.
+*
+* This file is part of HyTeG
+* (see https://i10git.cs.fau.de/hyteg/hyteg).
+*
+* This program is free software: you can redistribute it and/or modify
+* it under the terms of the GNU General Public License as published by
+* the Free Software Foundation, either version 3 of the License, or
+* (at your option) any later version.
+*
+* This program is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+* GNU General Public License for more details.
+*
+* You should have received a copy of the GNU General Public License
+* along with this program. If not, see <http://www.gnu.org/licenses/>.
+*/
+
+/*
+* The entire file was generated with the HyTeG form generator.
+*
+* Avoid modifying this file. If buggy, consider fixing the generator itself.
+*/
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+#include "../P2ToP1ElementwiseKMassAnnulusMap.hpp"
+
+#define FUNC_PREFIX  
+
+namespace hyteg {
+
+namespace operatorgeneration {
+
+void P2ToP1ElementwiseKMassAnnulusMap::toMatrix_macro_2D( idx_t * RESTRICT  _data_dst, real_t * RESTRICT  _data_kEdge, real_t * RESTRICT  _data_kVertex, idx_t * RESTRICT  _data_srcEdge, idx_t * RESTRICT  _data_srcVertex, real_t macro_vertex_coord_id_0comp0, real_t macro_vertex_coord_id_0comp1, real_t macro_vertex_coord_id_1comp0, real_t macro_vertex_coord_id_1comp1, real_t macro_vertex_coord_id_2comp0, real_t macro_vertex_coord_id_2comp1, std::shared_ptr< SparseMatrixProxy > mat, int64_t micro_edges_per_macro_edge, real_t micro_edges_per_macro_edge_float, real_t radRayVertex, real_t radRefVertex, real_t rayVertex_0, real_t rayVertex_1, real_t refVertex_0, real_t refVertex_1, real_t thrVertex_0, real_t thrVertex_1 ) const
+{
+    {
+       const real_t _data_q_w [] = {0.11169079483900581, 0.054975871827660949, 0.11169079483900581, 0.054975871827660949, 0.11169079483900581, 0.054975871827660949};
+   
+       const real_t _data_q_p_0 [] = {0.44594849091596489, 0.091576213509770715, 0.10810301816807022, 0.81684757298045851, 0.44594849091596489, 0.091576213509770715};
+   
+       const real_t _data_q_p_1 [] = {0.10810301816807022, 0.81684757298045851, 0.44594849091596489, 0.091576213509770715, 0.44594849091596489, 0.091576213509770715};
+   
+       const real_t tmp_coords_jac_0_GRAY = 1.0 / (micro_edges_per_macro_edge_float)*1.0;
+       const real_t p_affine_const_0_0_GRAY = macro_vertex_coord_id_0comp0;
+       const real_t p_affine_const_0_1_GRAY = macro_vertex_coord_id_0comp1;
+       const real_t p_affine_const_1_0_GRAY = macro_vertex_coord_id_0comp0 + tmp_coords_jac_0_GRAY*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0);
+       const real_t p_affine_const_1_1_GRAY = macro_vertex_coord_id_0comp1 + tmp_coords_jac_0_GRAY*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1);
+       const real_t p_affine_const_2_0_GRAY = macro_vertex_coord_id_0comp0 + tmp_coords_jac_0_GRAY*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0);
+       const real_t p_affine_const_2_1_GRAY = macro_vertex_coord_id_0comp1 + tmp_coords_jac_0_GRAY*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1);
+       const real_t jac_affine_0_0_GRAY = -p_affine_const_0_0_GRAY + p_affine_const_1_0_GRAY;
+       const real_t jac_affine_0_1_GRAY = -p_affine_const_0_0_GRAY + p_affine_const_2_0_GRAY;
+       const real_t jac_affine_1_0_GRAY = -p_affine_const_0_1_GRAY + p_affine_const_1_1_GRAY;
+       const real_t jac_affine_1_1_GRAY = -p_affine_const_0_1_GRAY + p_affine_const_2_1_GRAY;
+       const real_t abs_det_jac_affine_GRAY = abs(jac_affine_0_0_GRAY*jac_affine_1_1_GRAY - jac_affine_0_1_GRAY*jac_affine_1_0_GRAY);
+       const real_t tmp_qloop_5 = rayVertex_1 - thrVertex_1;
+       const real_t tmp_qloop_11 = rayVertex_0 - thrVertex_0;
+       const real_t tmp_qloop_12 = (radRayVertex - radRefVertex)*1.0 / (-tmp_qloop_11*(rayVertex_1 - refVertex_1) + tmp_qloop_5*(rayVertex_0 - refVertex_0));
+       {
+          /* FaceType.GRAY */
+          const real_t _data_phi_psi_jac_affine_det_0_0_GRAY [] = {((real_t)(abs_det_jac_affine_GRAY*-0.021498453336334336)), ((real_t)(abs_det_jac_affine_GRAY*-0.021498453336334288)), ((real_t)(abs_det_jac_affine_GRAY*-0.037785435529825065)), ((real_t)(abs_det_jac_affine_GRAY*0.085993813345337122)), ((real_t)(abs_det_jac_affine_GRAY*0.085993813345337122)), ((real_t)(abs_det_jac_affine_GRAY*0.35474320642778434)), ((real_t)(abs_det_jac_affine_GRAY*-0.021498453336334336)), ((real_t)(abs_det_jac_affine_GRAY*-0.021498453336334288)), ((real_t)(abs_det_jac_affine_GRAY*-0.037785435529825065)), ((real_t)(abs_det_jac_affine_GRAY*0.085993813345337108)), ((real_t)(abs_det_jac_affine_GRAY*0.085993813345337122)), ((real_t)(abs_det_jac_affine_GRAY*0.35474320642778434)), ((real_t)(abs_det_jac_affine_GRAY*-0.0052114711428435066)), ((real_t)(abs_det_jac_affine_GRAY*-0.0052114711428434945)), ((real_t)(abs_det_jac_affine_GRAY*-0.0091596220343278505)), ((real_t)(abs_det_jac_affine_GRAY*0.020845884571373971)), ((real_t)(abs_det_jac_affine_GRAY*0.020845884571373971)), ((real_t)(abs_det_jac_affine_GRAY*0.085993813345337122)), ((real_t)(abs_det_jac_affine_GRAY*-0.0068502494696926711)), ((real_t)(abs_det_jac_affine_GRAY*-0.006850249469692685)), ((real_t)(abs_det_jac_affine_GRAY*0.047402809869425765)), ((real_t)(abs_det_jac_affine_GRAY*0.02740099787877074)), ((real_t)(abs_det_jac_affine_GRAY*0.02740099787877075)), ((real_t)(abs_det_jac_affine_GRAY*0.0030719068221888579)), ((real_t)(abs_det_jac_affine_GRAY*-0.0068502494696926685)), ((real_t)(abs_det_jac_affine_GRAY*-0.0068502494696926824)), ((real_t)(abs_det_jac_affine_GRAY*0.047402809869425751)), ((real_t)(abs_det_jac_affine_GRAY*0.02740099787877073)), ((real_t)(abs_det_jac_affine_GRAY*0.02740099787877074)), ((real_t)(abs_det_jac_affine_GRAY*0.0030719068221888566)), ((real_t)(abs_det_jac_affine_GRAY*-0.061103308808810999)), ((real_t)(abs_det_jac_affine_GRAY*-0.061103308808811124)), ((real_t)(abs_det_jac_affine_GRAY*0.42282672224882095)), ((real_t)(abs_det_jac_affine_GRAY*0.24441323523524447)), ((real_t)(abs_det_jac_affine_GRAY*0.24441323523524458)), ((real_t)(abs_det_jac_affine_GRAY*0.027400997878770705)), ((real_t)(abs_det_jac_affine_GRAY*-0.021498453336334326)), ((real_t)(abs_det_jac_affine_GRAY*-0.037785435529825065)), ((real_t)(abs_det_jac_affine_GRAY*-0.021498453336334288)), ((real_t)(abs_det_jac_affine_GRAY*0.085993813345337122)), ((real_t)(abs_det_jac_affine_GRAY*0.35474320642778434)), ((real_t)(abs_det_jac_affine_GRAY*0.085993813345337122)), ((real_t)(abs_det_jac_affine_GRAY*-0.005211471142843504)), ((real_t)(abs_det_jac_affine_GRAY*-0.0091596220343278505)), ((real_t)(abs_det_jac_affine_GRAY*-0.0052114711428434945)), ((real_t)(abs_det_jac_affine_GRAY*0.020845884571373971)), ((real_t)(abs_det_jac_affine_GRAY*0.085993813345337122)), ((real_t)(abs_det_jac_affine_GRAY*0.020845884571373971)), ((real_t)(abs_det_jac_affine_GRAY*-0.021498453336334326)), ((real_t)(abs_det_jac_affine_GRAY*-0.037785435529825065)), ((real_t)(abs_det_jac_affine_GRAY*-0.021498453336334288)), ((real_t)(abs_det_jac_affine_GRAY*0.085993813345337108)), ((real_t)(abs_det_jac_affine_GRAY*0.35474320642778434)), ((real_t)(abs_det_jac_affine_GRAY*0.085993813345337122)), ((real_t)(abs_det_jac_affine_GRAY*-0.0068502494696926625)), ((real_t)(abs_det_jac_affine_GRAY*0.047402809869425779)), ((real_t)(abs_det_jac_affine_GRAY*-0.0068502494696926867)), ((real_t)(abs_det_jac_affine_GRAY*0.027400997878770747)), ((real_t)(abs_det_jac_affine_GRAY*0.0030719068221888588)), ((real_t)(abs_det_jac_affine_GRAY*0.027400997878770757)), ((real_t)(abs_det_jac_affine_GRAY*-0.061103308808810909)), ((real_t)(abs_det_jac_affine_GRAY*0.42282672224882095)), ((real_t)(abs_det_jac_affine_GRAY*-0.061103308808811124)), ((real_t)(abs_det_jac_affine_GRAY*0.24441323523524447)), ((real_t)(abs_det_jac_affine_GRAY*0.027400997878770705)), ((real_t)(abs_det_jac_affine_GRAY*0.24441323523524458)), ((real_t)(abs_det_jac_affine_GRAY*-0.006850249469692659)), ((real_t)(abs_det_jac_affine_GRAY*0.047402809869425751)), ((real_t)(abs_det_jac_affine_GRAY*-0.0068502494696926824)), ((real_t)(abs_det_jac_affine_GRAY*0.02740099787877073)), ((real_t)(abs_det_jac_affine_GRAY*0.0030719068221888566)), ((real_t)(abs_det_jac_affine_GRAY*0.02740099787877074)), ((real_t)(abs_det_jac_affine_GRAY*-0.0091596220343278956)), ((real_t)(abs_det_jac_affine_GRAY*-0.0052114711428434945)), ((real_t)(abs_det_jac_affine_GRAY*-0.0052114711428434945)), ((real_t)(abs_det_jac_affine_GRAY*0.085993813345337108)), ((real_t)(abs_det_jac_affine_GRAY*0.020845884571373978)), ((real_t)(abs_det_jac_affine_GRAY*0.020845884571373978)), ((real_t)(abs_det_jac_affine_GRAY*-0.037785435529825252)), ((real_t)(abs_det_jac_affine_GRAY*-0.021498453336334288)), ((real_t)(abs_det_jac_affine_GRAY*-0.021498453336334288)), ((real_t)(abs_det_jac_affine_GRAY*0.35474320642778429)), ((real_t)(abs_det_jac_affine_GRAY*0.08599381334533715)), ((real_t)(abs_det_jac_affine_GRAY*0.08599381334533715)), ((real_t)(abs_det_jac_affine_GRAY*-0.037785435529825252)), ((real_t)(abs_det_jac_affine_GRAY*-0.021498453336334288)), ((real_t)(abs_det_jac_affine_GRAY*-0.021498453336334288)), ((real_t)(abs_det_jac_affine_GRAY*0.35474320642778429)), ((real_t)(abs_det_jac_affine_GRAY*0.08599381334533715)), ((real_t)(abs_det_jac_affine_GRAY*0.08599381334533715)), ((real_t)(abs_det_jac_affine_GRAY*0.42282672224882117)), ((real_t)(abs_det_jac_affine_GRAY*-0.061103308808811124)), ((real_t)(abs_det_jac_affine_GRAY*-0.061103308808811124)), ((real_t)(abs_det_jac_affine_GRAY*0.02740099787877073)), ((real_t)(abs_det_jac_affine_GRAY*0.24441323523524444)), ((real_t)(abs_det_jac_affine_GRAY*0.24441323523524444)), ((real_t)(abs_det_jac_affine_GRAY*0.047402809869425772)), ((real_t)(abs_det_jac_affine_GRAY*-0.0068502494696926824)), ((real_t)(abs_det_jac_affine_GRAY*-0.0068502494696926824)), ((real_t)(abs_det_jac_affine_GRAY*0.0030719068221888592)), ((real_t)(abs_det_jac_affine_GRAY*0.027400997878770726)), ((real_t)(abs_det_jac_affine_GRAY*0.027400997878770726)), ((real_t)(abs_det_jac_affine_GRAY*0.047402809869425772)), ((real_t)(abs_det_jac_affine_GRAY*-0.0068502494696926824)), ((real_t)(abs_det_jac_affine_GRAY*-0.0068502494696926824)), ((real_t)(abs_det_jac_affine_GRAY*0.0030719068221888592)), ((real_t)(abs_det_jac_affine_GRAY*0.027400997878770726)), ((real_t)(abs_det_jac_affine_GRAY*0.027400997878770726))};
+      
+          for (int64_t ctr_1 = 0; ctr_1 < micro_edges_per_macro_edge; ctr_1 += 1)
+          for (int64_t ctr_0 = 0; ctr_0 < -ctr_1 + micro_edges_per_macro_edge; ctr_0 += 1)
+          {
+         
+             const int64_t phantom_ctr_0 = ctr_0;
+             real_t _data_float_loop_ctr_array_dim_0[4];
+             _data_float_loop_ctr_array_dim_0[0] = (real_t) ctr_0+ 0;
+             _data_float_loop_ctr_array_dim_0[1] = (real_t) ctr_0+ 1;
+             _data_float_loop_ctr_array_dim_0[2] = (real_t) ctr_0+ 2;
+             _data_float_loop_ctr_array_dim_0[3] = (real_t) ctr_0+ 3;
+             real_t _data_float_loop_ctr_array_dim_1[4];
+             _data_float_loop_ctr_array_dim_1[0] = (real_t) ctr_1;
+             _data_float_loop_ctr_array_dim_1[1] = (real_t) ctr_1;
+             _data_float_loop_ctr_array_dim_1[2] = (real_t) ctr_1;
+             _data_float_loop_ctr_array_dim_1[3] = (real_t) ctr_1;
+         
+             const real_t p_affine_0_0 = macro_vertex_coord_id_0comp0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0)*1.0*_data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0)*1.0*_data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0];
+             const real_t p_affine_0_1 = macro_vertex_coord_id_0comp1 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1)*1.0*_data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1)*1.0*_data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0];
+             const real_t p_affine_1_0 = macro_vertex_coord_id_0comp0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0)*(1.0 + _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0)*1.0*_data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0];
+             const real_t p_affine_1_1 = macro_vertex_coord_id_0comp1 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1)*(1.0 + _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1)*1.0*_data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0];
+             const real_t p_affine_2_0 = macro_vertex_coord_id_0comp0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0)*1.0*_data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0)*(1.0 + _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0])*1.0;
+             const real_t p_affine_2_1 = macro_vertex_coord_id_0comp1 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1)*1.0*_data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1)*(1.0 + _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0])*1.0;
+             const real_t k_dof_0 = _data_kVertex[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2))];
+             const real_t k_dof_1 = _data_kVertex[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + 1];
+             const real_t k_dof_2 = _data_kVertex[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2))];
+             const real_t k_dof_3 = _data_kEdge[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)) / (2))];
+             const real_t k_dof_4 = _data_kEdge[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 2*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)) / (2))];
+             const real_t k_dof_5 = _data_kEdge[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2))];
+             real_t q_acc_0_0 = 0.0;
+             real_t q_acc_0_1 = 0.0;
+             real_t q_acc_0_2 = 0.0;
+             real_t q_acc_0_3 = 0.0;
+             real_t q_acc_0_4 = 0.0;
+             real_t q_acc_0_5 = 0.0;
+             real_t q_acc_1_0 = 0.0;
+             real_t q_acc_1_1 = 0.0;
+             real_t q_acc_1_2 = 0.0;
+             real_t q_acc_1_3 = 0.0;
+             real_t q_acc_1_4 = 0.0;
+             real_t q_acc_1_5 = 0.0;
+             real_t q_acc_2_0 = 0.0;
+             real_t q_acc_2_1 = 0.0;
+             real_t q_acc_2_2 = 0.0;
+             real_t q_acc_2_3 = 0.0;
+             real_t q_acc_2_4 = 0.0;
+             real_t q_acc_2_5 = 0.0;
+             for (int64_t q = 0; q < 6; q += 1)
+             {
+                const real_t tmp_qloop_0 = 4.0*_data_q_p_0[q]*_data_q_p_1[q];
+                const real_t tmp_qloop_1 = (_data_q_p_0[q]*_data_q_p_0[q]);
+                const real_t tmp_qloop_2 = tmp_qloop_1*2.0;
+                const real_t tmp_qloop_3 = (_data_q_p_1[q]*_data_q_p_1[q]);
+                const real_t tmp_qloop_4 = tmp_qloop_3*2.0;
+                const real_t tmp_qloop_6 = -p_affine_0_0 + (p_affine_0_0 - p_affine_1_0)*_data_q_p_0[q] + (p_affine_0_0 - p_affine_2_0)*_data_q_p_1[q];
+                const real_t tmp_qloop_7 = (tmp_qloop_6*tmp_qloop_6);
+                const real_t tmp_qloop_8 = -p_affine_0_1 + (p_affine_0_1 - p_affine_1_1)*_data_q_p_0[q] + (p_affine_0_1 - p_affine_2_1)*_data_q_p_1[q];
+                const real_t tmp_qloop_9 = (tmp_qloop_8*tmp_qloop_8);
+                const real_t tmp_qloop_10 = tmp_qloop_7 + tmp_qloop_9;
+                const real_t tmp_qloop_13 = pow(tmp_qloop_10, -0.50000000000000000)*tmp_qloop_12*1.0;
+                const real_t tmp_qloop_14 = tmp_qloop_13*tmp_qloop_6;
+                const real_t tmp_qloop_15 = tmp_qloop_11*(rayVertex_1 + tmp_qloop_8) - tmp_qloop_5*(rayVertex_0 + tmp_qloop_6);
+                const real_t tmp_qloop_16 = pow(tmp_qloop_10, -1.5000000000000000)*1.0;
+                const real_t tmp_qloop_17 = tmp_qloop_16*(radRayVertex + tmp_qloop_12*tmp_qloop_15);
+                const real_t tmp_qloop_18 = tmp_qloop_13*tmp_qloop_8;
+                const real_t tmp_qloop_19 = tmp_qloop_16*(radRayVertex + tmp_qloop_12*tmp_qloop_15);
+                const real_t tmp_qloop_20 = tmp_qloop_6*tmp_qloop_8;
+                const real_t tmp_qloop_21 = (k_dof_0*(tmp_qloop_0 + tmp_qloop_2 + tmp_qloop_4 - 3.0*_data_q_p_0[q] - 3.0*_data_q_p_1[q] + 1.0) + k_dof_1*(tmp_qloop_2 - _data_q_p_0[q]) + k_dof_2*(tmp_qloop_4 - _data_q_p_1[q]) + k_dof_3*tmp_qloop_0 + k_dof_4*(-tmp_qloop_0 + tmp_qloop_3*-4.0 + 4.0*_data_q_p_1[q]) + k_dof_5*(-tmp_qloop_0 + tmp_qloop_1*-4.0 + 4.0*_data_q_p_0[q]))*abs((tmp_qloop_11*tmp_qloop_14 - tmp_qloop_19*tmp_qloop_20)*(tmp_qloop_17*tmp_qloop_20 + tmp_qloop_18*tmp_qloop_5) - (tmp_qloop_11*tmp_qloop_18 + tmp_qloop_19*tmp_qloop_7)*(tmp_qloop_14*tmp_qloop_5 - tmp_qloop_17*tmp_qloop_9))*_data_q_w[q];
+                const real_t q_tmp_0_0 = tmp_qloop_21*_data_phi_psi_jac_affine_det_0_0_GRAY[18*q];
+                const real_t q_tmp_0_1 = tmp_qloop_21*_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 1];
+                const real_t q_tmp_0_2 = tmp_qloop_21*_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 2];
+                const real_t q_tmp_0_3 = tmp_qloop_21*_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 3];
+                const real_t q_tmp_0_4 = tmp_qloop_21*_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 4];
+                const real_t q_tmp_0_5 = tmp_qloop_21*_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 5];
+                const real_t q_tmp_1_0 = tmp_qloop_21*_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 6];
+                const real_t q_tmp_1_1 = tmp_qloop_21*_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 7];
+                const real_t q_tmp_1_2 = tmp_qloop_21*_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 8];
+                const real_t q_tmp_1_3 = tmp_qloop_21*_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 9];
+                const real_t q_tmp_1_4 = tmp_qloop_21*_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 10];
+                const real_t q_tmp_1_5 = tmp_qloop_21*_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 11];
+                const real_t q_tmp_2_0 = tmp_qloop_21*_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 12];
+                const real_t q_tmp_2_1 = tmp_qloop_21*_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 13];
+                const real_t q_tmp_2_2 = tmp_qloop_21*_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 14];
+                const real_t q_tmp_2_3 = tmp_qloop_21*_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 15];
+                const real_t q_tmp_2_4 = tmp_qloop_21*_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 16];
+                const real_t q_tmp_2_5 = tmp_qloop_21*_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 17];
+                q_acc_0_0 = q_acc_0_0 + q_tmp_0_0;
+                q_acc_0_1 = q_acc_0_1 + q_tmp_0_1;
+                q_acc_0_2 = q_acc_0_2 + q_tmp_0_2;
+                q_acc_0_3 = q_acc_0_3 + q_tmp_0_3;
+                q_acc_0_4 = q_acc_0_4 + q_tmp_0_4;
+                q_acc_0_5 = q_acc_0_5 + q_tmp_0_5;
+                q_acc_1_0 = q_acc_1_0 + q_tmp_1_0;
+                q_acc_1_1 = q_acc_1_1 + q_tmp_1_1;
+                q_acc_1_2 = q_acc_1_2 + q_tmp_1_2;
+                q_acc_1_3 = q_acc_1_3 + q_tmp_1_3;
+                q_acc_1_4 = q_acc_1_4 + q_tmp_1_4;
+                q_acc_1_5 = q_acc_1_5 + q_tmp_1_5;
+                q_acc_2_0 = q_acc_2_0 + q_tmp_2_0;
+                q_acc_2_1 = q_acc_2_1 + q_tmp_2_1;
+                q_acc_2_2 = q_acc_2_2 + q_tmp_2_2;
+                q_acc_2_3 = q_acc_2_3 + q_tmp_2_3;
+                q_acc_2_4 = q_acc_2_4 + q_tmp_2_4;
+                q_acc_2_5 = q_acc_2_5 + q_tmp_2_5;
+             }
+             const real_t elMat_0_0 = q_acc_0_0;
+             const real_t elMat_0_1 = q_acc_0_1;
+             const real_t elMat_0_2 = q_acc_0_2;
+             const real_t elMat_0_3 = q_acc_0_3;
+             const real_t elMat_0_4 = q_acc_0_4;
+             const real_t elMat_0_5 = q_acc_0_5;
+             const real_t elMat_1_0 = q_acc_1_0;
+             const real_t elMat_1_1 = q_acc_1_1;
+             const real_t elMat_1_2 = q_acc_1_2;
+             const real_t elMat_1_3 = q_acc_1_3;
+             const real_t elMat_1_4 = q_acc_1_4;
+             const real_t elMat_1_5 = q_acc_1_5;
+             const real_t elMat_2_0 = q_acc_2_0;
+             const real_t elMat_2_1 = q_acc_2_1;
+             const real_t elMat_2_2 = q_acc_2_2;
+             const real_t elMat_2_3 = q_acc_2_3;
+             const real_t elMat_2_4 = q_acc_2_4;
+             const real_t elMat_2_5 = q_acc_2_5;
+         
+             std::vector< uint_t > _data_rowIdx( 3 );
+             std::vector< uint_t > _data_colIdx( 6 );
+             std::vector< real_t > _data_mat( 18 );
+         
+             _data_rowIdx[0] = ((uint64_t)(_data_dst[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2))]));
+             _data_rowIdx[1] = ((uint64_t)(_data_dst[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + 1]));
+             _data_rowIdx[2] = ((uint64_t)(_data_dst[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2))]));
+             _data_colIdx[0] = ((uint64_t)(_data_srcVertex[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2))]));
+             _data_colIdx[1] = ((uint64_t)(_data_srcVertex[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + 1]));
+             _data_colIdx[2] = ((uint64_t)(_data_srcVertex[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2))]));
+             _data_colIdx[3] = ((uint64_t)(_data_srcEdge[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)) / (2))]));
+             _data_colIdx[4] = ((uint64_t)(_data_srcEdge[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 2*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)) / (2))]));
+             _data_colIdx[5] = ((uint64_t)(_data_srcEdge[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2))]));
+         
+             /* Apply basis transformation */
+         
+         
+         
+             _data_mat[0] = ((real_t)(elMat_0_0));
+             _data_mat[1] = ((real_t)(elMat_0_1));
+             _data_mat[2] = ((real_t)(elMat_0_2));
+             _data_mat[3] = ((real_t)(elMat_0_3));
+             _data_mat[4] = ((real_t)(elMat_0_4));
+             _data_mat[5] = ((real_t)(elMat_0_5));
+             _data_mat[6] = ((real_t)(elMat_1_0));
+             _data_mat[7] = ((real_t)(elMat_1_1));
+             _data_mat[8] = ((real_t)(elMat_1_2));
+             _data_mat[9] = ((real_t)(elMat_1_3));
+             _data_mat[10] = ((real_t)(elMat_1_4));
+             _data_mat[11] = ((real_t)(elMat_1_5));
+             _data_mat[12] = ((real_t)(elMat_2_0));
+             _data_mat[13] = ((real_t)(elMat_2_1));
+             _data_mat[14] = ((real_t)(elMat_2_2));
+             _data_mat[15] = ((real_t)(elMat_2_3));
+             _data_mat[16] = ((real_t)(elMat_2_4));
+             _data_mat[17] = ((real_t)(elMat_2_5));
+         
+         
+             mat->addValues( _data_rowIdx, _data_colIdx, _data_mat );
+          }
+       }
+       const real_t tmp_coords_jac_0_BLUE = 1.0 / (micro_edges_per_macro_edge_float)*1.0;
+       const real_t tmp_coords_jac_1_BLUE = macro_vertex_coord_id_0comp0 + tmp_coords_jac_0_BLUE*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0);
+       const real_t tmp_coords_jac_2_BLUE = macro_vertex_coord_id_0comp1 + tmp_coords_jac_0_BLUE*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1);
+       const real_t tmp_coords_jac_3_BLUE = tmp_coords_jac_0_BLUE*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0);
+       const real_t tmp_coords_jac_4_BLUE = tmp_coords_jac_0_BLUE*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1);
+       const real_t p_affine_const_0_0_BLUE = tmp_coords_jac_1_BLUE;
+       const real_t p_affine_const_0_1_BLUE = tmp_coords_jac_2_BLUE;
+       const real_t p_affine_const_1_0_BLUE = macro_vertex_coord_id_0comp0 + tmp_coords_jac_3_BLUE;
+       const real_t p_affine_const_1_1_BLUE = macro_vertex_coord_id_0comp1 + tmp_coords_jac_4_BLUE;
+       const real_t p_affine_const_2_0_BLUE = tmp_coords_jac_1_BLUE + tmp_coords_jac_3_BLUE;
+       const real_t p_affine_const_2_1_BLUE = tmp_coords_jac_2_BLUE + tmp_coords_jac_4_BLUE;
+       const real_t jac_affine_0_0_BLUE = -p_affine_const_0_0_BLUE + p_affine_const_1_0_BLUE;
+       const real_t jac_affine_0_1_BLUE = -p_affine_const_0_0_BLUE + p_affine_const_2_0_BLUE;
+       const real_t jac_affine_1_0_BLUE = -p_affine_const_0_1_BLUE + p_affine_const_1_1_BLUE;
+       const real_t jac_affine_1_1_BLUE = -p_affine_const_0_1_BLUE + p_affine_const_2_1_BLUE;
+       const real_t abs_det_jac_affine_BLUE = abs(jac_affine_0_0_BLUE*jac_affine_1_1_BLUE - jac_affine_0_1_BLUE*jac_affine_1_0_BLUE);
+       {
+          /* FaceType.BLUE */
+          const real_t _data_phi_psi_jac_affine_det_0_0_BLUE [] = {((real_t)(abs_det_jac_affine_BLUE*-0.021498453336334336)), ((real_t)(abs_det_jac_affine_BLUE*-0.021498453336334288)), ((real_t)(abs_det_jac_affine_BLUE*-0.037785435529825065)), ((real_t)(abs_det_jac_affine_BLUE*0.085993813345337122)), ((real_t)(abs_det_jac_affine_BLUE*0.085993813345337122)), ((real_t)(abs_det_jac_affine_BLUE*0.35474320642778434)), ((real_t)(abs_det_jac_affine_BLUE*-0.021498453336334336)), ((real_t)(abs_det_jac_affine_BLUE*-0.021498453336334288)), ((real_t)(abs_det_jac_affine_BLUE*-0.037785435529825065)), ((real_t)(abs_det_jac_affine_BLUE*0.085993813345337108)), ((real_t)(abs_det_jac_affine_BLUE*0.085993813345337122)), ((real_t)(abs_det_jac_affine_BLUE*0.35474320642778434)), ((real_t)(abs_det_jac_affine_BLUE*-0.0052114711428435066)), ((real_t)(abs_det_jac_affine_BLUE*-0.0052114711428434945)), ((real_t)(abs_det_jac_affine_BLUE*-0.0091596220343278505)), ((real_t)(abs_det_jac_affine_BLUE*0.020845884571373971)), ((real_t)(abs_det_jac_affine_BLUE*0.020845884571373971)), ((real_t)(abs_det_jac_affine_BLUE*0.085993813345337122)), ((real_t)(abs_det_jac_affine_BLUE*-0.0068502494696926711)), ((real_t)(abs_det_jac_affine_BLUE*-0.006850249469692685)), ((real_t)(abs_det_jac_affine_BLUE*0.047402809869425765)), ((real_t)(abs_det_jac_affine_BLUE*0.02740099787877074)), ((real_t)(abs_det_jac_affine_BLUE*0.02740099787877075)), ((real_t)(abs_det_jac_affine_BLUE*0.0030719068221888579)), ((real_t)(abs_det_jac_affine_BLUE*-0.0068502494696926685)), ((real_t)(abs_det_jac_affine_BLUE*-0.0068502494696926824)), ((real_t)(abs_det_jac_affine_BLUE*0.047402809869425751)), ((real_t)(abs_det_jac_affine_BLUE*0.02740099787877073)), ((real_t)(abs_det_jac_affine_BLUE*0.02740099787877074)), ((real_t)(abs_det_jac_affine_BLUE*0.0030719068221888566)), ((real_t)(abs_det_jac_affine_BLUE*-0.061103308808810999)), ((real_t)(abs_det_jac_affine_BLUE*-0.061103308808811124)), ((real_t)(abs_det_jac_affine_BLUE*0.42282672224882095)), ((real_t)(abs_det_jac_affine_BLUE*0.24441323523524447)), ((real_t)(abs_det_jac_affine_BLUE*0.24441323523524458)), ((real_t)(abs_det_jac_affine_BLUE*0.027400997878770705)), ((real_t)(abs_det_jac_affine_BLUE*-0.021498453336334326)), ((real_t)(abs_det_jac_affine_BLUE*-0.037785435529825065)), ((real_t)(abs_det_jac_affine_BLUE*-0.021498453336334288)), ((real_t)(abs_det_jac_affine_BLUE*0.085993813345337122)), ((real_t)(abs_det_jac_affine_BLUE*0.35474320642778434)), ((real_t)(abs_det_jac_affine_BLUE*0.085993813345337122)), ((real_t)(abs_det_jac_affine_BLUE*-0.005211471142843504)), ((real_t)(abs_det_jac_affine_BLUE*-0.0091596220343278505)), ((real_t)(abs_det_jac_affine_BLUE*-0.0052114711428434945)), ((real_t)(abs_det_jac_affine_BLUE*0.020845884571373971)), ((real_t)(abs_det_jac_affine_BLUE*0.085993813345337122)), ((real_t)(abs_det_jac_affine_BLUE*0.020845884571373971)), ((real_t)(abs_det_jac_affine_BLUE*-0.021498453336334326)), ((real_t)(abs_det_jac_affine_BLUE*-0.037785435529825065)), ((real_t)(abs_det_jac_affine_BLUE*-0.021498453336334288)), ((real_t)(abs_det_jac_affine_BLUE*0.085993813345337108)), ((real_t)(abs_det_jac_affine_BLUE*0.35474320642778434)), ((real_t)(abs_det_jac_affine_BLUE*0.085993813345337122)), ((real_t)(abs_det_jac_affine_BLUE*-0.0068502494696926625)), ((real_t)(abs_det_jac_affine_BLUE*0.047402809869425779)), ((real_t)(abs_det_jac_affine_BLUE*-0.0068502494696926867)), ((real_t)(abs_det_jac_affine_BLUE*0.027400997878770747)), ((real_t)(abs_det_jac_affine_BLUE*0.0030719068221888588)), ((real_t)(abs_det_jac_affine_BLUE*0.027400997878770757)), ((real_t)(abs_det_jac_affine_BLUE*-0.061103308808810909)), ((real_t)(abs_det_jac_affine_BLUE*0.42282672224882095)), ((real_t)(abs_det_jac_affine_BLUE*-0.061103308808811124)), ((real_t)(abs_det_jac_affine_BLUE*0.24441323523524447)), ((real_t)(abs_det_jac_affine_BLUE*0.027400997878770705)), ((real_t)(abs_det_jac_affine_BLUE*0.24441323523524458)), ((real_t)(abs_det_jac_affine_BLUE*-0.006850249469692659)), ((real_t)(abs_det_jac_affine_BLUE*0.047402809869425751)), ((real_t)(abs_det_jac_affine_BLUE*-0.0068502494696926824)), ((real_t)(abs_det_jac_affine_BLUE*0.02740099787877073)), ((real_t)(abs_det_jac_affine_BLUE*0.0030719068221888566)), ((real_t)(abs_det_jac_affine_BLUE*0.02740099787877074)), ((real_t)(abs_det_jac_affine_BLUE*-0.0091596220343278956)), ((real_t)(abs_det_jac_affine_BLUE*-0.0052114711428434945)), ((real_t)(abs_det_jac_affine_BLUE*-0.0052114711428434945)), ((real_t)(abs_det_jac_affine_BLUE*0.085993813345337108)), ((real_t)(abs_det_jac_affine_BLUE*0.020845884571373978)), ((real_t)(abs_det_jac_affine_BLUE*0.020845884571373978)), ((real_t)(abs_det_jac_affine_BLUE*-0.037785435529825252)), ((real_t)(abs_det_jac_affine_BLUE*-0.021498453336334288)), ((real_t)(abs_det_jac_affine_BLUE*-0.021498453336334288)), ((real_t)(abs_det_jac_affine_BLUE*0.35474320642778429)), ((real_t)(abs_det_jac_affine_BLUE*0.08599381334533715)), ((real_t)(abs_det_jac_affine_BLUE*0.08599381334533715)), ((real_t)(abs_det_jac_affine_BLUE*-0.037785435529825252)), ((real_t)(abs_det_jac_affine_BLUE*-0.021498453336334288)), ((real_t)(abs_det_jac_affine_BLUE*-0.021498453336334288)), ((real_t)(abs_det_jac_affine_BLUE*0.35474320642778429)), ((real_t)(abs_det_jac_affine_BLUE*0.08599381334533715)), ((real_t)(abs_det_jac_affine_BLUE*0.08599381334533715)), ((real_t)(abs_det_jac_affine_BLUE*0.42282672224882117)), ((real_t)(abs_det_jac_affine_BLUE*-0.061103308808811124)), ((real_t)(abs_det_jac_affine_BLUE*-0.061103308808811124)), ((real_t)(abs_det_jac_affine_BLUE*0.02740099787877073)), ((real_t)(abs_det_jac_affine_BLUE*0.24441323523524444)), ((real_t)(abs_det_jac_affine_BLUE*0.24441323523524444)), ((real_t)(abs_det_jac_affine_BLUE*0.047402809869425772)), ((real_t)(abs_det_jac_affine_BLUE*-0.0068502494696926824)), ((real_t)(abs_det_jac_affine_BLUE*-0.0068502494696926824)), ((real_t)(abs_det_jac_affine_BLUE*0.0030719068221888592)), ((real_t)(abs_det_jac_affine_BLUE*0.027400997878770726)), ((real_t)(abs_det_jac_affine_BLUE*0.027400997878770726)), ((real_t)(abs_det_jac_affine_BLUE*0.047402809869425772)), ((real_t)(abs_det_jac_affine_BLUE*-0.0068502494696926824)), ((real_t)(abs_det_jac_affine_BLUE*-0.0068502494696926824)), ((real_t)(abs_det_jac_affine_BLUE*0.0030719068221888592)), ((real_t)(abs_det_jac_affine_BLUE*0.027400997878770726)), ((real_t)(abs_det_jac_affine_BLUE*0.027400997878770726))};
+      
+          for (int64_t ctr_1 = 0; ctr_1 < micro_edges_per_macro_edge; ctr_1 += 1)
+          for (int64_t ctr_0 = 0; ctr_0 < -ctr_1 + micro_edges_per_macro_edge - 1; ctr_0 += 1)
+          {
+         
+             const int64_t phantom_ctr_0 = ctr_0;
+             real_t _data_float_loop_ctr_array_dim_0[4];
+             _data_float_loop_ctr_array_dim_0[0] = (real_t) ctr_0+ 0;
+             _data_float_loop_ctr_array_dim_0[1] = (real_t) ctr_0+ 1;
+             _data_float_loop_ctr_array_dim_0[2] = (real_t) ctr_0+ 2;
+             _data_float_loop_ctr_array_dim_0[3] = (real_t) ctr_0+ 3;
+             real_t _data_float_loop_ctr_array_dim_1[4];
+             _data_float_loop_ctr_array_dim_1[0] = (real_t) ctr_1;
+             _data_float_loop_ctr_array_dim_1[1] = (real_t) ctr_1;
+             _data_float_loop_ctr_array_dim_1[2] = (real_t) ctr_1;
+             _data_float_loop_ctr_array_dim_1[3] = (real_t) ctr_1;
+         
+             const real_t p_affine_0_0 = macro_vertex_coord_id_0comp0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0)*(1.0 + _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0)*1.0*_data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0];
+             const real_t p_affine_0_1 = macro_vertex_coord_id_0comp1 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1)*(1.0 + _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1)*1.0*_data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0];
+             const real_t p_affine_1_0 = macro_vertex_coord_id_0comp0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0)*1.0*_data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0)*(1.0 + _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0])*1.0;
+             const real_t p_affine_1_1 = macro_vertex_coord_id_0comp1 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1)*1.0*_data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1)*(1.0 + _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0])*1.0;
+             const real_t p_affine_2_0 = macro_vertex_coord_id_0comp0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0)*(1.0 + _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0)*(1.0 + _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0])*1.0;
+             const real_t p_affine_2_1 = macro_vertex_coord_id_0comp1 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1)*(1.0 + _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1)*(1.0 + _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0])*1.0;
+             const real_t k_dof_0 = _data_kVertex[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + 1];
+             const real_t k_dof_1 = _data_kVertex[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2))];
+             const real_t k_dof_2 = _data_kVertex[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 1];
+             const real_t k_dof_3 = _data_kEdge[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2))];
+             const real_t k_dof_4 = _data_kEdge[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 2*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)) / (2)) + 1];
+             const real_t k_dof_5 = _data_kEdge[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)) / (2))];
+             real_t q_acc_0_0 = 0.0;
+             real_t q_acc_0_1 = 0.0;
+             real_t q_acc_0_2 = 0.0;
+             real_t q_acc_0_3 = 0.0;
+             real_t q_acc_0_4 = 0.0;
+             real_t q_acc_0_5 = 0.0;
+             real_t q_acc_1_0 = 0.0;
+             real_t q_acc_1_1 = 0.0;
+             real_t q_acc_1_2 = 0.0;
+             real_t q_acc_1_3 = 0.0;
+             real_t q_acc_1_4 = 0.0;
+             real_t q_acc_1_5 = 0.0;
+             real_t q_acc_2_0 = 0.0;
+             real_t q_acc_2_1 = 0.0;
+             real_t q_acc_2_2 = 0.0;
+             real_t q_acc_2_3 = 0.0;
+             real_t q_acc_2_4 = 0.0;
+             real_t q_acc_2_5 = 0.0;
+             for (int64_t q = 0; q < 6; q += 1)
+             {
+                const real_t tmp_qloop_0 = 4.0*_data_q_p_0[q]*_data_q_p_1[q];
+                const real_t tmp_qloop_1 = (_data_q_p_0[q]*_data_q_p_0[q]);
+                const real_t tmp_qloop_2 = tmp_qloop_1*2.0;
+                const real_t tmp_qloop_3 = (_data_q_p_1[q]*_data_q_p_1[q]);
+                const real_t tmp_qloop_4 = tmp_qloop_3*2.0;
+                const real_t tmp_qloop_6 = -p_affine_0_0 + (p_affine_0_0 - p_affine_1_0)*_data_q_p_0[q] + (p_affine_0_0 - p_affine_2_0)*_data_q_p_1[q];
+                const real_t tmp_qloop_7 = (tmp_qloop_6*tmp_qloop_6);
+                const real_t tmp_qloop_8 = -p_affine_0_1 + (p_affine_0_1 - p_affine_1_1)*_data_q_p_0[q] + (p_affine_0_1 - p_affine_2_1)*_data_q_p_1[q];
+                const real_t tmp_qloop_9 = (tmp_qloop_8*tmp_qloop_8);
+                const real_t tmp_qloop_10 = tmp_qloop_7 + tmp_qloop_9;
+                const real_t tmp_qloop_13 = pow(tmp_qloop_10, -0.50000000000000000)*tmp_qloop_12*1.0;
+                const real_t tmp_qloop_14 = tmp_qloop_13*tmp_qloop_6;
+                const real_t tmp_qloop_15 = tmp_qloop_11*(rayVertex_1 + tmp_qloop_8) - tmp_qloop_5*(rayVertex_0 + tmp_qloop_6);
+                const real_t tmp_qloop_16 = pow(tmp_qloop_10, -1.5000000000000000)*1.0;
+                const real_t tmp_qloop_17 = tmp_qloop_16*(radRayVertex + tmp_qloop_12*tmp_qloop_15);
+                const real_t tmp_qloop_18 = tmp_qloop_13*tmp_qloop_8;
+                const real_t tmp_qloop_19 = tmp_qloop_16*(radRayVertex + tmp_qloop_12*tmp_qloop_15);
+                const real_t tmp_qloop_20 = tmp_qloop_6*tmp_qloop_8;
+                const real_t tmp_qloop_21 = (k_dof_0*(tmp_qloop_0 + tmp_qloop_2 + tmp_qloop_4 - 3.0*_data_q_p_0[q] - 3.0*_data_q_p_1[q] + 1.0) + k_dof_1*(tmp_qloop_2 - _data_q_p_0[q]) + k_dof_2*(tmp_qloop_4 - _data_q_p_1[q]) + k_dof_3*tmp_qloop_0 + k_dof_4*(-tmp_qloop_0 + tmp_qloop_3*-4.0 + 4.0*_data_q_p_1[q]) + k_dof_5*(-tmp_qloop_0 + tmp_qloop_1*-4.0 + 4.0*_data_q_p_0[q]))*abs((tmp_qloop_11*tmp_qloop_14 - tmp_qloop_19*tmp_qloop_20)*(tmp_qloop_17*tmp_qloop_20 + tmp_qloop_18*tmp_qloop_5) - (tmp_qloop_11*tmp_qloop_18 + tmp_qloop_19*tmp_qloop_7)*(tmp_qloop_14*tmp_qloop_5 - tmp_qloop_17*tmp_qloop_9))*_data_q_w[q];
+                const real_t q_tmp_0_0 = tmp_qloop_21*_data_phi_psi_jac_affine_det_0_0_BLUE[18*q];
+                const real_t q_tmp_0_1 = tmp_qloop_21*_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 1];
+                const real_t q_tmp_0_2 = tmp_qloop_21*_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 2];
+                const real_t q_tmp_0_3 = tmp_qloop_21*_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 3];
+                const real_t q_tmp_0_4 = tmp_qloop_21*_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 4];
+                const real_t q_tmp_0_5 = tmp_qloop_21*_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 5];
+                const real_t q_tmp_1_0 = tmp_qloop_21*_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 6];
+                const real_t q_tmp_1_1 = tmp_qloop_21*_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 7];
+                const real_t q_tmp_1_2 = tmp_qloop_21*_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 8];
+                const real_t q_tmp_1_3 = tmp_qloop_21*_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 9];
+                const real_t q_tmp_1_4 = tmp_qloop_21*_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 10];
+                const real_t q_tmp_1_5 = tmp_qloop_21*_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 11];
+                const real_t q_tmp_2_0 = tmp_qloop_21*_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 12];
+                const real_t q_tmp_2_1 = tmp_qloop_21*_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 13];
+                const real_t q_tmp_2_2 = tmp_qloop_21*_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 14];
+                const real_t q_tmp_2_3 = tmp_qloop_21*_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 15];
+                const real_t q_tmp_2_4 = tmp_qloop_21*_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 16];
+                const real_t q_tmp_2_5 = tmp_qloop_21*_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 17];
+                q_acc_0_0 = q_acc_0_0 + q_tmp_0_0;
+                q_acc_0_1 = q_acc_0_1 + q_tmp_0_1;
+                q_acc_0_2 = q_acc_0_2 + q_tmp_0_2;
+                q_acc_0_3 = q_acc_0_3 + q_tmp_0_3;
+                q_acc_0_4 = q_acc_0_4 + q_tmp_0_4;
+                q_acc_0_5 = q_acc_0_5 + q_tmp_0_5;
+                q_acc_1_0 = q_acc_1_0 + q_tmp_1_0;
+                q_acc_1_1 = q_acc_1_1 + q_tmp_1_1;
+                q_acc_1_2 = q_acc_1_2 + q_tmp_1_2;
+                q_acc_1_3 = q_acc_1_3 + q_tmp_1_3;
+                q_acc_1_4 = q_acc_1_4 + q_tmp_1_4;
+                q_acc_1_5 = q_acc_1_5 + q_tmp_1_5;
+                q_acc_2_0 = q_acc_2_0 + q_tmp_2_0;
+                q_acc_2_1 = q_acc_2_1 + q_tmp_2_1;
+                q_acc_2_2 = q_acc_2_2 + q_tmp_2_2;
+                q_acc_2_3 = q_acc_2_3 + q_tmp_2_3;
+                q_acc_2_4 = q_acc_2_4 + q_tmp_2_4;
+                q_acc_2_5 = q_acc_2_5 + q_tmp_2_5;
+             }
+             const real_t elMat_0_0 = q_acc_0_0;
+             const real_t elMat_0_1 = q_acc_0_1;
+             const real_t elMat_0_2 = q_acc_0_2;
+             const real_t elMat_0_3 = q_acc_0_3;
+             const real_t elMat_0_4 = q_acc_0_4;
+             const real_t elMat_0_5 = q_acc_0_5;
+             const real_t elMat_1_0 = q_acc_1_0;
+             const real_t elMat_1_1 = q_acc_1_1;
+             const real_t elMat_1_2 = q_acc_1_2;
+             const real_t elMat_1_3 = q_acc_1_3;
+             const real_t elMat_1_4 = q_acc_1_4;
+             const real_t elMat_1_5 = q_acc_1_5;
+             const real_t elMat_2_0 = q_acc_2_0;
+             const real_t elMat_2_1 = q_acc_2_1;
+             const real_t elMat_2_2 = q_acc_2_2;
+             const real_t elMat_2_3 = q_acc_2_3;
+             const real_t elMat_2_4 = q_acc_2_4;
+             const real_t elMat_2_5 = q_acc_2_5;
+         
+             std::vector< uint_t > _data_rowIdx( 3 );
+             std::vector< uint_t > _data_colIdx( 6 );
+             std::vector< real_t > _data_mat( 18 );
+         
+             _data_rowIdx[0] = ((uint64_t)(_data_dst[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + 1]));
+             _data_rowIdx[1] = ((uint64_t)(_data_dst[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2))]));
+             _data_rowIdx[2] = ((uint64_t)(_data_dst[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 1]));
+             _data_colIdx[0] = ((uint64_t)(_data_srcVertex[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + 1]));
+             _data_colIdx[1] = ((uint64_t)(_data_srcVertex[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2))]));
+             _data_colIdx[2] = ((uint64_t)(_data_srcVertex[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 1]));
+             _data_colIdx[3] = ((uint64_t)(_data_srcEdge[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2))]));
+             _data_colIdx[4] = ((uint64_t)(_data_srcEdge[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 2*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)) / (2)) + 1]));
+             _data_colIdx[5] = ((uint64_t)(_data_srcEdge[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)) / (2))]));
+         
+             /* Apply basis transformation */
+         
+         
+         
+             _data_mat[0] = ((real_t)(elMat_0_0));
+             _data_mat[1] = ((real_t)(elMat_0_1));
+             _data_mat[2] = ((real_t)(elMat_0_2));
+             _data_mat[3] = ((real_t)(elMat_0_3));
+             _data_mat[4] = ((real_t)(elMat_0_4));
+             _data_mat[5] = ((real_t)(elMat_0_5));
+             _data_mat[6] = ((real_t)(elMat_1_0));
+             _data_mat[7] = ((real_t)(elMat_1_1));
+             _data_mat[8] = ((real_t)(elMat_1_2));
+             _data_mat[9] = ((real_t)(elMat_1_3));
+             _data_mat[10] = ((real_t)(elMat_1_4));
+             _data_mat[11] = ((real_t)(elMat_1_5));
+             _data_mat[12] = ((real_t)(elMat_2_0));
+             _data_mat[13] = ((real_t)(elMat_2_1));
+             _data_mat[14] = ((real_t)(elMat_2_2));
+             _data_mat[15] = ((real_t)(elMat_2_3));
+             _data_mat[16] = ((real_t)(elMat_2_4));
+             _data_mat[17] = ((real_t)(elMat_2_5));
+         
+         
+             mat->addValues( _data_rowIdx, _data_colIdx, _data_mat );
+          }
+       }
+    }
+}
+} // namespace operatorgeneration
+
+} // namespace hyteg
diff --git a/operators/k_mass/noarch/P2ToP1ElementwiseKMassIcosahedralShellMap_apply_macro_3D.cpp b/operators/k_mass/noarch/P2ToP1ElementwiseKMassIcosahedralShellMap_apply_macro_3D.cpp
new file mode 100644
index 0000000000000000000000000000000000000000..225a66b8fc49ab7693c253bfc6c4ae1a6b3d3977
--- /dev/null
+++ b/operators/k_mass/noarch/P2ToP1ElementwiseKMassIcosahedralShellMap_apply_macro_3D.cpp
@@ -0,0 +1,1640 @@
+/*
+* Copyright (c) 2017-2024 Nils Kohl, Daniel Bauer, Fabian Böhm.
+*
+* This file is part of HyTeG
+* (see https://i10git.cs.fau.de/hyteg/hyteg).
+*
+* This program is free software: you can redistribute it and/or modify
+* it under the terms of the GNU General Public License as published by
+* the Free Software Foundation, either version 3 of the License, or
+* (at your option) any later version.
+*
+* This program is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+* GNU General Public License for more details.
+*
+* You should have received a copy of the GNU General Public License
+* along with this program. If not, see <http://www.gnu.org/licenses/>.
+*/
+
+/*
+* The entire file was generated with the HyTeG form generator.
+*
+* Avoid modifying this file. If buggy, consider fixing the generator itself.
+*/
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+#include "../P2ToP1ElementwiseKMassIcosahedralShellMap.hpp"
+
+#define FUNC_PREFIX  
+
+namespace hyteg {
+
+namespace operatorgeneration {
+
+void P2ToP1ElementwiseKMassIcosahedralShellMap::apply_macro_3D( real_t * RESTRICT  _data_dst, real_t * RESTRICT  _data_kEdge, real_t * RESTRICT  _data_kVertex, real_t * RESTRICT  _data_srcEdge, real_t * RESTRICT  _data_srcVertex, real_t forVertex_0, real_t forVertex_1, real_t forVertex_2, real_t macro_vertex_coord_id_0comp0, real_t macro_vertex_coord_id_0comp1, real_t macro_vertex_coord_id_0comp2, real_t macro_vertex_coord_id_1comp0, real_t macro_vertex_coord_id_1comp1, real_t macro_vertex_coord_id_1comp2, real_t macro_vertex_coord_id_2comp0, real_t macro_vertex_coord_id_2comp1, real_t macro_vertex_coord_id_2comp2, real_t macro_vertex_coord_id_3comp0, real_t macro_vertex_coord_id_3comp1, real_t macro_vertex_coord_id_3comp2, int64_t micro_edges_per_macro_edge, real_t micro_edges_per_macro_edge_float, real_t radRayVertex, real_t radRefVertex, real_t rayVertex_0, real_t rayVertex_1, real_t rayVertex_2, real_t refVertex_0, real_t refVertex_1, real_t refVertex_2, real_t thrVertex_0, real_t thrVertex_1, real_t thrVertex_2 ) const
+{
+    {
+       const real_t _data_q_w [] = {0.02364442875776411, 0.0041220137385117907, 0.025486503738822306, 0.0091363578885896128, 0.0052827872295400091, 0.02526054964096567, 0.01949470769240411, 0.0094909452962763929, 0.019522077110586403, 0.018549261128954084, 0.0066770344442521412};
+   
+       const real_t _data_q_p_0 [] = {0.4881393122183349, 0.028620108024415062, 0.12011493111997025, 0.19015055018870972, 0.81934505243836264, 0.33721826230431567, 0.086557484679865959, 0.079692524193577793, 0.061206893331017434, 0.43957887847117094, 0.085226802665704912};
+   
+       const real_t _data_q_p_1 [] = {0.31081202744417918, 0.1144811451032984, 0.33248812467264544, 0.58529107547132619, 0.026719351714152292, 0.11264913310739497, 0.079391877387070833, 0.063296594113889035, 0.44299746808745322, 0.057741550565775693, 0.77428400209089154};
+   
+       const real_t _data_q_p_2 [] = {0.082320586256909412, 0.85148303380032098, 0.10040383353811888, 0.21187112908079075, 0.11113976289693195, 0.45821473775386756, 0.49383422023194623, 0.10603293862052354, 0.35074787972985066, 0.10858823393329198, 0.0088057690417862045};
+   
+       const real_t tmp_coords_jac_0_WHITE_UP = 1.0 / (micro_edges_per_macro_edge_float)*1.0;
+       const real_t p_affine_const_0_0_WHITE_UP = macro_vertex_coord_id_0comp0;
+       const real_t p_affine_const_0_1_WHITE_UP = macro_vertex_coord_id_0comp1;
+       const real_t p_affine_const_0_2_WHITE_UP = macro_vertex_coord_id_0comp2;
+       const real_t p_affine_const_1_0_WHITE_UP = macro_vertex_coord_id_0comp0 + tmp_coords_jac_0_WHITE_UP*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0);
+       const real_t p_affine_const_1_1_WHITE_UP = macro_vertex_coord_id_0comp1 + tmp_coords_jac_0_WHITE_UP*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1);
+       const real_t p_affine_const_1_2_WHITE_UP = macro_vertex_coord_id_0comp2 + tmp_coords_jac_0_WHITE_UP*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2);
+       const real_t p_affine_const_2_0_WHITE_UP = macro_vertex_coord_id_0comp0 + tmp_coords_jac_0_WHITE_UP*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0);
+       const real_t p_affine_const_2_1_WHITE_UP = macro_vertex_coord_id_0comp1 + tmp_coords_jac_0_WHITE_UP*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1);
+       const real_t p_affine_const_2_2_WHITE_UP = macro_vertex_coord_id_0comp2 + tmp_coords_jac_0_WHITE_UP*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2);
+       const real_t p_affine_const_3_0_WHITE_UP = macro_vertex_coord_id_0comp0 + tmp_coords_jac_0_WHITE_UP*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0);
+       const real_t p_affine_const_3_1_WHITE_UP = macro_vertex_coord_id_0comp1 + tmp_coords_jac_0_WHITE_UP*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1);
+       const real_t p_affine_const_3_2_WHITE_UP = macro_vertex_coord_id_0comp2 + tmp_coords_jac_0_WHITE_UP*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2);
+       const real_t jac_affine_0_0_WHITE_UP = -p_affine_const_0_0_WHITE_UP + p_affine_const_1_0_WHITE_UP;
+       const real_t jac_affine_0_1_WHITE_UP = -p_affine_const_0_0_WHITE_UP + p_affine_const_2_0_WHITE_UP;
+       const real_t jac_affine_0_2_WHITE_UP = -p_affine_const_0_0_WHITE_UP + p_affine_const_3_0_WHITE_UP;
+       const real_t jac_affine_1_0_WHITE_UP = -p_affine_const_0_1_WHITE_UP + p_affine_const_1_1_WHITE_UP;
+       const real_t jac_affine_1_1_WHITE_UP = -p_affine_const_0_1_WHITE_UP + p_affine_const_2_1_WHITE_UP;
+       const real_t jac_affine_1_2_WHITE_UP = -p_affine_const_0_1_WHITE_UP + p_affine_const_3_1_WHITE_UP;
+       const real_t jac_affine_2_0_WHITE_UP = -p_affine_const_0_2_WHITE_UP + p_affine_const_1_2_WHITE_UP;
+       const real_t jac_affine_2_1_WHITE_UP = -p_affine_const_0_2_WHITE_UP + p_affine_const_2_2_WHITE_UP;
+       const real_t jac_affine_2_2_WHITE_UP = -p_affine_const_0_2_WHITE_UP + p_affine_const_3_2_WHITE_UP;
+       const real_t abs_det_jac_affine_WHITE_UP = abs(jac_affine_0_0_WHITE_UP*jac_affine_1_1_WHITE_UP*jac_affine_2_2_WHITE_UP - jac_affine_0_0_WHITE_UP*jac_affine_1_2_WHITE_UP*jac_affine_2_1_WHITE_UP - jac_affine_0_1_WHITE_UP*jac_affine_1_0_WHITE_UP*jac_affine_2_2_WHITE_UP + jac_affine_0_1_WHITE_UP*jac_affine_1_2_WHITE_UP*jac_affine_2_0_WHITE_UP + jac_affine_0_2_WHITE_UP*jac_affine_1_0_WHITE_UP*jac_affine_2_1_WHITE_UP - jac_affine_0_2_WHITE_UP*jac_affine_1_1_WHITE_UP*jac_affine_2_0_WHITE_UP);
+       const real_t tmp_qloop_19 = rayVertex_1 - refVertex_1;
+       const real_t tmp_qloop_20 = -rayVertex_0;
+       const real_t tmp_qloop_21 = -forVertex_0 - tmp_qloop_20;
+       const real_t tmp_qloop_22 = rayVertex_2 - thrVertex_2;
+       const real_t tmp_qloop_23 = tmp_qloop_21*tmp_qloop_22;
+       const real_t tmp_qloop_24 = rayVertex_2 - refVertex_2;
+       const real_t tmp_qloop_25 = rayVertex_1 - thrVertex_1;
+       const real_t tmp_qloop_26 = tmp_qloop_21*tmp_qloop_25;
+       const real_t tmp_qloop_27 = -rayVertex_1;
+       const real_t tmp_qloop_28 = -forVertex_1 - tmp_qloop_27;
+       const real_t tmp_qloop_29 = rayVertex_0 - thrVertex_0;
+       const real_t tmp_qloop_30 = rayVertex_0 - refVertex_0;
+       const real_t tmp_qloop_31 = -rayVertex_2;
+       const real_t tmp_qloop_32 = -forVertex_2 - tmp_qloop_31;
+       const real_t tmp_qloop_33 = tmp_qloop_22*tmp_qloop_28;
+       const real_t tmp_qloop_34 = tmp_qloop_29*tmp_qloop_32;
+       const real_t tmp_qloop_35 = tmp_qloop_19*tmp_qloop_23 - tmp_qloop_19*tmp_qloop_34 - tmp_qloop_24*tmp_qloop_26 + tmp_qloop_24*tmp_qloop_28*tmp_qloop_29 + tmp_qloop_25*tmp_qloop_30*tmp_qloop_32 - tmp_qloop_30*tmp_qloop_33;
+       const real_t tmp_qloop_36 = 1.0 / (tmp_qloop_35*tmp_qloop_35*tmp_qloop_35);
+       const real_t tmp_qloop_37 = radRayVertex - radRefVertex;
+       const real_t tmp_qloop_38 = tmp_qloop_37*(-tmp_qloop_26 + tmp_qloop_28*tmp_qloop_29);
+       const real_t tmp_qloop_45 = tmp_qloop_37*(tmp_qloop_25*tmp_qloop_32 - tmp_qloop_33);
+       const real_t tmp_qloop_47 = -tmp_qloop_23 + tmp_qloop_29*tmp_qloop_32;
+       {
+          /* CellType.WHITE_UP */
+          const real_t _data_phi_psi_jac_affine_det_0_0_WHITE_UP [] = {((real_t)(abs_det_jac_affine_WHITE_UP*-0.010749089276961213)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0013747922567553051)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.01396287204173041)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.008164600589399525)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.012151214443257608)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.019083835042434261)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.072053489056043002)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0046416810200408439)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.017525267423213611)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.027523941260433657)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.044193869792483409)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0056523290877285)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0574070354280087)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.033567987580949914)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.049958575567593019)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.078461393265588306)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.29624114484395714)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.019083835042434251)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.072053489056042974)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.11316209633188964)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.02813947970791995)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0035989968838093011)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.036552673846023863)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.021373681684931475)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.031810029988819218)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.18862506775555832)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.012151214443257601)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.045878482755592566)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.07205348905604296)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0074529241534464254)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.00095321772406372263)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0096812133204938391)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0056609585582659784)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0084250932599439499)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.013231853551815916)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0032183281481346165)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.012151214443257603)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.019083835042434251)), ((real_t)(abs_det_jac_affine_WHITE_UP*-2.9012262911449775e-5)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.00014612615736184792)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.00047804109319682082)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0032416491456343029)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0021116678219306132)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.00052791366753715454)), ((real_t)(abs_det_jac_affine_WHITE_UP*7.0977528354966774e-5)), ((real_t)(abs_det_jac_affine_WHITE_UP*9.9895812682163066e-5)), ((real_t)(abs_det_jac_affine_WHITE_UP*1.3430904167093961e-5)), ((real_t)(abs_det_jac_affine_WHITE_UP*3.3577051293550935e-6)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.00015331944058422371)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.00077222451657154147)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0025262763269762738)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.017130957178208683)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.011159409734644826)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0027898350580443485)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.00037509087018302439)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.00052791366753715541)), ((real_t)(abs_det_jac_affine_WHITE_UP*7.0977528354966354e-5)), ((real_t)(abs_det_jac_affine_WHITE_UP*1.7744271574084403e-5)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.00061328158194601311)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0030889173045236238)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.010105168244399365)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.068524255492113287)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.044637916950180538)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0015003728252777238)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0021116678219306167)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.000283911881665389)), ((real_t)(abs_det_jac_affine_WHITE_UP*7.0977528354965283e-5)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0045614398903685138)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.022974618879299673)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.075159794270401023)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.50966681808331993)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.33200601647520916)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.083000987173061064)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.015706073884687172)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0021116678219306002)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.00052791366753714337)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.02118185416019976)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.040792474062018545)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.049791196691139579)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.035867609546541376)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.059688031245203839)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.021562946853404222)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.071405876738584673)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.080243884747120436)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.26572828761452333)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.095997217930328324)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.005691937733975882)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.010961657115556597)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.013379772569609637)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.009638259175114022)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.016039226535213912)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0057943440608341223)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.019188018251946451)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.021562946853404225)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0714058767385847)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.025796145274243024)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.015755757300754607)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.03034277906728966)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.037036323866953338)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.026679503441931235)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.044397913749511943)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.053114031247306501)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.059688031245203839)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.19765740883375349)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0714058767385847)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0047578795027626341)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0091628275191950465)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.011184125448277639)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0080566017962316674)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.013407157762204741)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0048434807489961713)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.018024424659562992)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.059688031245203853)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.021562946853404232)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.00015688175714697789)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0014950153325289843)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0012666972383742025)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0015490159490981592)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0062931924029516256)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0020445450956193246)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0056480276621754888)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.00013641635559728395)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.00037684830314454006)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0001224312400849633)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.002351271046368435)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.022406596720860313)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.018984670973016902)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.023215932927530856)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.094319450236798913)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.030642694050274453)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.084650020197820364)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0020445450956193168)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0056480276621755114)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0018349426677638542)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0072373072709378001)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.068968409922504109)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.058435584226493004)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.071459579463428277)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.29031907828914638)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.26055618198886238)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0062931924029516022)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.017384857321768536)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0056480276621755391)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0026198528001873307)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.024966064738678271)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.021153258143552994)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.025867850064795264)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.10509340307518385)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.034142957672569287)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0022780900577755898)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0062931924029516507)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0020445450956193428)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0016747236096797923)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.022395383667253931)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0010823709889014185)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0036990864559166563)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.00050834301173610229)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.015588264867481133)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0037476086033569342)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.00081420248681843786)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.00019574418772167287)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0060024671806827717)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.032063320402672957)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.42876947450525699)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.020722468836717273)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.070820637834037012)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.009732450635762396)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.29844418988237825)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.071749615697017544)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.015588264867481126)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0037476086033569277)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.1149198753205366)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0010456048186450997)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.013982439217157605)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.00067577259615595462)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0023095050434207478)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.00031738126788423253)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0023397995892677865)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.00050834301173610208)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.00012221184720903605)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0037476086033569355)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0043492174836919605)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.058160280082415236)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0028108917803285017)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0096064397699850354)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0013201547416997409)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.040482354049473784)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0021144645423690485)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.00050834301173610142)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.015588264867481138)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0068956855714663416)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.010091290281029655)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0080216243244021178)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0035198334831929206)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.018978279386089755)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.056811998632973766)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.01396686284573566)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.015485631440181358)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0038070424489360009)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.01139648574059631)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.025298140458325055)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.037021827096001436)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.029428861968758362)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.012913181862031289)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.069625445155635055)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.20842567519062763)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.051240105769272605)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.056811998632973738)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.013966862845735664)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.041810186095187066)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0084509467915105906)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.012367292031926986)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0098308311254096271)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0043137009617327136)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.023258663351751644)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.017116965895609845)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.018978279386089748)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0046656873831529451)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.01396686284573564)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.034375305526338835)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.050305540032273111)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.039988161309129681)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.017546529657219402)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.094607584046545581)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.28321039153111127)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.077196575526473174)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.018978279386089758)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.056811998632973676)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.036989007988906066)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.024350339729610097)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.022721604194642659)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0020718315986862396)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.053354679030800815)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.058170268354931241)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0093518161026560475)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.22863973450271471)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.036757553494219546)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.040075149727639509)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0094107024991835538)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0061951865002202629)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.005780805406949952)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.00052711310369534133)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.013574438423676774)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.014799615333023134)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0023792787088414437)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.058170268354931248)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.009351816102656051)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.010195875266786407)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0086316433720857837)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0056823218562164577)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0053022450428696702)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.00048347637471763576)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.012450687019346486)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0021823116073744556)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.053354679030800829)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0085776318491057792)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0093518161026560475)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.053690642094179834)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.035345240285608669)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.032981082352521167)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0030073250106582576)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.077445898974953548)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.084435869696849797)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.3318773554937019)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.053354679030800836)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.058170268354931241)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.2830869924348563)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.050308558644386672)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.041516821634179475)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.06274193203760102)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.020160825588817252)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.025383152182066201)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.015152528090816651)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.23919668259056145)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.14278898169094956)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.17977609281010931)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.030040718507945225)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0053386601615906274)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0044056957238823311)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0066580689659201985)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.002139433116273644)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0026936176861649991)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0016079609562587173)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.025383152182066195)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.015152528090816651)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.019077538505445499)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.023860144794362503)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0042402848796628178)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0034992684300787832)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0052882386796338152)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0016992664113091131)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0012771392678196903)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.020160825588817249)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.012035048833865587)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.01515252809081665)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.039969943152159265)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0071032236832497221)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0058618906729116316)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0088587307923610938)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0028465703978647464)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0035839271208240476)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.033772932211040815)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.020160825588817245)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.025383152182066191)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.014935575584147695)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.007791142568055953)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0073254854313094774)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.015186461110532538)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.090150328303510344)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.012455650259246793)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.015731589118882311)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.029517331411893867)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.037280633286332542)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0051508911658584714)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0063024771210085937)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0032876870064389215)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0030911901634452068)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0064083451728372039)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.038041411821271319)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0052560043865672946)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0066383769370158769)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.012455650259246798)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.015731589118882314)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0021735602717637636)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.045615473279886819)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.023795310306631609)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.022373124026687209)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.046381715060167777)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.27533253531028662)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.048046617223388682)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.090150328303510385)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.11386060898348732)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.015731589118882311)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.036116528170846006)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.018840185867421855)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.017714155002223078)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.036723208116341576)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.21799741519439725)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.030119685775736597)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.07137746553252089)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.090150328303510371)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.012455650259246793)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.032896921427909828)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.020934012679446525)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.020127575524041673)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.033499901528319088)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0098838942808698073)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.075244795478138254)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.040011251730840761)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.067458477890573201)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.035870894765649017)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.27308043404340754)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.036694010925042916)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.023350297128803515)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.022450777887903339)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.037366589313281677)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.011024731463671476)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.083929839859876898)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.044629504659074608)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.075244795478138254)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.040011251730840761)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.30460043053460045)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0048199974818136015)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0030672137093527801)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0029490559946009505)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0049083450365209726)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0014481703295155801)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.005862376301973493)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0098838942808698056)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0052557386811928905)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.040011251730840761)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.009064443351184925)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.005768174157623188)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0055459678357496689)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.009230588957667556)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0027234159279729726)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.020733009548559916)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.018587561536304909)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0098838942808698056)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.075244795478138254)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.012773605317404142)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0093099638314587951)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.055932196812816262)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0011391519589580709)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0035913578872906952)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.00039530708258920854)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.034759025419540214)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.00061078662356131824)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.053705963564394235)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0059115099192464755)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0082672024196058687)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0060254997396084128)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.036199865373541695)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.00073727030054430856)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0023243619853375876)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.00025584661404999347)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.022496381554864123)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.00039530708258920833)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.034759025419540221)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0038259870955407193)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.075107388466231287)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.054741559075980606)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.32887513974352289)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.006698087703317224)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.02111678772433076)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.20437923045390871)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0035913578872906935)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.31578513412249021)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.034759025419540214)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.00085418052598187596)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.00062256423341908954)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0037402277670030831)), ((real_t)(abs_det_jac_affine_WHITE_UP*-7.6175942132039452e-5)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.00024015678369014598)), ((real_t)(abs_det_jac_affine_WHITE_UP*2.6434479799555231e-5)), ((real_t)(abs_det_jac_affine_WHITE_UP*4.0843757608938361e-5)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0035913578872906957)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.00039530708258920849))};
+      
+          for (int64_t ctr_2 = 0; ctr_2 < micro_edges_per_macro_edge; ctr_2 += 1)
+          for (int64_t ctr_1 = 0; ctr_1 < -ctr_2 + micro_edges_per_macro_edge; ctr_1 += 1)
+          for (int64_t ctr_0 = 0; ctr_0 < -ctr_1 - ctr_2 + micro_edges_per_macro_edge; ctr_0 += 1)
+          {
+         
+             const int64_t phantom_ctr_0 = ctr_0;
+             real_t _data_float_loop_ctr_array_dim_0[4];
+             _data_float_loop_ctr_array_dim_0[0] = (real_t) ctr_0+ 0;
+             _data_float_loop_ctr_array_dim_0[1] = (real_t) ctr_0+ 1;
+             _data_float_loop_ctr_array_dim_0[2] = (real_t) ctr_0+ 2;
+             _data_float_loop_ctr_array_dim_0[3] = (real_t) ctr_0+ 3;
+             real_t _data_float_loop_ctr_array_dim_1[4];
+             _data_float_loop_ctr_array_dim_1[0] = (real_t) ctr_1;
+             _data_float_loop_ctr_array_dim_1[1] = (real_t) ctr_1;
+             _data_float_loop_ctr_array_dim_1[2] = (real_t) ctr_1;
+             _data_float_loop_ctr_array_dim_1[3] = (real_t) ctr_1;
+             real_t _data_float_loop_ctr_array_dim_2[4];
+             _data_float_loop_ctr_array_dim_2[0] = (real_t) ctr_2;
+             _data_float_loop_ctr_array_dim_2[1] = (real_t) ctr_2;
+             _data_float_loop_ctr_array_dim_2[2] = (real_t) ctr_2;
+             _data_float_loop_ctr_array_dim_2[3] = (real_t) ctr_2;
+         
+             const real_t p_affine_0_0 = macro_vertex_coord_id_0comp0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0)*1.0*_data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0)*1.0*_data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0)*1.0*_data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0];
+             const real_t p_affine_0_1 = macro_vertex_coord_id_0comp1 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1)*1.0*_data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1)*1.0*_data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1)*1.0*_data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0];
+             const real_t p_affine_0_2 = macro_vertex_coord_id_0comp2 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2)*1.0*_data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2)*1.0*_data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2)*1.0*_data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0];
+             const real_t p_affine_1_0 = macro_vertex_coord_id_0comp0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0)*(1.0 + _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0)*1.0*_data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0)*1.0*_data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0];
+             const real_t p_affine_1_1 = macro_vertex_coord_id_0comp1 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1)*(1.0 + _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1)*1.0*_data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1)*1.0*_data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0];
+             const real_t p_affine_1_2 = macro_vertex_coord_id_0comp2 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2)*(1.0 + _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2)*1.0*_data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2)*1.0*_data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0];
+             const real_t p_affine_2_0 = macro_vertex_coord_id_0comp0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0)*1.0*_data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0)*(1.0 + _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0)*1.0*_data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0];
+             const real_t p_affine_2_1 = macro_vertex_coord_id_0comp1 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1)*1.0*_data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1)*(1.0 + _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1)*1.0*_data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0];
+             const real_t p_affine_2_2 = macro_vertex_coord_id_0comp2 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2)*1.0*_data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2)*(1.0 + _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2)*1.0*_data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0];
+             const real_t p_affine_3_0 = macro_vertex_coord_id_0comp0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0)*1.0*_data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0)*1.0*_data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0)*(1.0 + _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0])*1.0;
+             const real_t p_affine_3_1 = macro_vertex_coord_id_0comp1 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1)*1.0*_data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1)*1.0*_data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1)*(1.0 + _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0])*1.0;
+             const real_t p_affine_3_2 = macro_vertex_coord_id_0comp2 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2)*1.0*_data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2)*1.0*_data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2)*(1.0 + _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0])*1.0;
+             const real_t src_dof_0 = _data_srcVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))];
+             const real_t src_dof_1 = _data_srcVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1];
+             const real_t src_dof_2 = _data_srcVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))];
+             const real_t src_dof_3 = _data_srcVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))];
+             const real_t src_dof_4 = _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))];
+             const real_t src_dof_5 = _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 5*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))];
+             const real_t src_dof_6 = _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))];
+             const real_t src_dof_7 = _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))];
+             const real_t src_dof_8 = _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 2*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))];
+             const real_t src_dof_9 = _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))];
+             const real_t k_dof_0 = _data_kVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))];
+             const real_t k_dof_1 = _data_kVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1];
+             const real_t k_dof_2 = _data_kVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))];
+             const real_t k_dof_3 = _data_kVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))];
+             const real_t k_dof_4 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))];
+             const real_t k_dof_5 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 5*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))];
+             const real_t k_dof_6 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))];
+             const real_t k_dof_7 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))];
+             const real_t k_dof_8 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 2*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))];
+             const real_t k_dof_9 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))];
+             real_t q_acc_0_0 = 0.0;
+             real_t q_acc_0_1 = 0.0;
+             real_t q_acc_0_2 = 0.0;
+             real_t q_acc_0_3 = 0.0;
+             real_t q_acc_0_4 = 0.0;
+             real_t q_acc_0_5 = 0.0;
+             real_t q_acc_0_6 = 0.0;
+             real_t q_acc_0_7 = 0.0;
+             real_t q_acc_0_8 = 0.0;
+             real_t q_acc_0_9 = 0.0;
+             real_t q_acc_1_0 = 0.0;
+             real_t q_acc_1_1 = 0.0;
+             real_t q_acc_1_2 = 0.0;
+             real_t q_acc_1_3 = 0.0;
+             real_t q_acc_1_4 = 0.0;
+             real_t q_acc_1_5 = 0.0;
+             real_t q_acc_1_6 = 0.0;
+             real_t q_acc_1_7 = 0.0;
+             real_t q_acc_1_8 = 0.0;
+             real_t q_acc_1_9 = 0.0;
+             real_t q_acc_2_0 = 0.0;
+             real_t q_acc_2_1 = 0.0;
+             real_t q_acc_2_2 = 0.0;
+             real_t q_acc_2_3 = 0.0;
+             real_t q_acc_2_4 = 0.0;
+             real_t q_acc_2_5 = 0.0;
+             real_t q_acc_2_6 = 0.0;
+             real_t q_acc_2_7 = 0.0;
+             real_t q_acc_2_8 = 0.0;
+             real_t q_acc_2_9 = 0.0;
+             real_t q_acc_3_0 = 0.0;
+             real_t q_acc_3_1 = 0.0;
+             real_t q_acc_3_2 = 0.0;
+             real_t q_acc_3_3 = 0.0;
+             real_t q_acc_3_4 = 0.0;
+             real_t q_acc_3_5 = 0.0;
+             real_t q_acc_3_6 = 0.0;
+             real_t q_acc_3_7 = 0.0;
+             real_t q_acc_3_8 = 0.0;
+             real_t q_acc_3_9 = 0.0;
+             for (int64_t q = 0; q < 11; q += 1)
+             {
+                const real_t tmp_qloop_0 = 4.0*_data_q_p_0[q];
+                const real_t tmp_qloop_1 = tmp_qloop_0*_data_q_p_1[q];
+                const real_t tmp_qloop_2 = tmp_qloop_0*_data_q_p_2[q];
+                const real_t tmp_qloop_3 = 4.0*_data_q_p_1[q]*_data_q_p_2[q];
+                const real_t tmp_qloop_4 = (_data_q_p_0[q]*_data_q_p_0[q]);
+                const real_t tmp_qloop_5 = tmp_qloop_4*2.0;
+                const real_t tmp_qloop_6 = (_data_q_p_1[q]*_data_q_p_1[q]);
+                const real_t tmp_qloop_7 = tmp_qloop_6*2.0;
+                const real_t tmp_qloop_8 = (_data_q_p_2[q]*_data_q_p_2[q]);
+                const real_t tmp_qloop_9 = tmp_qloop_8*2.0;
+                const real_t tmp_qloop_10 = tmp_qloop_1 + tmp_qloop_2;
+                const real_t tmp_qloop_11 = p_affine_0_0 + (-p_affine_0_0 + p_affine_1_0)*_data_q_p_0[q] + (-p_affine_0_0 + p_affine_2_0)*_data_q_p_1[q] + (-p_affine_0_0 + p_affine_3_0)*_data_q_p_2[q];
+                const real_t tmp_qloop_12 = p_affine_0_1 + (-p_affine_0_1 + p_affine_1_1)*_data_q_p_0[q] + (-p_affine_0_1 + p_affine_2_1)*_data_q_p_1[q] + (-p_affine_0_1 + p_affine_3_1)*_data_q_p_2[q];
+                const real_t tmp_qloop_13 = p_affine_0_2 + (-p_affine_0_2 + p_affine_1_2)*_data_q_p_0[q] + (-p_affine_0_2 + p_affine_2_2)*_data_q_p_1[q] + (-p_affine_0_2 + p_affine_3_2)*_data_q_p_2[q];
+                const real_t tmp_qloop_14 = (tmp_qloop_11*tmp_qloop_11);
+                const real_t tmp_qloop_15 = (tmp_qloop_12*tmp_qloop_12);
+                const real_t tmp_qloop_16 = (tmp_qloop_13*tmp_qloop_13);
+                const real_t tmp_qloop_17 = tmp_qloop_14 + tmp_qloop_15 + tmp_qloop_16;
+                const real_t tmp_qloop_18 = pow(tmp_qloop_17, -4.5000000000000000);
+                const real_t tmp_qloop_39 = -tmp_qloop_13 - tmp_qloop_31;
+                const real_t tmp_qloop_40 = -tmp_qloop_11 - tmp_qloop_20;
+                const real_t tmp_qloop_41 = -tmp_qloop_12 - tmp_qloop_27;
+                const real_t tmp_qloop_42 = radRayVertex*tmp_qloop_35 - tmp_qloop_37*(tmp_qloop_21*tmp_qloop_22*tmp_qloop_41 + tmp_qloop_25*tmp_qloop_32*tmp_qloop_40 - tmp_qloop_26*tmp_qloop_39 + tmp_qloop_28*tmp_qloop_29*tmp_qloop_39 - tmp_qloop_33*tmp_qloop_40 - tmp_qloop_34*tmp_qloop_41);
+                const real_t tmp_qloop_43 = -tmp_qloop_42;
+                const real_t tmp_qloop_44 = tmp_qloop_13*tmp_qloop_43 + tmp_qloop_17*tmp_qloop_38;
+                const real_t tmp_qloop_46 = tmp_qloop_11*tmp_qloop_43 + tmp_qloop_17*tmp_qloop_45;
+                const real_t tmp_qloop_48 = -tmp_qloop_12*tmp_qloop_42 - tmp_qloop_17*tmp_qloop_37*tmp_qloop_47;
+                const real_t tmp_qloop_49 = tmp_qloop_15*tmp_qloop_43 + tmp_qloop_17*(-tmp_qloop_12*tmp_qloop_37*tmp_qloop_47 + tmp_qloop_42);
+                const real_t tmp_qloop_50 = tmp_qloop_18*tmp_qloop_36;
+                const real_t tmp_qloop_51 = tmp_qloop_11*tmp_qloop_46;
+                const real_t tmp_qloop_52 = tmp_qloop_13*tmp_qloop_44;
+                const real_t tmp_qloop_53 = tmp_qloop_16*tmp_qloop_43 + tmp_qloop_17*(tmp_qloop_13*tmp_qloop_38 + tmp_qloop_42);
+                const real_t tmp_qloop_54 = tmp_qloop_12*tmp_qloop_48*tmp_qloop_50*1.0;
+                const real_t tmp_qloop_55 = -tmp_qloop_14*tmp_qloop_42 + tmp_qloop_17*(tmp_qloop_11*tmp_qloop_45 + tmp_qloop_42);
+                const real_t tmp_qloop_56 = (k_dof_0*(tmp_qloop_10 + tmp_qloop_3 + tmp_qloop_5 + tmp_qloop_7 + tmp_qloop_9 - 3.0*_data_q_p_0[q] - 3.0*_data_q_p_1[q] - 3.0*_data_q_p_2[q] + 1.0) + k_dof_1*(tmp_qloop_5 - _data_q_p_0[q]) + k_dof_2*(tmp_qloop_7 - _data_q_p_1[q]) + k_dof_3*(tmp_qloop_9 - _data_q_p_2[q]) + k_dof_4*tmp_qloop_3 + k_dof_5*tmp_qloop_2 + k_dof_6*tmp_qloop_1 + k_dof_7*(-tmp_qloop_2 - tmp_qloop_3 + tmp_qloop_8*-4.0 + 4.0*_data_q_p_2[q]) + k_dof_8*(-tmp_qloop_1 - tmp_qloop_3 + tmp_qloop_6*-4.0 + 4.0*_data_q_p_1[q]) + k_dof_9*(-tmp_qloop_10 + tmp_qloop_4*-4.0 + 4.0*_data_q_p_0[q]))*abs(tmp_qloop_11*tmp_qloop_12*tmp_qloop_13*tmp_qloop_18*tmp_qloop_36*tmp_qloop_44*tmp_qloop_46*tmp_qloop_48*-2.0 - tmp_qloop_18*tmp_qloop_36*tmp_qloop_49*tmp_qloop_53*tmp_qloop_55 + tmp_qloop_49*tmp_qloop_50*tmp_qloop_51*tmp_qloop_52*1.0 + tmp_qloop_51*tmp_qloop_53*tmp_qloop_54 + tmp_qloop_52*tmp_qloop_54*tmp_qloop_55)*_data_q_w[q];
+                const real_t tmp_qloop_57 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 14];
+                const real_t q_tmp_0_0 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q];
+                const real_t q_tmp_0_1 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 1];
+                const real_t q_tmp_0_2 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 2];
+                const real_t q_tmp_0_3 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 3];
+                const real_t q_tmp_0_4 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 4];
+                const real_t q_tmp_0_5 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 5];
+                const real_t q_tmp_0_6 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 6];
+                const real_t q_tmp_0_7 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 7];
+                const real_t q_tmp_0_8 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 8];
+                const real_t q_tmp_0_9 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 9];
+                const real_t q_tmp_1_0 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 10];
+                const real_t q_tmp_1_1 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 11];
+                const real_t q_tmp_1_2 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 12];
+                const real_t q_tmp_1_3 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 13];
+                const real_t q_tmp_1_4 = tmp_qloop_57;
+                const real_t q_tmp_1_5 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 15];
+                const real_t q_tmp_1_6 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 16];
+                const real_t q_tmp_1_7 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 17];
+                const real_t q_tmp_1_8 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 18];
+                const real_t q_tmp_1_9 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 19];
+                const real_t q_tmp_2_0 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 20];
+                const real_t q_tmp_2_1 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 21];
+                const real_t q_tmp_2_2 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 22];
+                const real_t q_tmp_2_3 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 23];
+                const real_t q_tmp_2_4 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 24];
+                const real_t q_tmp_2_5 = tmp_qloop_57;
+                const real_t q_tmp_2_6 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 25];
+                const real_t q_tmp_2_7 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 26];
+                const real_t q_tmp_2_8 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 27];
+                const real_t q_tmp_2_9 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 28];
+                const real_t q_tmp_3_0 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 29];
+                const real_t q_tmp_3_1 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 30];
+                const real_t q_tmp_3_2 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 31];
+                const real_t q_tmp_3_3 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 32];
+                const real_t q_tmp_3_4 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 33];
+                const real_t q_tmp_3_5 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 34];
+                const real_t q_tmp_3_6 = tmp_qloop_57;
+                const real_t q_tmp_3_7 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 35];
+                const real_t q_tmp_3_8 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 36];
+                const real_t q_tmp_3_9 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 37];
+                q_acc_0_0 = q_acc_0_0 + q_tmp_0_0;
+                q_acc_0_1 = q_acc_0_1 + q_tmp_0_1;
+                q_acc_0_2 = q_acc_0_2 + q_tmp_0_2;
+                q_acc_0_3 = q_acc_0_3 + q_tmp_0_3;
+                q_acc_0_4 = q_acc_0_4 + q_tmp_0_4;
+                q_acc_0_5 = q_acc_0_5 + q_tmp_0_5;
+                q_acc_0_6 = q_acc_0_6 + q_tmp_0_6;
+                q_acc_0_7 = q_acc_0_7 + q_tmp_0_7;
+                q_acc_0_8 = q_acc_0_8 + q_tmp_0_8;
+                q_acc_0_9 = q_acc_0_9 + q_tmp_0_9;
+                q_acc_1_0 = q_acc_1_0 + q_tmp_1_0;
+                q_acc_1_1 = q_acc_1_1 + q_tmp_1_1;
+                q_acc_1_2 = q_acc_1_2 + q_tmp_1_2;
+                q_acc_1_3 = q_acc_1_3 + q_tmp_1_3;
+                q_acc_1_4 = q_acc_1_4 + q_tmp_1_4;
+                q_acc_1_5 = q_acc_1_5 + q_tmp_1_5;
+                q_acc_1_6 = q_acc_1_6 + q_tmp_1_6;
+                q_acc_1_7 = q_acc_1_7 + q_tmp_1_7;
+                q_acc_1_8 = q_acc_1_8 + q_tmp_1_8;
+                q_acc_1_9 = q_acc_1_9 + q_tmp_1_9;
+                q_acc_2_0 = q_acc_2_0 + q_tmp_2_0;
+                q_acc_2_1 = q_acc_2_1 + q_tmp_2_1;
+                q_acc_2_2 = q_acc_2_2 + q_tmp_2_2;
+                q_acc_2_3 = q_acc_2_3 + q_tmp_2_3;
+                q_acc_2_4 = q_acc_2_4 + q_tmp_2_4;
+                q_acc_2_5 = q_acc_2_5 + q_tmp_2_5;
+                q_acc_2_6 = q_acc_2_6 + q_tmp_2_6;
+                q_acc_2_7 = q_acc_2_7 + q_tmp_2_7;
+                q_acc_2_8 = q_acc_2_8 + q_tmp_2_8;
+                q_acc_2_9 = q_acc_2_9 + q_tmp_2_9;
+                q_acc_3_0 = q_acc_3_0 + q_tmp_3_0;
+                q_acc_3_1 = q_acc_3_1 + q_tmp_3_1;
+                q_acc_3_2 = q_acc_3_2 + q_tmp_3_2;
+                q_acc_3_3 = q_acc_3_3 + q_tmp_3_3;
+                q_acc_3_4 = q_acc_3_4 + q_tmp_3_4;
+                q_acc_3_5 = q_acc_3_5 + q_tmp_3_5;
+                q_acc_3_6 = q_acc_3_6 + q_tmp_3_6;
+                q_acc_3_7 = q_acc_3_7 + q_tmp_3_7;
+                q_acc_3_8 = q_acc_3_8 + q_tmp_3_8;
+                q_acc_3_9 = q_acc_3_9 + q_tmp_3_9;
+             }
+             const real_t elMatVec_0 = q_acc_0_0*src_dof_0 + q_acc_0_1*src_dof_1 + q_acc_0_2*src_dof_2 + q_acc_0_3*src_dof_3 + q_acc_0_4*src_dof_4 + q_acc_0_5*src_dof_5 + q_acc_0_6*src_dof_6 + q_acc_0_7*src_dof_7 + q_acc_0_8*src_dof_8 + q_acc_0_9*src_dof_9;
+             const real_t elMatVec_1 = q_acc_1_0*src_dof_0 + q_acc_1_1*src_dof_1 + q_acc_1_2*src_dof_2 + q_acc_1_3*src_dof_3 + q_acc_1_4*src_dof_4 + q_acc_1_5*src_dof_5 + q_acc_1_6*src_dof_6 + q_acc_1_7*src_dof_7 + q_acc_1_8*src_dof_8 + q_acc_1_9*src_dof_9;
+             const real_t elMatVec_2 = q_acc_2_0*src_dof_0 + q_acc_2_1*src_dof_1 + q_acc_2_2*src_dof_2 + q_acc_2_3*src_dof_3 + q_acc_2_4*src_dof_4 + q_acc_2_5*src_dof_5 + q_acc_2_6*src_dof_6 + q_acc_2_7*src_dof_7 + q_acc_2_8*src_dof_8 + q_acc_2_9*src_dof_9;
+             const real_t elMatVec_3 = q_acc_3_0*src_dof_0 + q_acc_3_1*src_dof_1 + q_acc_3_2*src_dof_2 + q_acc_3_3*src_dof_3 + q_acc_3_4*src_dof_4 + q_acc_3_5*src_dof_5 + q_acc_3_6*src_dof_6 + q_acc_3_7*src_dof_7 + q_acc_3_8*src_dof_8 + q_acc_3_9*src_dof_9;
+             _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))] = elMatVec_0 + _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))];
+             _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1] = elMatVec_1 + _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1];
+             _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))] = elMatVec_2 + _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))];
+             _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))] = elMatVec_3 + _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))];
+          }
+       }
+       const real_t tmp_coords_jac_0_WHITE_DOWN = 1.0 / (micro_edges_per_macro_edge_float)*1.0;
+       const real_t tmp_coords_jac_1_WHITE_DOWN = tmp_coords_jac_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0);
+       const real_t tmp_coords_jac_2_WHITE_DOWN = macro_vertex_coord_id_0comp0 + tmp_coords_jac_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0);
+       const real_t tmp_coords_jac_3_WHITE_DOWN = tmp_coords_jac_1_WHITE_DOWN + tmp_coords_jac_2_WHITE_DOWN;
+       const real_t tmp_coords_jac_4_WHITE_DOWN = tmp_coords_jac_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1);
+       const real_t tmp_coords_jac_5_WHITE_DOWN = macro_vertex_coord_id_0comp1 + tmp_coords_jac_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1);
+       const real_t tmp_coords_jac_6_WHITE_DOWN = tmp_coords_jac_4_WHITE_DOWN + tmp_coords_jac_5_WHITE_DOWN;
+       const real_t tmp_coords_jac_7_WHITE_DOWN = tmp_coords_jac_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2);
+       const real_t tmp_coords_jac_8_WHITE_DOWN = macro_vertex_coord_id_0comp2 + tmp_coords_jac_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2);
+       const real_t tmp_coords_jac_9_WHITE_DOWN = tmp_coords_jac_7_WHITE_DOWN + tmp_coords_jac_8_WHITE_DOWN;
+       const real_t tmp_coords_jac_10_WHITE_DOWN = tmp_coords_jac_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0);
+       const real_t tmp_coords_jac_11_WHITE_DOWN = tmp_coords_jac_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1);
+       const real_t tmp_coords_jac_12_WHITE_DOWN = tmp_coords_jac_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2);
+       const real_t p_affine_const_0_0_WHITE_DOWN = tmp_coords_jac_3_WHITE_DOWN;
+       const real_t p_affine_const_0_1_WHITE_DOWN = tmp_coords_jac_6_WHITE_DOWN;
+       const real_t p_affine_const_0_2_WHITE_DOWN = tmp_coords_jac_9_WHITE_DOWN;
+       const real_t p_affine_const_1_0_WHITE_DOWN = tmp_coords_jac_10_WHITE_DOWN + tmp_coords_jac_2_WHITE_DOWN;
+       const real_t p_affine_const_1_1_WHITE_DOWN = tmp_coords_jac_11_WHITE_DOWN + tmp_coords_jac_5_WHITE_DOWN;
+       const real_t p_affine_const_1_2_WHITE_DOWN = tmp_coords_jac_12_WHITE_DOWN + tmp_coords_jac_8_WHITE_DOWN;
+       const real_t p_affine_const_2_0_WHITE_DOWN = macro_vertex_coord_id_0comp0 + tmp_coords_jac_10_WHITE_DOWN + tmp_coords_jac_1_WHITE_DOWN;
+       const real_t p_affine_const_2_1_WHITE_DOWN = macro_vertex_coord_id_0comp1 + tmp_coords_jac_11_WHITE_DOWN + tmp_coords_jac_4_WHITE_DOWN;
+       const real_t p_affine_const_2_2_WHITE_DOWN = macro_vertex_coord_id_0comp2 + tmp_coords_jac_12_WHITE_DOWN + tmp_coords_jac_7_WHITE_DOWN;
+       const real_t p_affine_const_3_0_WHITE_DOWN = tmp_coords_jac_10_WHITE_DOWN + tmp_coords_jac_3_WHITE_DOWN;
+       const real_t p_affine_const_3_1_WHITE_DOWN = tmp_coords_jac_11_WHITE_DOWN + tmp_coords_jac_6_WHITE_DOWN;
+       const real_t p_affine_const_3_2_WHITE_DOWN = tmp_coords_jac_12_WHITE_DOWN + tmp_coords_jac_9_WHITE_DOWN;
+       const real_t jac_affine_0_0_WHITE_DOWN = -p_affine_const_0_0_WHITE_DOWN + p_affine_const_1_0_WHITE_DOWN;
+       const real_t jac_affine_0_1_WHITE_DOWN = -p_affine_const_0_0_WHITE_DOWN + p_affine_const_2_0_WHITE_DOWN;
+       const real_t jac_affine_0_2_WHITE_DOWN = -p_affine_const_0_0_WHITE_DOWN + p_affine_const_3_0_WHITE_DOWN;
+       const real_t jac_affine_1_0_WHITE_DOWN = -p_affine_const_0_1_WHITE_DOWN + p_affine_const_1_1_WHITE_DOWN;
+       const real_t jac_affine_1_1_WHITE_DOWN = -p_affine_const_0_1_WHITE_DOWN + p_affine_const_2_1_WHITE_DOWN;
+       const real_t jac_affine_1_2_WHITE_DOWN = -p_affine_const_0_1_WHITE_DOWN + p_affine_const_3_1_WHITE_DOWN;
+       const real_t jac_affine_2_0_WHITE_DOWN = -p_affine_const_0_2_WHITE_DOWN + p_affine_const_1_2_WHITE_DOWN;
+       const real_t jac_affine_2_1_WHITE_DOWN = -p_affine_const_0_2_WHITE_DOWN + p_affine_const_2_2_WHITE_DOWN;
+       const real_t jac_affine_2_2_WHITE_DOWN = -p_affine_const_0_2_WHITE_DOWN + p_affine_const_3_2_WHITE_DOWN;
+       const real_t abs_det_jac_affine_WHITE_DOWN = abs(jac_affine_0_0_WHITE_DOWN*jac_affine_1_1_WHITE_DOWN*jac_affine_2_2_WHITE_DOWN - jac_affine_0_0_WHITE_DOWN*jac_affine_1_2_WHITE_DOWN*jac_affine_2_1_WHITE_DOWN - jac_affine_0_1_WHITE_DOWN*jac_affine_1_0_WHITE_DOWN*jac_affine_2_2_WHITE_DOWN + jac_affine_0_1_WHITE_DOWN*jac_affine_1_2_WHITE_DOWN*jac_affine_2_0_WHITE_DOWN + jac_affine_0_2_WHITE_DOWN*jac_affine_1_0_WHITE_DOWN*jac_affine_2_1_WHITE_DOWN - jac_affine_0_2_WHITE_DOWN*jac_affine_1_1_WHITE_DOWN*jac_affine_2_0_WHITE_DOWN);
+       {
+          /* CellType.WHITE_DOWN */
+          const real_t _data_phi_psi_jac_affine_det_0_0_WHITE_DOWN [] = {((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.010749089276961213)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0013747922567553051)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.01396287204173041)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.008164600589399525)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.012151214443257608)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.019083835042434261)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.072053489056043002)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0046416810200408439)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.017525267423213611)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.027523941260433657)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.044193869792483409)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0056523290877285)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0574070354280087)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.033567987580949914)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.049958575567593019)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.078461393265588306)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.29624114484395714)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.019083835042434251)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.072053489056042974)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.11316209633188964)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.02813947970791995)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0035989968838093011)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.036552673846023863)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.021373681684931475)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.031810029988819218)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.18862506775555832)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.012151214443257601)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.045878482755592566)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.07205348905604296)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0074529241534464254)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.00095321772406372263)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0096812133204938391)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0056609585582659784)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0084250932599439499)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.013231853551815916)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0032183281481346165)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.012151214443257603)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.019083835042434251)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-2.9012262911449775e-5)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.00014612615736184792)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.00047804109319682082)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0032416491456343029)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0021116678219306132)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.00052791366753715454)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*7.0977528354966774e-5)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*9.9895812682163066e-5)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*1.3430904167093961e-5)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*3.3577051293550935e-6)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.00015331944058422371)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.00077222451657154147)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0025262763269762738)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.017130957178208683)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.011159409734644826)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0027898350580443485)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.00037509087018302439)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.00052791366753715541)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*7.0977528354966354e-5)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*1.7744271574084403e-5)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.00061328158194601311)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0030889173045236238)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.010105168244399365)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.068524255492113287)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.044637916950180538)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0015003728252777238)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0021116678219306167)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.000283911881665389)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*7.0977528354965283e-5)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0045614398903685138)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.022974618879299673)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.075159794270401023)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.50966681808331993)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.33200601647520916)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.083000987173061064)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.015706073884687172)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0021116678219306002)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.00052791366753714337)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.02118185416019976)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.040792474062018545)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.049791196691139579)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.035867609546541376)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.059688031245203839)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.021562946853404222)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.071405876738584673)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.080243884747120436)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.26572828761452333)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.095997217930328324)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.005691937733975882)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.010961657115556597)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.013379772569609637)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.009638259175114022)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.016039226535213912)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0057943440608341223)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.019188018251946451)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.021562946853404225)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0714058767385847)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.025796145274243024)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.015755757300754607)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.03034277906728966)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.037036323866953338)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.026679503441931235)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.044397913749511943)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.053114031247306501)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.059688031245203839)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.19765740883375349)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0714058767385847)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0047578795027626341)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0091628275191950465)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.011184125448277639)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0080566017962316674)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.013407157762204741)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0048434807489961713)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.018024424659562992)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.059688031245203853)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.021562946853404232)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.00015688175714697789)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0014950153325289843)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0012666972383742025)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0015490159490981592)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0062931924029516256)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0020445450956193246)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0056480276621754888)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.00013641635559728395)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.00037684830314454006)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0001224312400849633)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.002351271046368435)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.022406596720860313)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.018984670973016902)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.023215932927530856)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.094319450236798913)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.030642694050274453)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.084650020197820364)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0020445450956193168)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0056480276621755114)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0018349426677638542)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0072373072709378001)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.068968409922504109)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.058435584226493004)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.071459579463428277)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.29031907828914638)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.26055618198886238)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0062931924029516022)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.017384857321768536)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0056480276621755391)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0026198528001873307)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.024966064738678271)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.021153258143552994)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.025867850064795264)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.10509340307518385)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.034142957672569287)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0022780900577755898)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0062931924029516507)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0020445450956193428)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0016747236096797923)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.022395383667253931)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0010823709889014185)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0036990864559166563)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.00050834301173610229)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.015588264867481133)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0037476086033569342)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.00081420248681843786)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.00019574418772167287)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0060024671806827717)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.032063320402672957)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.42876947450525699)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.020722468836717273)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.070820637834037012)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.009732450635762396)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.29844418988237825)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.071749615697017544)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.015588264867481126)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0037476086033569277)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.1149198753205366)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0010456048186450997)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.013982439217157605)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.00067577259615595462)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0023095050434207478)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.00031738126788423253)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0023397995892677865)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.00050834301173610208)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.00012221184720903605)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0037476086033569355)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0043492174836919605)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.058160280082415236)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0028108917803285017)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0096064397699850354)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0013201547416997409)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.040482354049473784)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0021144645423690485)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.00050834301173610142)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.015588264867481138)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0068956855714663416)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.010091290281029655)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0080216243244021178)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0035198334831929206)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.018978279386089755)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.056811998632973766)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.01396686284573566)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.015485631440181358)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0038070424489360009)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.01139648574059631)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.025298140458325055)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.037021827096001436)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.029428861968758362)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.012913181862031289)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.069625445155635055)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.20842567519062763)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.051240105769272605)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.056811998632973738)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.013966862845735664)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.041810186095187066)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0084509467915105906)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.012367292031926986)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0098308311254096271)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0043137009617327136)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.023258663351751644)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.017116965895609845)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.018978279386089748)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0046656873831529451)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.01396686284573564)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.034375305526338835)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.050305540032273111)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.039988161309129681)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.017546529657219402)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.094607584046545581)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.28321039153111127)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.077196575526473174)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.018978279386089758)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.056811998632973676)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.036989007988906066)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.024350339729610097)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.022721604194642659)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0020718315986862396)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.053354679030800815)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.058170268354931241)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0093518161026560475)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.22863973450271471)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.036757553494219546)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.040075149727639509)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0094107024991835538)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0061951865002202629)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.005780805406949952)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.00052711310369534133)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.013574438423676774)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.014799615333023134)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0023792787088414437)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.058170268354931248)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.009351816102656051)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.010195875266786407)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0086316433720857837)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0056823218562164577)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0053022450428696702)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.00048347637471763576)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.012450687019346486)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0021823116073744556)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.053354679030800829)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0085776318491057792)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0093518161026560475)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.053690642094179834)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.035345240285608669)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.032981082352521167)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0030073250106582576)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.077445898974953548)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.084435869696849797)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.3318773554937019)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.053354679030800836)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.058170268354931241)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.2830869924348563)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.050308558644386672)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.041516821634179475)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.06274193203760102)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.020160825588817252)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.025383152182066201)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.015152528090816651)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.23919668259056145)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.14278898169094956)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.17977609281010931)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.030040718507945225)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0053386601615906274)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0044056957238823311)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0066580689659201985)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.002139433116273644)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0026936176861649991)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0016079609562587173)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.025383152182066195)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.015152528090816651)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.019077538505445499)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.023860144794362503)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0042402848796628178)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0034992684300787832)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0052882386796338152)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0016992664113091131)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0012771392678196903)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.020160825588817249)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.012035048833865587)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.01515252809081665)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.039969943152159265)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0071032236832497221)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0058618906729116316)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0088587307923610938)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0028465703978647464)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0035839271208240476)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.033772932211040815)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.020160825588817245)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.025383152182066191)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.014935575584147695)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.007791142568055953)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0073254854313094774)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.015186461110532538)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.090150328303510344)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.012455650259246793)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.015731589118882311)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.029517331411893867)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.037280633286332542)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0051508911658584714)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0063024771210085937)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0032876870064389215)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0030911901634452068)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0064083451728372039)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.038041411821271319)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0052560043865672946)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0066383769370158769)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.012455650259246798)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.015731589118882314)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0021735602717637636)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.045615473279886819)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.023795310306631609)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.022373124026687209)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.046381715060167777)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.27533253531028662)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.048046617223388682)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.090150328303510385)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.11386060898348732)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.015731589118882311)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.036116528170846006)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.018840185867421855)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.017714155002223078)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.036723208116341576)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.21799741519439725)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.030119685775736597)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.07137746553252089)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.090150328303510371)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.012455650259246793)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.032896921427909828)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.020934012679446525)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.020127575524041673)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.033499901528319088)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0098838942808698073)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.075244795478138254)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.040011251730840761)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.067458477890573201)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.035870894765649017)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.27308043404340754)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.036694010925042916)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.023350297128803515)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.022450777887903339)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.037366589313281677)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.011024731463671476)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.083929839859876898)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.044629504659074608)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.075244795478138254)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.040011251730840761)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.30460043053460045)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0048199974818136015)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0030672137093527801)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0029490559946009505)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0049083450365209726)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0014481703295155801)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.005862376301973493)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0098838942808698056)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0052557386811928905)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.040011251730840761)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.009064443351184925)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.005768174157623188)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0055459678357496689)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.009230588957667556)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0027234159279729726)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.020733009548559916)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.018587561536304909)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0098838942808698056)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.075244795478138254)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.012773605317404142)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0093099638314587951)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.055932196812816262)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0011391519589580709)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0035913578872906952)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.00039530708258920854)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.034759025419540214)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.00061078662356131824)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.053705963564394235)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0059115099192464755)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0082672024196058687)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0060254997396084128)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.036199865373541695)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.00073727030054430856)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0023243619853375876)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.00025584661404999347)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.022496381554864123)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.00039530708258920833)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.034759025419540221)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0038259870955407193)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.075107388466231287)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.054741559075980606)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.32887513974352289)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.006698087703317224)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.02111678772433076)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.20437923045390871)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0035913578872906935)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.31578513412249021)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.034759025419540214)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.00085418052598187596)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.00062256423341908954)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0037402277670030831)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-7.6175942132039452e-5)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.00024015678369014598)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*2.6434479799555231e-5)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*4.0843757608938361e-5)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0035913578872906957)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.00039530708258920849))};
+      
+          for (int64_t ctr_2 = 0; ctr_2 < micro_edges_per_macro_edge; ctr_2 += 1)
+          for (int64_t ctr_1 = 0; ctr_1 < -ctr_2 + micro_edges_per_macro_edge; ctr_1 += 1)
+          for (int64_t ctr_0 = 0; ctr_0 < -ctr_1 - ctr_2 + micro_edges_per_macro_edge - 2; ctr_0 += 1)
+          {
+         
+             const int64_t phantom_ctr_0 = ctr_0;
+             real_t _data_float_loop_ctr_array_dim_0[4];
+             _data_float_loop_ctr_array_dim_0[0] = (real_t) ctr_0+ 0;
+             _data_float_loop_ctr_array_dim_0[1] = (real_t) ctr_0+ 1;
+             _data_float_loop_ctr_array_dim_0[2] = (real_t) ctr_0+ 2;
+             _data_float_loop_ctr_array_dim_0[3] = (real_t) ctr_0+ 3;
+             real_t _data_float_loop_ctr_array_dim_1[4];
+             _data_float_loop_ctr_array_dim_1[0] = (real_t) ctr_1;
+             _data_float_loop_ctr_array_dim_1[1] = (real_t) ctr_1;
+             _data_float_loop_ctr_array_dim_1[2] = (real_t) ctr_1;
+             _data_float_loop_ctr_array_dim_1[3] = (real_t) ctr_1;
+             real_t _data_float_loop_ctr_array_dim_2[4];
+             _data_float_loop_ctr_array_dim_2[0] = (real_t) ctr_2;
+             _data_float_loop_ctr_array_dim_2[1] = (real_t) ctr_2;
+             _data_float_loop_ctr_array_dim_2[2] = (real_t) ctr_2;
+             _data_float_loop_ctr_array_dim_2[3] = (real_t) ctr_2;
+         
+             const real_t p_affine_0_0 = macro_vertex_coord_id_0comp0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0)*(1.0 + _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0)*(1.0 + _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0)*1.0*_data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0];
+             const real_t p_affine_0_1 = macro_vertex_coord_id_0comp1 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1)*(1.0 + _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1)*(1.0 + _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1)*1.0*_data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0];
+             const real_t p_affine_0_2 = macro_vertex_coord_id_0comp2 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2)*(1.0 + _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2)*(1.0 + _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2)*1.0*_data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0];
+             const real_t p_affine_1_0 = macro_vertex_coord_id_0comp0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0)*(1.0 + _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0)*1.0*_data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0)*(1.0 + _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0])*1.0;
+             const real_t p_affine_1_1 = macro_vertex_coord_id_0comp1 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1)*(1.0 + _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1)*1.0*_data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1)*(1.0 + _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0])*1.0;
+             const real_t p_affine_1_2 = macro_vertex_coord_id_0comp2 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2)*(1.0 + _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2)*1.0*_data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2)*(1.0 + _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0])*1.0;
+             const real_t p_affine_2_0 = macro_vertex_coord_id_0comp0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0)*1.0*_data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0)*(1.0 + _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0)*(1.0 + _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0])*1.0;
+             const real_t p_affine_2_1 = macro_vertex_coord_id_0comp1 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1)*1.0*_data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1)*(1.0 + _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1)*(1.0 + _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0])*1.0;
+             const real_t p_affine_2_2 = macro_vertex_coord_id_0comp2 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2)*1.0*_data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2)*(1.0 + _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2)*(1.0 + _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0])*1.0;
+             const real_t p_affine_3_0 = macro_vertex_coord_id_0comp0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0)*(1.0 + _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0)*(1.0 + _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0)*(1.0 + _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0])*1.0;
+             const real_t p_affine_3_1 = macro_vertex_coord_id_0comp1 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1)*(1.0 + _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1)*(1.0 + _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1)*(1.0 + _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0])*1.0;
+             const real_t p_affine_3_2 = macro_vertex_coord_id_0comp2 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2)*(1.0 + _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2)*(1.0 + _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2)*(1.0 + _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0])*1.0;
+             const real_t src_dof_0 = _data_srcVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1];
+             const real_t src_dof_1 = _data_srcVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1];
+             const real_t src_dof_2 = _data_srcVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))];
+             const real_t src_dof_3 = _data_srcVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1];
+             const real_t src_dof_4 = _data_srcEdge[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))];
+             const real_t src_dof_5 = _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + 2*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6)) + 1];
+             const real_t src_dof_6 = _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))];
+             const real_t src_dof_7 = _data_srcEdge[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1];
+             const real_t src_dof_8 = _data_srcEdge[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 5*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))];
+             const real_t src_dof_9 = _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1];
+             const real_t k_dof_0 = _data_kVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1];
+             const real_t k_dof_1 = _data_kVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1];
+             const real_t k_dof_2 = _data_kVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))];
+             const real_t k_dof_3 = _data_kVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1];
+             const real_t k_dof_4 = _data_kEdge[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))];
+             const real_t k_dof_5 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + 2*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6)) + 1];
+             const real_t k_dof_6 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))];
+             const real_t k_dof_7 = _data_kEdge[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1];
+             const real_t k_dof_8 = _data_kEdge[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 5*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))];
+             const real_t k_dof_9 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1];
+             real_t q_acc_0_0 = 0.0;
+             real_t q_acc_0_1 = 0.0;
+             real_t q_acc_0_2 = 0.0;
+             real_t q_acc_0_3 = 0.0;
+             real_t q_acc_0_4 = 0.0;
+             real_t q_acc_0_5 = 0.0;
+             real_t q_acc_0_6 = 0.0;
+             real_t q_acc_0_7 = 0.0;
+             real_t q_acc_0_8 = 0.0;
+             real_t q_acc_0_9 = 0.0;
+             real_t q_acc_1_0 = 0.0;
+             real_t q_acc_1_1 = 0.0;
+             real_t q_acc_1_2 = 0.0;
+             real_t q_acc_1_3 = 0.0;
+             real_t q_acc_1_4 = 0.0;
+             real_t q_acc_1_5 = 0.0;
+             real_t q_acc_1_6 = 0.0;
+             real_t q_acc_1_7 = 0.0;
+             real_t q_acc_1_8 = 0.0;
+             real_t q_acc_1_9 = 0.0;
+             real_t q_acc_2_0 = 0.0;
+             real_t q_acc_2_1 = 0.0;
+             real_t q_acc_2_2 = 0.0;
+             real_t q_acc_2_3 = 0.0;
+             real_t q_acc_2_4 = 0.0;
+             real_t q_acc_2_5 = 0.0;
+             real_t q_acc_2_6 = 0.0;
+             real_t q_acc_2_7 = 0.0;
+             real_t q_acc_2_8 = 0.0;
+             real_t q_acc_2_9 = 0.0;
+             real_t q_acc_3_0 = 0.0;
+             real_t q_acc_3_1 = 0.0;
+             real_t q_acc_3_2 = 0.0;
+             real_t q_acc_3_3 = 0.0;
+             real_t q_acc_3_4 = 0.0;
+             real_t q_acc_3_5 = 0.0;
+             real_t q_acc_3_6 = 0.0;
+             real_t q_acc_3_7 = 0.0;
+             real_t q_acc_3_8 = 0.0;
+             real_t q_acc_3_9 = 0.0;
+             for (int64_t q = 0; q < 11; q += 1)
+             {
+                const real_t tmp_qloop_0 = 4.0*_data_q_p_0[q];
+                const real_t tmp_qloop_1 = tmp_qloop_0*_data_q_p_1[q];
+                const real_t tmp_qloop_2 = tmp_qloop_0*_data_q_p_2[q];
+                const real_t tmp_qloop_3 = 4.0*_data_q_p_1[q]*_data_q_p_2[q];
+                const real_t tmp_qloop_4 = (_data_q_p_0[q]*_data_q_p_0[q]);
+                const real_t tmp_qloop_5 = tmp_qloop_4*2.0;
+                const real_t tmp_qloop_6 = (_data_q_p_1[q]*_data_q_p_1[q]);
+                const real_t tmp_qloop_7 = tmp_qloop_6*2.0;
+                const real_t tmp_qloop_8 = (_data_q_p_2[q]*_data_q_p_2[q]);
+                const real_t tmp_qloop_9 = tmp_qloop_8*2.0;
+                const real_t tmp_qloop_10 = tmp_qloop_1 + tmp_qloop_2;
+                const real_t tmp_qloop_11 = p_affine_0_0 + (-p_affine_0_0 + p_affine_1_0)*_data_q_p_0[q] + (-p_affine_0_0 + p_affine_2_0)*_data_q_p_1[q] + (-p_affine_0_0 + p_affine_3_0)*_data_q_p_2[q];
+                const real_t tmp_qloop_12 = p_affine_0_1 + (-p_affine_0_1 + p_affine_1_1)*_data_q_p_0[q] + (-p_affine_0_1 + p_affine_2_1)*_data_q_p_1[q] + (-p_affine_0_1 + p_affine_3_1)*_data_q_p_2[q];
+                const real_t tmp_qloop_13 = p_affine_0_2 + (-p_affine_0_2 + p_affine_1_2)*_data_q_p_0[q] + (-p_affine_0_2 + p_affine_2_2)*_data_q_p_1[q] + (-p_affine_0_2 + p_affine_3_2)*_data_q_p_2[q];
+                const real_t tmp_qloop_14 = (tmp_qloop_11*tmp_qloop_11);
+                const real_t tmp_qloop_15 = (tmp_qloop_12*tmp_qloop_12);
+                const real_t tmp_qloop_16 = (tmp_qloop_13*tmp_qloop_13);
+                const real_t tmp_qloop_17 = tmp_qloop_14 + tmp_qloop_15 + tmp_qloop_16;
+                const real_t tmp_qloop_18 = pow(tmp_qloop_17, -4.5000000000000000);
+                const real_t tmp_qloop_39 = -tmp_qloop_13 - tmp_qloop_31;
+                const real_t tmp_qloop_40 = -tmp_qloop_11 - tmp_qloop_20;
+                const real_t tmp_qloop_41 = -tmp_qloop_12 - tmp_qloop_27;
+                const real_t tmp_qloop_42 = radRayVertex*tmp_qloop_35 - tmp_qloop_37*(tmp_qloop_21*tmp_qloop_22*tmp_qloop_41 + tmp_qloop_25*tmp_qloop_32*tmp_qloop_40 - tmp_qloop_26*tmp_qloop_39 + tmp_qloop_28*tmp_qloop_29*tmp_qloop_39 - tmp_qloop_33*tmp_qloop_40 - tmp_qloop_34*tmp_qloop_41);
+                const real_t tmp_qloop_43 = -tmp_qloop_42;
+                const real_t tmp_qloop_44 = tmp_qloop_13*tmp_qloop_43 + tmp_qloop_17*tmp_qloop_38;
+                const real_t tmp_qloop_46 = tmp_qloop_11*tmp_qloop_43 + tmp_qloop_17*tmp_qloop_45;
+                const real_t tmp_qloop_48 = -tmp_qloop_12*tmp_qloop_42 - tmp_qloop_17*tmp_qloop_37*tmp_qloop_47;
+                const real_t tmp_qloop_49 = tmp_qloop_15*tmp_qloop_43 + tmp_qloop_17*(-tmp_qloop_12*tmp_qloop_37*tmp_qloop_47 + tmp_qloop_42);
+                const real_t tmp_qloop_50 = tmp_qloop_18*tmp_qloop_36;
+                const real_t tmp_qloop_51 = tmp_qloop_11*tmp_qloop_46;
+                const real_t tmp_qloop_52 = tmp_qloop_13*tmp_qloop_44;
+                const real_t tmp_qloop_53 = tmp_qloop_16*tmp_qloop_43 + tmp_qloop_17*(tmp_qloop_13*tmp_qloop_38 + tmp_qloop_42);
+                const real_t tmp_qloop_54 = tmp_qloop_12*tmp_qloop_48*tmp_qloop_50*1.0;
+                const real_t tmp_qloop_55 = -tmp_qloop_14*tmp_qloop_42 + tmp_qloop_17*(tmp_qloop_11*tmp_qloop_45 + tmp_qloop_42);
+                const real_t tmp_qloop_56 = (k_dof_0*(tmp_qloop_10 + tmp_qloop_3 + tmp_qloop_5 + tmp_qloop_7 + tmp_qloop_9 - 3.0*_data_q_p_0[q] - 3.0*_data_q_p_1[q] - 3.0*_data_q_p_2[q] + 1.0) + k_dof_1*(tmp_qloop_5 - _data_q_p_0[q]) + k_dof_2*(tmp_qloop_7 - _data_q_p_1[q]) + k_dof_3*(tmp_qloop_9 - _data_q_p_2[q]) + k_dof_4*tmp_qloop_3 + k_dof_5*tmp_qloop_2 + k_dof_6*tmp_qloop_1 + k_dof_7*(-tmp_qloop_2 - tmp_qloop_3 + tmp_qloop_8*-4.0 + 4.0*_data_q_p_2[q]) + k_dof_8*(-tmp_qloop_1 - tmp_qloop_3 + tmp_qloop_6*-4.0 + 4.0*_data_q_p_1[q]) + k_dof_9*(-tmp_qloop_10 + tmp_qloop_4*-4.0 + 4.0*_data_q_p_0[q]))*abs(tmp_qloop_11*tmp_qloop_12*tmp_qloop_13*tmp_qloop_18*tmp_qloop_36*tmp_qloop_44*tmp_qloop_46*tmp_qloop_48*-2.0 - tmp_qloop_18*tmp_qloop_36*tmp_qloop_49*tmp_qloop_53*tmp_qloop_55 + tmp_qloop_49*tmp_qloop_50*tmp_qloop_51*tmp_qloop_52*1.0 + tmp_qloop_51*tmp_qloop_53*tmp_qloop_54 + tmp_qloop_52*tmp_qloop_54*tmp_qloop_55)*_data_q_w[q];
+                const real_t tmp_qloop_57 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 14];
+                const real_t q_tmp_0_0 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q];
+                const real_t q_tmp_0_1 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 1];
+                const real_t q_tmp_0_2 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 2];
+                const real_t q_tmp_0_3 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 3];
+                const real_t q_tmp_0_4 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 4];
+                const real_t q_tmp_0_5 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 5];
+                const real_t q_tmp_0_6 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 6];
+                const real_t q_tmp_0_7 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 7];
+                const real_t q_tmp_0_8 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 8];
+                const real_t q_tmp_0_9 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 9];
+                const real_t q_tmp_1_0 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 10];
+                const real_t q_tmp_1_1 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 11];
+                const real_t q_tmp_1_2 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 12];
+                const real_t q_tmp_1_3 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 13];
+                const real_t q_tmp_1_4 = tmp_qloop_57;
+                const real_t q_tmp_1_5 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 15];
+                const real_t q_tmp_1_6 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 16];
+                const real_t q_tmp_1_7 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 17];
+                const real_t q_tmp_1_8 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 18];
+                const real_t q_tmp_1_9 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 19];
+                const real_t q_tmp_2_0 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 20];
+                const real_t q_tmp_2_1 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 21];
+                const real_t q_tmp_2_2 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 22];
+                const real_t q_tmp_2_3 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 23];
+                const real_t q_tmp_2_4 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 24];
+                const real_t q_tmp_2_5 = tmp_qloop_57;
+                const real_t q_tmp_2_6 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 25];
+                const real_t q_tmp_2_7 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 26];
+                const real_t q_tmp_2_8 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 27];
+                const real_t q_tmp_2_9 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 28];
+                const real_t q_tmp_3_0 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 29];
+                const real_t q_tmp_3_1 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 30];
+                const real_t q_tmp_3_2 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 31];
+                const real_t q_tmp_3_3 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 32];
+                const real_t q_tmp_3_4 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 33];
+                const real_t q_tmp_3_5 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 34];
+                const real_t q_tmp_3_6 = tmp_qloop_57;
+                const real_t q_tmp_3_7 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 35];
+                const real_t q_tmp_3_8 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 36];
+                const real_t q_tmp_3_9 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 37];
+                q_acc_0_0 = q_acc_0_0 + q_tmp_0_0;
+                q_acc_0_1 = q_acc_0_1 + q_tmp_0_1;
+                q_acc_0_2 = q_acc_0_2 + q_tmp_0_2;
+                q_acc_0_3 = q_acc_0_3 + q_tmp_0_3;
+                q_acc_0_4 = q_acc_0_4 + q_tmp_0_4;
+                q_acc_0_5 = q_acc_0_5 + q_tmp_0_5;
+                q_acc_0_6 = q_acc_0_6 + q_tmp_0_6;
+                q_acc_0_7 = q_acc_0_7 + q_tmp_0_7;
+                q_acc_0_8 = q_acc_0_8 + q_tmp_0_8;
+                q_acc_0_9 = q_acc_0_9 + q_tmp_0_9;
+                q_acc_1_0 = q_acc_1_0 + q_tmp_1_0;
+                q_acc_1_1 = q_acc_1_1 + q_tmp_1_1;
+                q_acc_1_2 = q_acc_1_2 + q_tmp_1_2;
+                q_acc_1_3 = q_acc_1_3 + q_tmp_1_3;
+                q_acc_1_4 = q_acc_1_4 + q_tmp_1_4;
+                q_acc_1_5 = q_acc_1_5 + q_tmp_1_5;
+                q_acc_1_6 = q_acc_1_6 + q_tmp_1_6;
+                q_acc_1_7 = q_acc_1_7 + q_tmp_1_7;
+                q_acc_1_8 = q_acc_1_8 + q_tmp_1_8;
+                q_acc_1_9 = q_acc_1_9 + q_tmp_1_9;
+                q_acc_2_0 = q_acc_2_0 + q_tmp_2_0;
+                q_acc_2_1 = q_acc_2_1 + q_tmp_2_1;
+                q_acc_2_2 = q_acc_2_2 + q_tmp_2_2;
+                q_acc_2_3 = q_acc_2_3 + q_tmp_2_3;
+                q_acc_2_4 = q_acc_2_4 + q_tmp_2_4;
+                q_acc_2_5 = q_acc_2_5 + q_tmp_2_5;
+                q_acc_2_6 = q_acc_2_6 + q_tmp_2_6;
+                q_acc_2_7 = q_acc_2_7 + q_tmp_2_7;
+                q_acc_2_8 = q_acc_2_8 + q_tmp_2_8;
+                q_acc_2_9 = q_acc_2_9 + q_tmp_2_9;
+                q_acc_3_0 = q_acc_3_0 + q_tmp_3_0;
+                q_acc_3_1 = q_acc_3_1 + q_tmp_3_1;
+                q_acc_3_2 = q_acc_3_2 + q_tmp_3_2;
+                q_acc_3_3 = q_acc_3_3 + q_tmp_3_3;
+                q_acc_3_4 = q_acc_3_4 + q_tmp_3_4;
+                q_acc_3_5 = q_acc_3_5 + q_tmp_3_5;
+                q_acc_3_6 = q_acc_3_6 + q_tmp_3_6;
+                q_acc_3_7 = q_acc_3_7 + q_tmp_3_7;
+                q_acc_3_8 = q_acc_3_8 + q_tmp_3_8;
+                q_acc_3_9 = q_acc_3_9 + q_tmp_3_9;
+             }
+             const real_t elMatVec_0 = q_acc_0_0*src_dof_0 + q_acc_0_1*src_dof_1 + q_acc_0_2*src_dof_2 + q_acc_0_3*src_dof_3 + q_acc_0_4*src_dof_4 + q_acc_0_5*src_dof_5 + q_acc_0_6*src_dof_6 + q_acc_0_7*src_dof_7 + q_acc_0_8*src_dof_8 + q_acc_0_9*src_dof_9;
+             const real_t elMatVec_1 = q_acc_1_0*src_dof_0 + q_acc_1_1*src_dof_1 + q_acc_1_2*src_dof_2 + q_acc_1_3*src_dof_3 + q_acc_1_4*src_dof_4 + q_acc_1_5*src_dof_5 + q_acc_1_6*src_dof_6 + q_acc_1_7*src_dof_7 + q_acc_1_8*src_dof_8 + q_acc_1_9*src_dof_9;
+             const real_t elMatVec_2 = q_acc_2_0*src_dof_0 + q_acc_2_1*src_dof_1 + q_acc_2_2*src_dof_2 + q_acc_2_3*src_dof_3 + q_acc_2_4*src_dof_4 + q_acc_2_5*src_dof_5 + q_acc_2_6*src_dof_6 + q_acc_2_7*src_dof_7 + q_acc_2_8*src_dof_8 + q_acc_2_9*src_dof_9;
+             const real_t elMatVec_3 = q_acc_3_0*src_dof_0 + q_acc_3_1*src_dof_1 + q_acc_3_2*src_dof_2 + q_acc_3_3*src_dof_3 + q_acc_3_4*src_dof_4 + q_acc_3_5*src_dof_5 + q_acc_3_6*src_dof_6 + q_acc_3_7*src_dof_7 + q_acc_3_8*src_dof_8 + q_acc_3_9*src_dof_9;
+             _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1] = elMatVec_0 + _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1];
+             _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1] = elMatVec_1 + _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1];
+             _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))] = elMatVec_2 + _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))];
+             _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1] = elMatVec_3 + _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1];
+          }
+       }
+       const real_t tmp_coords_jac_0_BLUE_UP = 1.0 / (micro_edges_per_macro_edge_float)*1.0;
+       const real_t tmp_coords_jac_1_BLUE_UP = macro_vertex_coord_id_0comp0 + tmp_coords_jac_0_BLUE_UP*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0);
+       const real_t tmp_coords_jac_2_BLUE_UP = macro_vertex_coord_id_0comp1 + tmp_coords_jac_0_BLUE_UP*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1);
+       const real_t tmp_coords_jac_3_BLUE_UP = macro_vertex_coord_id_0comp2 + tmp_coords_jac_0_BLUE_UP*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2);
+       const real_t tmp_coords_jac_4_BLUE_UP = tmp_coords_jac_0_BLUE_UP*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0);
+       const real_t tmp_coords_jac_5_BLUE_UP = tmp_coords_jac_0_BLUE_UP*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1);
+       const real_t tmp_coords_jac_6_BLUE_UP = tmp_coords_jac_0_BLUE_UP*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2);
+       const real_t p_affine_const_0_0_BLUE_UP = tmp_coords_jac_1_BLUE_UP;
+       const real_t p_affine_const_0_1_BLUE_UP = tmp_coords_jac_2_BLUE_UP;
+       const real_t p_affine_const_0_2_BLUE_UP = tmp_coords_jac_3_BLUE_UP;
+       const real_t p_affine_const_1_0_BLUE_UP = macro_vertex_coord_id_0comp0 + tmp_coords_jac_4_BLUE_UP;
+       const real_t p_affine_const_1_1_BLUE_UP = macro_vertex_coord_id_0comp1 + tmp_coords_jac_5_BLUE_UP;
+       const real_t p_affine_const_1_2_BLUE_UP = macro_vertex_coord_id_0comp2 + tmp_coords_jac_6_BLUE_UP;
+       const real_t p_affine_const_2_0_BLUE_UP = tmp_coords_jac_1_BLUE_UP + tmp_coords_jac_4_BLUE_UP;
+       const real_t p_affine_const_2_1_BLUE_UP = tmp_coords_jac_2_BLUE_UP + tmp_coords_jac_5_BLUE_UP;
+       const real_t p_affine_const_2_2_BLUE_UP = tmp_coords_jac_3_BLUE_UP + tmp_coords_jac_6_BLUE_UP;
+       const real_t p_affine_const_3_0_BLUE_UP = tmp_coords_jac_0_BLUE_UP*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0) + tmp_coords_jac_1_BLUE_UP;
+       const real_t p_affine_const_3_1_BLUE_UP = tmp_coords_jac_0_BLUE_UP*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1) + tmp_coords_jac_2_BLUE_UP;
+       const real_t p_affine_const_3_2_BLUE_UP = tmp_coords_jac_0_BLUE_UP*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2) + tmp_coords_jac_3_BLUE_UP;
+       const real_t jac_affine_0_0_BLUE_UP = -p_affine_const_0_0_BLUE_UP + p_affine_const_1_0_BLUE_UP;
+       const real_t jac_affine_0_1_BLUE_UP = -p_affine_const_0_0_BLUE_UP + p_affine_const_2_0_BLUE_UP;
+       const real_t jac_affine_0_2_BLUE_UP = -p_affine_const_0_0_BLUE_UP + p_affine_const_3_0_BLUE_UP;
+       const real_t jac_affine_1_0_BLUE_UP = -p_affine_const_0_1_BLUE_UP + p_affine_const_1_1_BLUE_UP;
+       const real_t jac_affine_1_1_BLUE_UP = -p_affine_const_0_1_BLUE_UP + p_affine_const_2_1_BLUE_UP;
+       const real_t jac_affine_1_2_BLUE_UP = -p_affine_const_0_1_BLUE_UP + p_affine_const_3_1_BLUE_UP;
+       const real_t jac_affine_2_0_BLUE_UP = -p_affine_const_0_2_BLUE_UP + p_affine_const_1_2_BLUE_UP;
+       const real_t jac_affine_2_1_BLUE_UP = -p_affine_const_0_2_BLUE_UP + p_affine_const_2_2_BLUE_UP;
+       const real_t jac_affine_2_2_BLUE_UP = -p_affine_const_0_2_BLUE_UP + p_affine_const_3_2_BLUE_UP;
+       const real_t abs_det_jac_affine_BLUE_UP = abs(jac_affine_0_0_BLUE_UP*jac_affine_1_1_BLUE_UP*jac_affine_2_2_BLUE_UP - jac_affine_0_0_BLUE_UP*jac_affine_1_2_BLUE_UP*jac_affine_2_1_BLUE_UP - jac_affine_0_1_BLUE_UP*jac_affine_1_0_BLUE_UP*jac_affine_2_2_BLUE_UP + jac_affine_0_1_BLUE_UP*jac_affine_1_2_BLUE_UP*jac_affine_2_0_BLUE_UP + jac_affine_0_2_BLUE_UP*jac_affine_1_0_BLUE_UP*jac_affine_2_1_BLUE_UP - jac_affine_0_2_BLUE_UP*jac_affine_1_1_BLUE_UP*jac_affine_2_0_BLUE_UP);
+       {
+          /* CellType.BLUE_UP */
+          const real_t _data_phi_psi_jac_affine_det_0_0_BLUE_UP [] = {((real_t)(abs_det_jac_affine_BLUE_UP*-0.010749089276961213)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0013747922567553051)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.01396287204173041)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.008164600589399525)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.012151214443257608)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.019083835042434261)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.072053489056043002)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0046416810200408439)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.017525267423213611)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.027523941260433657)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.044193869792483409)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0056523290877285)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0574070354280087)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.033567987580949914)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.049958575567593019)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.078461393265588306)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.29624114484395714)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.019083835042434251)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.072053489056042974)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.11316209633188964)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.02813947970791995)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0035989968838093011)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.036552673846023863)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.021373681684931475)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.031810029988819218)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.18862506775555832)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.012151214443257601)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.045878482755592566)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.07205348905604296)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0074529241534464254)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.00095321772406372263)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0096812133204938391)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0056609585582659784)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0084250932599439499)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.013231853551815916)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0032183281481346165)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.012151214443257603)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.019083835042434251)), ((real_t)(abs_det_jac_affine_BLUE_UP*-2.9012262911449775e-5)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.00014612615736184792)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.00047804109319682082)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0032416491456343029)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0021116678219306132)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.00052791366753715454)), ((real_t)(abs_det_jac_affine_BLUE_UP*7.0977528354966774e-5)), ((real_t)(abs_det_jac_affine_BLUE_UP*9.9895812682163066e-5)), ((real_t)(abs_det_jac_affine_BLUE_UP*1.3430904167093961e-5)), ((real_t)(abs_det_jac_affine_BLUE_UP*3.3577051293550935e-6)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.00015331944058422371)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.00077222451657154147)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0025262763269762738)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.017130957178208683)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.011159409734644826)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0027898350580443485)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.00037509087018302439)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.00052791366753715541)), ((real_t)(abs_det_jac_affine_BLUE_UP*7.0977528354966354e-5)), ((real_t)(abs_det_jac_affine_BLUE_UP*1.7744271574084403e-5)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.00061328158194601311)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0030889173045236238)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.010105168244399365)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.068524255492113287)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.044637916950180538)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0015003728252777238)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0021116678219306167)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.000283911881665389)), ((real_t)(abs_det_jac_affine_BLUE_UP*7.0977528354965283e-5)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0045614398903685138)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.022974618879299673)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.075159794270401023)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.50966681808331993)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.33200601647520916)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.083000987173061064)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.015706073884687172)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0021116678219306002)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.00052791366753714337)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.02118185416019976)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.040792474062018545)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.049791196691139579)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.035867609546541376)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.059688031245203839)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.021562946853404222)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.071405876738584673)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.080243884747120436)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.26572828761452333)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.095997217930328324)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.005691937733975882)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.010961657115556597)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.013379772569609637)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.009638259175114022)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.016039226535213912)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0057943440608341223)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.019188018251946451)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.021562946853404225)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0714058767385847)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.025796145274243024)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.015755757300754607)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.03034277906728966)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.037036323866953338)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.026679503441931235)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.044397913749511943)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.053114031247306501)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.059688031245203839)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.19765740883375349)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0714058767385847)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0047578795027626341)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0091628275191950465)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.011184125448277639)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0080566017962316674)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.013407157762204741)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0048434807489961713)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.018024424659562992)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.059688031245203853)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.021562946853404232)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.00015688175714697789)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0014950153325289843)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0012666972383742025)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0015490159490981592)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0062931924029516256)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0020445450956193246)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0056480276621754888)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.00013641635559728395)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.00037684830314454006)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0001224312400849633)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.002351271046368435)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.022406596720860313)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.018984670973016902)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.023215932927530856)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.094319450236798913)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.030642694050274453)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.084650020197820364)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0020445450956193168)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0056480276621755114)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0018349426677638542)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0072373072709378001)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.068968409922504109)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.058435584226493004)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.071459579463428277)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.29031907828914638)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.26055618198886238)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0062931924029516022)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.017384857321768536)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0056480276621755391)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0026198528001873307)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.024966064738678271)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.021153258143552994)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.025867850064795264)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.10509340307518385)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.034142957672569287)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0022780900577755898)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0062931924029516507)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0020445450956193428)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0016747236096797923)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.022395383667253931)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0010823709889014185)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0036990864559166563)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.00050834301173610229)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.015588264867481133)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0037476086033569342)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.00081420248681843786)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.00019574418772167287)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0060024671806827717)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.032063320402672957)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.42876947450525699)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.020722468836717273)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.070820637834037012)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.009732450635762396)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.29844418988237825)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.071749615697017544)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.015588264867481126)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0037476086033569277)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.1149198753205366)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0010456048186450997)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.013982439217157605)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.00067577259615595462)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0023095050434207478)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.00031738126788423253)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0023397995892677865)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.00050834301173610208)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.00012221184720903605)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0037476086033569355)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0043492174836919605)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.058160280082415236)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0028108917803285017)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0096064397699850354)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0013201547416997409)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.040482354049473784)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0021144645423690485)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.00050834301173610142)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.015588264867481138)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0068956855714663416)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.010091290281029655)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0080216243244021178)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0035198334831929206)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.018978279386089755)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.056811998632973766)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.01396686284573566)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.015485631440181358)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0038070424489360009)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.01139648574059631)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.025298140458325055)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.037021827096001436)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.029428861968758362)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.012913181862031289)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.069625445155635055)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.20842567519062763)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.051240105769272605)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.056811998632973738)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.013966862845735664)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.041810186095187066)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0084509467915105906)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.012367292031926986)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0098308311254096271)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0043137009617327136)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.023258663351751644)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.017116965895609845)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.018978279386089748)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0046656873831529451)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.01396686284573564)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.034375305526338835)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.050305540032273111)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.039988161309129681)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.017546529657219402)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.094607584046545581)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.28321039153111127)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.077196575526473174)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.018978279386089758)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.056811998632973676)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.036989007988906066)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.024350339729610097)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.022721604194642659)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0020718315986862396)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.053354679030800815)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.058170268354931241)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0093518161026560475)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.22863973450271471)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.036757553494219546)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.040075149727639509)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0094107024991835538)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0061951865002202629)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.005780805406949952)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.00052711310369534133)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.013574438423676774)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.014799615333023134)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0023792787088414437)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.058170268354931248)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.009351816102656051)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.010195875266786407)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0086316433720857837)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0056823218562164577)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0053022450428696702)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.00048347637471763576)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.012450687019346486)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0021823116073744556)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.053354679030800829)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0085776318491057792)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0093518161026560475)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.053690642094179834)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.035345240285608669)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.032981082352521167)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0030073250106582576)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.077445898974953548)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.084435869696849797)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.3318773554937019)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.053354679030800836)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.058170268354931241)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.2830869924348563)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.050308558644386672)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.041516821634179475)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.06274193203760102)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.020160825588817252)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.025383152182066201)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.015152528090816651)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.23919668259056145)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.14278898169094956)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.17977609281010931)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.030040718507945225)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0053386601615906274)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0044056957238823311)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0066580689659201985)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.002139433116273644)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0026936176861649991)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0016079609562587173)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.025383152182066195)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.015152528090816651)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.019077538505445499)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.023860144794362503)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0042402848796628178)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0034992684300787832)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0052882386796338152)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0016992664113091131)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0012771392678196903)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.020160825588817249)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.012035048833865587)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.01515252809081665)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.039969943152159265)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0071032236832497221)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0058618906729116316)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0088587307923610938)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0028465703978647464)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0035839271208240476)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.033772932211040815)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.020160825588817245)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.025383152182066191)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.014935575584147695)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.007791142568055953)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0073254854313094774)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.015186461110532538)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.090150328303510344)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.012455650259246793)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.015731589118882311)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.029517331411893867)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.037280633286332542)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0051508911658584714)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0063024771210085937)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0032876870064389215)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0030911901634452068)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0064083451728372039)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.038041411821271319)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0052560043865672946)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0066383769370158769)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.012455650259246798)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.015731589118882314)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0021735602717637636)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.045615473279886819)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.023795310306631609)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.022373124026687209)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.046381715060167777)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.27533253531028662)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.048046617223388682)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.090150328303510385)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.11386060898348732)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.015731589118882311)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.036116528170846006)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.018840185867421855)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.017714155002223078)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.036723208116341576)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.21799741519439725)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.030119685775736597)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.07137746553252089)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.090150328303510371)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.012455650259246793)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.032896921427909828)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.020934012679446525)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.020127575524041673)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.033499901528319088)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0098838942808698073)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.075244795478138254)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.040011251730840761)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.067458477890573201)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.035870894765649017)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.27308043404340754)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.036694010925042916)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.023350297128803515)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.022450777887903339)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.037366589313281677)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.011024731463671476)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.083929839859876898)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.044629504659074608)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.075244795478138254)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.040011251730840761)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.30460043053460045)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0048199974818136015)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0030672137093527801)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0029490559946009505)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0049083450365209726)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0014481703295155801)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.005862376301973493)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0098838942808698056)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0052557386811928905)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.040011251730840761)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.009064443351184925)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.005768174157623188)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0055459678357496689)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.009230588957667556)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0027234159279729726)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.020733009548559916)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.018587561536304909)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0098838942808698056)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.075244795478138254)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.012773605317404142)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0093099638314587951)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.055932196812816262)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0011391519589580709)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0035913578872906952)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.00039530708258920854)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.034759025419540214)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.00061078662356131824)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.053705963564394235)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0059115099192464755)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0082672024196058687)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0060254997396084128)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.036199865373541695)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.00073727030054430856)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0023243619853375876)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.00025584661404999347)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.022496381554864123)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.00039530708258920833)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.034759025419540221)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0038259870955407193)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.075107388466231287)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.054741559075980606)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.32887513974352289)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.006698087703317224)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.02111678772433076)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.20437923045390871)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0035913578872906935)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.31578513412249021)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.034759025419540214)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.00085418052598187596)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.00062256423341908954)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0037402277670030831)), ((real_t)(abs_det_jac_affine_BLUE_UP*-7.6175942132039452e-5)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.00024015678369014598)), ((real_t)(abs_det_jac_affine_BLUE_UP*2.6434479799555231e-5)), ((real_t)(abs_det_jac_affine_BLUE_UP*4.0843757608938361e-5)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0035913578872906957)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.00039530708258920849))};
+      
+          for (int64_t ctr_2 = 0; ctr_2 < micro_edges_per_macro_edge; ctr_2 += 1)
+          for (int64_t ctr_1 = 0; ctr_1 < -ctr_2 + micro_edges_per_macro_edge; ctr_1 += 1)
+          for (int64_t ctr_0 = 0; ctr_0 < -ctr_1 - ctr_2 + micro_edges_per_macro_edge - 1; ctr_0 += 1)
+          {
+         
+             const int64_t phantom_ctr_0 = ctr_0;
+             real_t _data_float_loop_ctr_array_dim_0[4];
+             _data_float_loop_ctr_array_dim_0[0] = (real_t) ctr_0+ 0;
+             _data_float_loop_ctr_array_dim_0[1] = (real_t) ctr_0+ 1;
+             _data_float_loop_ctr_array_dim_0[2] = (real_t) ctr_0+ 2;
+             _data_float_loop_ctr_array_dim_0[3] = (real_t) ctr_0+ 3;
+             real_t _data_float_loop_ctr_array_dim_1[4];
+             _data_float_loop_ctr_array_dim_1[0] = (real_t) ctr_1;
+             _data_float_loop_ctr_array_dim_1[1] = (real_t) ctr_1;
+             _data_float_loop_ctr_array_dim_1[2] = (real_t) ctr_1;
+             _data_float_loop_ctr_array_dim_1[3] = (real_t) ctr_1;
+             real_t _data_float_loop_ctr_array_dim_2[4];
+             _data_float_loop_ctr_array_dim_2[0] = (real_t) ctr_2;
+             _data_float_loop_ctr_array_dim_2[1] = (real_t) ctr_2;
+             _data_float_loop_ctr_array_dim_2[2] = (real_t) ctr_2;
+             _data_float_loop_ctr_array_dim_2[3] = (real_t) ctr_2;
+         
+             const real_t p_affine_0_0 = macro_vertex_coord_id_0comp0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0)*(1.0 + _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0)*1.0*_data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0)*1.0*_data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0];
+             const real_t p_affine_0_1 = macro_vertex_coord_id_0comp1 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1)*(1.0 + _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1)*1.0*_data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1)*1.0*_data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0];
+             const real_t p_affine_0_2 = macro_vertex_coord_id_0comp2 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2)*(1.0 + _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2)*1.0*_data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2)*1.0*_data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0];
+             const real_t p_affine_1_0 = macro_vertex_coord_id_0comp0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0)*1.0*_data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0)*(1.0 + _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0)*1.0*_data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0];
+             const real_t p_affine_1_1 = macro_vertex_coord_id_0comp1 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1)*1.0*_data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1)*(1.0 + _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1)*1.0*_data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0];
+             const real_t p_affine_1_2 = macro_vertex_coord_id_0comp2 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2)*1.0*_data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2)*(1.0 + _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2)*1.0*_data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0];
+             const real_t p_affine_2_0 = macro_vertex_coord_id_0comp0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0)*(1.0 + _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0)*(1.0 + _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0)*1.0*_data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0];
+             const real_t p_affine_2_1 = macro_vertex_coord_id_0comp1 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1)*(1.0 + _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1)*(1.0 + _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1)*1.0*_data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0];
+             const real_t p_affine_2_2 = macro_vertex_coord_id_0comp2 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2)*(1.0 + _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2)*(1.0 + _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2)*1.0*_data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0];
+             const real_t p_affine_3_0 = macro_vertex_coord_id_0comp0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0)*(1.0 + _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0)*1.0*_data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0)*(1.0 + _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0])*1.0;
+             const real_t p_affine_3_1 = macro_vertex_coord_id_0comp1 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1)*(1.0 + _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1)*1.0*_data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1)*(1.0 + _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0])*1.0;
+             const real_t p_affine_3_2 = macro_vertex_coord_id_0comp2 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2)*(1.0 + _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2)*1.0*_data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2)*(1.0 + _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0])*1.0;
+             const real_t src_dof_0 = _data_srcVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1];
+             const real_t src_dof_1 = _data_srcVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))];
+             const real_t src_dof_2 = _data_srcVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1];
+             const real_t src_dof_3 = _data_srcVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1];
+             const real_t src_dof_4 = _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1];
+             const real_t src_dof_5 = _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge - 1)*(micro_edges_per_macro_edge + 1)) / (6)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))];
+             const real_t src_dof_6 = _data_srcEdge[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))];
+             const real_t src_dof_7 = _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1];
+             const real_t src_dof_8 = _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 2*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1];
+             const real_t src_dof_9 = _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))];
+             const real_t k_dof_0 = _data_kVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1];
+             const real_t k_dof_1 = _data_kVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))];
+             const real_t k_dof_2 = _data_kVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1];
+             const real_t k_dof_3 = _data_kVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1];
+             const real_t k_dof_4 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1];
+             const real_t k_dof_5 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge - 1)*(micro_edges_per_macro_edge + 1)) / (6)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))];
+             const real_t k_dof_6 = _data_kEdge[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))];
+             const real_t k_dof_7 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1];
+             const real_t k_dof_8 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 2*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1];
+             const real_t k_dof_9 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))];
+             real_t q_acc_0_0 = 0.0;
+             real_t q_acc_0_1 = 0.0;
+             real_t q_acc_0_2 = 0.0;
+             real_t q_acc_0_3 = 0.0;
+             real_t q_acc_0_4 = 0.0;
+             real_t q_acc_0_5 = 0.0;
+             real_t q_acc_0_6 = 0.0;
+             real_t q_acc_0_7 = 0.0;
+             real_t q_acc_0_8 = 0.0;
+             real_t q_acc_0_9 = 0.0;
+             real_t q_acc_1_0 = 0.0;
+             real_t q_acc_1_1 = 0.0;
+             real_t q_acc_1_2 = 0.0;
+             real_t q_acc_1_3 = 0.0;
+             real_t q_acc_1_4 = 0.0;
+             real_t q_acc_1_5 = 0.0;
+             real_t q_acc_1_6 = 0.0;
+             real_t q_acc_1_7 = 0.0;
+             real_t q_acc_1_8 = 0.0;
+             real_t q_acc_1_9 = 0.0;
+             real_t q_acc_2_0 = 0.0;
+             real_t q_acc_2_1 = 0.0;
+             real_t q_acc_2_2 = 0.0;
+             real_t q_acc_2_3 = 0.0;
+             real_t q_acc_2_4 = 0.0;
+             real_t q_acc_2_5 = 0.0;
+             real_t q_acc_2_6 = 0.0;
+             real_t q_acc_2_7 = 0.0;
+             real_t q_acc_2_8 = 0.0;
+             real_t q_acc_2_9 = 0.0;
+             real_t q_acc_3_0 = 0.0;
+             real_t q_acc_3_1 = 0.0;
+             real_t q_acc_3_2 = 0.0;
+             real_t q_acc_3_3 = 0.0;
+             real_t q_acc_3_4 = 0.0;
+             real_t q_acc_3_5 = 0.0;
+             real_t q_acc_3_6 = 0.0;
+             real_t q_acc_3_7 = 0.0;
+             real_t q_acc_3_8 = 0.0;
+             real_t q_acc_3_9 = 0.0;
+             for (int64_t q = 0; q < 11; q += 1)
+             {
+                const real_t tmp_qloop_0 = 4.0*_data_q_p_0[q];
+                const real_t tmp_qloop_1 = tmp_qloop_0*_data_q_p_1[q];
+                const real_t tmp_qloop_2 = tmp_qloop_0*_data_q_p_2[q];
+                const real_t tmp_qloop_3 = 4.0*_data_q_p_1[q]*_data_q_p_2[q];
+                const real_t tmp_qloop_4 = (_data_q_p_0[q]*_data_q_p_0[q]);
+                const real_t tmp_qloop_5 = tmp_qloop_4*2.0;
+                const real_t tmp_qloop_6 = (_data_q_p_1[q]*_data_q_p_1[q]);
+                const real_t tmp_qloop_7 = tmp_qloop_6*2.0;
+                const real_t tmp_qloop_8 = (_data_q_p_2[q]*_data_q_p_2[q]);
+                const real_t tmp_qloop_9 = tmp_qloop_8*2.0;
+                const real_t tmp_qloop_10 = tmp_qloop_1 + tmp_qloop_2;
+                const real_t tmp_qloop_11 = p_affine_0_0 + (-p_affine_0_0 + p_affine_1_0)*_data_q_p_0[q] + (-p_affine_0_0 + p_affine_2_0)*_data_q_p_1[q] + (-p_affine_0_0 + p_affine_3_0)*_data_q_p_2[q];
+                const real_t tmp_qloop_12 = p_affine_0_1 + (-p_affine_0_1 + p_affine_1_1)*_data_q_p_0[q] + (-p_affine_0_1 + p_affine_2_1)*_data_q_p_1[q] + (-p_affine_0_1 + p_affine_3_1)*_data_q_p_2[q];
+                const real_t tmp_qloop_13 = p_affine_0_2 + (-p_affine_0_2 + p_affine_1_2)*_data_q_p_0[q] + (-p_affine_0_2 + p_affine_2_2)*_data_q_p_1[q] + (-p_affine_0_2 + p_affine_3_2)*_data_q_p_2[q];
+                const real_t tmp_qloop_14 = (tmp_qloop_11*tmp_qloop_11);
+                const real_t tmp_qloop_15 = (tmp_qloop_12*tmp_qloop_12);
+                const real_t tmp_qloop_16 = (tmp_qloop_13*tmp_qloop_13);
+                const real_t tmp_qloop_17 = tmp_qloop_14 + tmp_qloop_15 + tmp_qloop_16;
+                const real_t tmp_qloop_18 = pow(tmp_qloop_17, -4.5000000000000000);
+                const real_t tmp_qloop_39 = -tmp_qloop_13 - tmp_qloop_31;
+                const real_t tmp_qloop_40 = -tmp_qloop_11 - tmp_qloop_20;
+                const real_t tmp_qloop_41 = -tmp_qloop_12 - tmp_qloop_27;
+                const real_t tmp_qloop_42 = radRayVertex*tmp_qloop_35 - tmp_qloop_37*(tmp_qloop_21*tmp_qloop_22*tmp_qloop_41 + tmp_qloop_25*tmp_qloop_32*tmp_qloop_40 - tmp_qloop_26*tmp_qloop_39 + tmp_qloop_28*tmp_qloop_29*tmp_qloop_39 - tmp_qloop_33*tmp_qloop_40 - tmp_qloop_34*tmp_qloop_41);
+                const real_t tmp_qloop_43 = -tmp_qloop_42;
+                const real_t tmp_qloop_44 = tmp_qloop_13*tmp_qloop_43 + tmp_qloop_17*tmp_qloop_38;
+                const real_t tmp_qloop_46 = tmp_qloop_11*tmp_qloop_43 + tmp_qloop_17*tmp_qloop_45;
+                const real_t tmp_qloop_48 = -tmp_qloop_12*tmp_qloop_42 - tmp_qloop_17*tmp_qloop_37*tmp_qloop_47;
+                const real_t tmp_qloop_49 = tmp_qloop_15*tmp_qloop_43 + tmp_qloop_17*(-tmp_qloop_12*tmp_qloop_37*tmp_qloop_47 + tmp_qloop_42);
+                const real_t tmp_qloop_50 = tmp_qloop_18*tmp_qloop_36;
+                const real_t tmp_qloop_51 = tmp_qloop_11*tmp_qloop_46;
+                const real_t tmp_qloop_52 = tmp_qloop_13*tmp_qloop_44;
+                const real_t tmp_qloop_53 = tmp_qloop_16*tmp_qloop_43 + tmp_qloop_17*(tmp_qloop_13*tmp_qloop_38 + tmp_qloop_42);
+                const real_t tmp_qloop_54 = tmp_qloop_12*tmp_qloop_48*tmp_qloop_50*1.0;
+                const real_t tmp_qloop_55 = -tmp_qloop_14*tmp_qloop_42 + tmp_qloop_17*(tmp_qloop_11*tmp_qloop_45 + tmp_qloop_42);
+                const real_t tmp_qloop_56 = (k_dof_0*(tmp_qloop_10 + tmp_qloop_3 + tmp_qloop_5 + tmp_qloop_7 + tmp_qloop_9 - 3.0*_data_q_p_0[q] - 3.0*_data_q_p_1[q] - 3.0*_data_q_p_2[q] + 1.0) + k_dof_1*(tmp_qloop_5 - _data_q_p_0[q]) + k_dof_2*(tmp_qloop_7 - _data_q_p_1[q]) + k_dof_3*(tmp_qloop_9 - _data_q_p_2[q]) + k_dof_4*tmp_qloop_3 + k_dof_5*tmp_qloop_2 + k_dof_6*tmp_qloop_1 + k_dof_7*(-tmp_qloop_2 - tmp_qloop_3 + tmp_qloop_8*-4.0 + 4.0*_data_q_p_2[q]) + k_dof_8*(-tmp_qloop_1 - tmp_qloop_3 + tmp_qloop_6*-4.0 + 4.0*_data_q_p_1[q]) + k_dof_9*(-tmp_qloop_10 + tmp_qloop_4*-4.0 + 4.0*_data_q_p_0[q]))*abs(tmp_qloop_11*tmp_qloop_12*tmp_qloop_13*tmp_qloop_18*tmp_qloop_36*tmp_qloop_44*tmp_qloop_46*tmp_qloop_48*-2.0 - tmp_qloop_18*tmp_qloop_36*tmp_qloop_49*tmp_qloop_53*tmp_qloop_55 + tmp_qloop_49*tmp_qloop_50*tmp_qloop_51*tmp_qloop_52*1.0 + tmp_qloop_51*tmp_qloop_53*tmp_qloop_54 + tmp_qloop_52*tmp_qloop_54*tmp_qloop_55)*_data_q_w[q];
+                const real_t tmp_qloop_57 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 14];
+                const real_t q_tmp_0_0 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q];
+                const real_t q_tmp_0_1 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 1];
+                const real_t q_tmp_0_2 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 2];
+                const real_t q_tmp_0_3 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 3];
+                const real_t q_tmp_0_4 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 4];
+                const real_t q_tmp_0_5 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 5];
+                const real_t q_tmp_0_6 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 6];
+                const real_t q_tmp_0_7 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 7];
+                const real_t q_tmp_0_8 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 8];
+                const real_t q_tmp_0_9 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 9];
+                const real_t q_tmp_1_0 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 10];
+                const real_t q_tmp_1_1 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 11];
+                const real_t q_tmp_1_2 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 12];
+                const real_t q_tmp_1_3 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 13];
+                const real_t q_tmp_1_4 = tmp_qloop_57;
+                const real_t q_tmp_1_5 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 15];
+                const real_t q_tmp_1_6 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 16];
+                const real_t q_tmp_1_7 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 17];
+                const real_t q_tmp_1_8 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 18];
+                const real_t q_tmp_1_9 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 19];
+                const real_t q_tmp_2_0 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 20];
+                const real_t q_tmp_2_1 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 21];
+                const real_t q_tmp_2_2 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 22];
+                const real_t q_tmp_2_3 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 23];
+                const real_t q_tmp_2_4 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 24];
+                const real_t q_tmp_2_5 = tmp_qloop_57;
+                const real_t q_tmp_2_6 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 25];
+                const real_t q_tmp_2_7 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 26];
+                const real_t q_tmp_2_8 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 27];
+                const real_t q_tmp_2_9 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 28];
+                const real_t q_tmp_3_0 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 29];
+                const real_t q_tmp_3_1 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 30];
+                const real_t q_tmp_3_2 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 31];
+                const real_t q_tmp_3_3 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 32];
+                const real_t q_tmp_3_4 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 33];
+                const real_t q_tmp_3_5 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 34];
+                const real_t q_tmp_3_6 = tmp_qloop_57;
+                const real_t q_tmp_3_7 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 35];
+                const real_t q_tmp_3_8 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 36];
+                const real_t q_tmp_3_9 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 37];
+                q_acc_0_0 = q_acc_0_0 + q_tmp_0_0;
+                q_acc_0_1 = q_acc_0_1 + q_tmp_0_1;
+                q_acc_0_2 = q_acc_0_2 + q_tmp_0_2;
+                q_acc_0_3 = q_acc_0_3 + q_tmp_0_3;
+                q_acc_0_4 = q_acc_0_4 + q_tmp_0_4;
+                q_acc_0_5 = q_acc_0_5 + q_tmp_0_5;
+                q_acc_0_6 = q_acc_0_6 + q_tmp_0_6;
+                q_acc_0_7 = q_acc_0_7 + q_tmp_0_7;
+                q_acc_0_8 = q_acc_0_8 + q_tmp_0_8;
+                q_acc_0_9 = q_acc_0_9 + q_tmp_0_9;
+                q_acc_1_0 = q_acc_1_0 + q_tmp_1_0;
+                q_acc_1_1 = q_acc_1_1 + q_tmp_1_1;
+                q_acc_1_2 = q_acc_1_2 + q_tmp_1_2;
+                q_acc_1_3 = q_acc_1_3 + q_tmp_1_3;
+                q_acc_1_4 = q_acc_1_4 + q_tmp_1_4;
+                q_acc_1_5 = q_acc_1_5 + q_tmp_1_5;
+                q_acc_1_6 = q_acc_1_6 + q_tmp_1_6;
+                q_acc_1_7 = q_acc_1_7 + q_tmp_1_7;
+                q_acc_1_8 = q_acc_1_8 + q_tmp_1_8;
+                q_acc_1_9 = q_acc_1_9 + q_tmp_1_9;
+                q_acc_2_0 = q_acc_2_0 + q_tmp_2_0;
+                q_acc_2_1 = q_acc_2_1 + q_tmp_2_1;
+                q_acc_2_2 = q_acc_2_2 + q_tmp_2_2;
+                q_acc_2_3 = q_acc_2_3 + q_tmp_2_3;
+                q_acc_2_4 = q_acc_2_4 + q_tmp_2_4;
+                q_acc_2_5 = q_acc_2_5 + q_tmp_2_5;
+                q_acc_2_6 = q_acc_2_6 + q_tmp_2_6;
+                q_acc_2_7 = q_acc_2_7 + q_tmp_2_7;
+                q_acc_2_8 = q_acc_2_8 + q_tmp_2_8;
+                q_acc_2_9 = q_acc_2_9 + q_tmp_2_9;
+                q_acc_3_0 = q_acc_3_0 + q_tmp_3_0;
+                q_acc_3_1 = q_acc_3_1 + q_tmp_3_1;
+                q_acc_3_2 = q_acc_3_2 + q_tmp_3_2;
+                q_acc_3_3 = q_acc_3_3 + q_tmp_3_3;
+                q_acc_3_4 = q_acc_3_4 + q_tmp_3_4;
+                q_acc_3_5 = q_acc_3_5 + q_tmp_3_5;
+                q_acc_3_6 = q_acc_3_6 + q_tmp_3_6;
+                q_acc_3_7 = q_acc_3_7 + q_tmp_3_7;
+                q_acc_3_8 = q_acc_3_8 + q_tmp_3_8;
+                q_acc_3_9 = q_acc_3_9 + q_tmp_3_9;
+             }
+             const real_t elMatVec_0 = q_acc_0_0*src_dof_0 + q_acc_0_1*src_dof_1 + q_acc_0_2*src_dof_2 + q_acc_0_3*src_dof_3 + q_acc_0_4*src_dof_4 + q_acc_0_5*src_dof_5 + q_acc_0_6*src_dof_6 + q_acc_0_7*src_dof_7 + q_acc_0_8*src_dof_8 + q_acc_0_9*src_dof_9;
+             const real_t elMatVec_1 = q_acc_1_0*src_dof_0 + q_acc_1_1*src_dof_1 + q_acc_1_2*src_dof_2 + q_acc_1_3*src_dof_3 + q_acc_1_4*src_dof_4 + q_acc_1_5*src_dof_5 + q_acc_1_6*src_dof_6 + q_acc_1_7*src_dof_7 + q_acc_1_8*src_dof_8 + q_acc_1_9*src_dof_9;
+             const real_t elMatVec_2 = q_acc_2_0*src_dof_0 + q_acc_2_1*src_dof_1 + q_acc_2_2*src_dof_2 + q_acc_2_3*src_dof_3 + q_acc_2_4*src_dof_4 + q_acc_2_5*src_dof_5 + q_acc_2_6*src_dof_6 + q_acc_2_7*src_dof_7 + q_acc_2_8*src_dof_8 + q_acc_2_9*src_dof_9;
+             const real_t elMatVec_3 = q_acc_3_0*src_dof_0 + q_acc_3_1*src_dof_1 + q_acc_3_2*src_dof_2 + q_acc_3_3*src_dof_3 + q_acc_3_4*src_dof_4 + q_acc_3_5*src_dof_5 + q_acc_3_6*src_dof_6 + q_acc_3_7*src_dof_7 + q_acc_3_8*src_dof_8 + q_acc_3_9*src_dof_9;
+             _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1] = elMatVec_0 + _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1];
+             _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))] = elMatVec_1 + _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))];
+             _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1] = elMatVec_2 + _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1];
+             _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1] = elMatVec_3 + _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1];
+          }
+       }
+       const real_t tmp_coords_jac_0_BLUE_DOWN = 1.0 / (micro_edges_per_macro_edge_float)*1.0;
+       const real_t tmp_coords_jac_1_BLUE_DOWN = macro_vertex_coord_id_0comp0 + tmp_coords_jac_0_BLUE_DOWN*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0);
+       const real_t tmp_coords_jac_2_BLUE_DOWN = macro_vertex_coord_id_0comp1 + tmp_coords_jac_0_BLUE_DOWN*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1);
+       const real_t tmp_coords_jac_3_BLUE_DOWN = macro_vertex_coord_id_0comp2 + tmp_coords_jac_0_BLUE_DOWN*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2);
+       const real_t tmp_coords_jac_4_BLUE_DOWN = tmp_coords_jac_0_BLUE_DOWN*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0);
+       const real_t tmp_coords_jac_5_BLUE_DOWN = macro_vertex_coord_id_0comp0 + tmp_coords_jac_4_BLUE_DOWN;
+       const real_t tmp_coords_jac_6_BLUE_DOWN = tmp_coords_jac_0_BLUE_DOWN*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1);
+       const real_t tmp_coords_jac_7_BLUE_DOWN = macro_vertex_coord_id_0comp1 + tmp_coords_jac_6_BLUE_DOWN;
+       const real_t tmp_coords_jac_8_BLUE_DOWN = tmp_coords_jac_0_BLUE_DOWN*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2);
+       const real_t tmp_coords_jac_9_BLUE_DOWN = macro_vertex_coord_id_0comp2 + tmp_coords_jac_8_BLUE_DOWN;
+       const real_t p_affine_const_0_0_BLUE_DOWN = tmp_coords_jac_1_BLUE_DOWN;
+       const real_t p_affine_const_0_1_BLUE_DOWN = tmp_coords_jac_2_BLUE_DOWN;
+       const real_t p_affine_const_0_2_BLUE_DOWN = tmp_coords_jac_3_BLUE_DOWN;
+       const real_t p_affine_const_1_0_BLUE_DOWN = tmp_coords_jac_5_BLUE_DOWN;
+       const real_t p_affine_const_1_1_BLUE_DOWN = tmp_coords_jac_7_BLUE_DOWN;
+       const real_t p_affine_const_1_2_BLUE_DOWN = tmp_coords_jac_9_BLUE_DOWN;
+       const real_t p_affine_const_2_0_BLUE_DOWN = tmp_coords_jac_0_BLUE_DOWN*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0) + tmp_coords_jac_5_BLUE_DOWN;
+       const real_t p_affine_const_2_1_BLUE_DOWN = tmp_coords_jac_0_BLUE_DOWN*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1) + tmp_coords_jac_7_BLUE_DOWN;
+       const real_t p_affine_const_2_2_BLUE_DOWN = tmp_coords_jac_0_BLUE_DOWN*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2) + tmp_coords_jac_9_BLUE_DOWN;
+       const real_t p_affine_const_3_0_BLUE_DOWN = tmp_coords_jac_1_BLUE_DOWN + tmp_coords_jac_4_BLUE_DOWN;
+       const real_t p_affine_const_3_1_BLUE_DOWN = tmp_coords_jac_2_BLUE_DOWN + tmp_coords_jac_6_BLUE_DOWN;
+       const real_t p_affine_const_3_2_BLUE_DOWN = tmp_coords_jac_3_BLUE_DOWN + tmp_coords_jac_8_BLUE_DOWN;
+       const real_t jac_affine_0_0_BLUE_DOWN = -p_affine_const_0_0_BLUE_DOWN + p_affine_const_1_0_BLUE_DOWN;
+       const real_t jac_affine_0_1_BLUE_DOWN = -p_affine_const_0_0_BLUE_DOWN + p_affine_const_2_0_BLUE_DOWN;
+       const real_t jac_affine_0_2_BLUE_DOWN = -p_affine_const_0_0_BLUE_DOWN + p_affine_const_3_0_BLUE_DOWN;
+       const real_t jac_affine_1_0_BLUE_DOWN = -p_affine_const_0_1_BLUE_DOWN + p_affine_const_1_1_BLUE_DOWN;
+       const real_t jac_affine_1_1_BLUE_DOWN = -p_affine_const_0_1_BLUE_DOWN + p_affine_const_2_1_BLUE_DOWN;
+       const real_t jac_affine_1_2_BLUE_DOWN = -p_affine_const_0_1_BLUE_DOWN + p_affine_const_3_1_BLUE_DOWN;
+       const real_t jac_affine_2_0_BLUE_DOWN = -p_affine_const_0_2_BLUE_DOWN + p_affine_const_1_2_BLUE_DOWN;
+       const real_t jac_affine_2_1_BLUE_DOWN = -p_affine_const_0_2_BLUE_DOWN + p_affine_const_2_2_BLUE_DOWN;
+       const real_t jac_affine_2_2_BLUE_DOWN = -p_affine_const_0_2_BLUE_DOWN + p_affine_const_3_2_BLUE_DOWN;
+       const real_t abs_det_jac_affine_BLUE_DOWN = abs(jac_affine_0_0_BLUE_DOWN*jac_affine_1_1_BLUE_DOWN*jac_affine_2_2_BLUE_DOWN - jac_affine_0_0_BLUE_DOWN*jac_affine_1_2_BLUE_DOWN*jac_affine_2_1_BLUE_DOWN - jac_affine_0_1_BLUE_DOWN*jac_affine_1_0_BLUE_DOWN*jac_affine_2_2_BLUE_DOWN + jac_affine_0_1_BLUE_DOWN*jac_affine_1_2_BLUE_DOWN*jac_affine_2_0_BLUE_DOWN + jac_affine_0_2_BLUE_DOWN*jac_affine_1_0_BLUE_DOWN*jac_affine_2_1_BLUE_DOWN - jac_affine_0_2_BLUE_DOWN*jac_affine_1_1_BLUE_DOWN*jac_affine_2_0_BLUE_DOWN);
+       {
+          /* CellType.BLUE_DOWN */
+          const real_t _data_phi_psi_jac_affine_det_0_0_BLUE_DOWN [] = {((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.010749089276961213)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0013747922567553051)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.01396287204173041)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.008164600589399525)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.012151214443257608)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.019083835042434261)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.072053489056043002)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0046416810200408439)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.017525267423213611)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.027523941260433657)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.044193869792483409)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0056523290877285)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0574070354280087)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.033567987580949914)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.049958575567593019)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.078461393265588306)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.29624114484395714)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.019083835042434251)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.072053489056042974)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.11316209633188964)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.02813947970791995)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0035989968838093011)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.036552673846023863)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.021373681684931475)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.031810029988819218)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.18862506775555832)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.012151214443257601)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.045878482755592566)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.07205348905604296)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0074529241534464254)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.00095321772406372263)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0096812133204938391)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0056609585582659784)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0084250932599439499)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.013231853551815916)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0032183281481346165)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.012151214443257603)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.019083835042434251)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-2.9012262911449775e-5)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.00014612615736184792)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.00047804109319682082)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0032416491456343029)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0021116678219306132)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.00052791366753715454)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*7.0977528354966774e-5)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*9.9895812682163066e-5)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*1.3430904167093961e-5)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*3.3577051293550935e-6)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.00015331944058422371)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.00077222451657154147)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0025262763269762738)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.017130957178208683)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.011159409734644826)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0027898350580443485)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.00037509087018302439)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.00052791366753715541)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*7.0977528354966354e-5)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*1.7744271574084403e-5)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.00061328158194601311)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0030889173045236238)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.010105168244399365)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.068524255492113287)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.044637916950180538)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0015003728252777238)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0021116678219306167)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.000283911881665389)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*7.0977528354965283e-5)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0045614398903685138)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.022974618879299673)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.075159794270401023)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.50966681808331993)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.33200601647520916)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.083000987173061064)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.015706073884687172)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0021116678219306002)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.00052791366753714337)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.02118185416019976)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.040792474062018545)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.049791196691139579)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.035867609546541376)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.059688031245203839)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.021562946853404222)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.071405876738584673)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.080243884747120436)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.26572828761452333)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.095997217930328324)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.005691937733975882)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.010961657115556597)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.013379772569609637)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.009638259175114022)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.016039226535213912)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0057943440608341223)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.019188018251946451)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.021562946853404225)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0714058767385847)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.025796145274243024)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.015755757300754607)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.03034277906728966)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.037036323866953338)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.026679503441931235)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.044397913749511943)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.053114031247306501)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.059688031245203839)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.19765740883375349)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0714058767385847)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0047578795027626341)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0091628275191950465)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.011184125448277639)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0080566017962316674)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.013407157762204741)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0048434807489961713)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.018024424659562992)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.059688031245203853)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.021562946853404232)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.00015688175714697789)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0014950153325289843)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0012666972383742025)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0015490159490981592)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0062931924029516256)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0020445450956193246)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0056480276621754888)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.00013641635559728395)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.00037684830314454006)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0001224312400849633)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.002351271046368435)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.022406596720860313)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.018984670973016902)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.023215932927530856)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.094319450236798913)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.030642694050274453)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.084650020197820364)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0020445450956193168)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0056480276621755114)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0018349426677638542)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0072373072709378001)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.068968409922504109)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.058435584226493004)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.071459579463428277)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.29031907828914638)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.26055618198886238)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0062931924029516022)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.017384857321768536)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0056480276621755391)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0026198528001873307)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.024966064738678271)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.021153258143552994)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.025867850064795264)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.10509340307518385)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.034142957672569287)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0022780900577755898)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0062931924029516507)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0020445450956193428)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0016747236096797923)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.022395383667253931)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0010823709889014185)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0036990864559166563)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.00050834301173610229)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.015588264867481133)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0037476086033569342)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.00081420248681843786)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.00019574418772167287)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0060024671806827717)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.032063320402672957)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.42876947450525699)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.020722468836717273)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.070820637834037012)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.009732450635762396)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.29844418988237825)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.071749615697017544)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.015588264867481126)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0037476086033569277)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.1149198753205366)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0010456048186450997)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.013982439217157605)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.00067577259615595462)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0023095050434207478)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.00031738126788423253)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0023397995892677865)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.00050834301173610208)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.00012221184720903605)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0037476086033569355)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0043492174836919605)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.058160280082415236)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0028108917803285017)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0096064397699850354)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0013201547416997409)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.040482354049473784)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0021144645423690485)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.00050834301173610142)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.015588264867481138)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0068956855714663416)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.010091290281029655)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0080216243244021178)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0035198334831929206)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.018978279386089755)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.056811998632973766)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.01396686284573566)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.015485631440181358)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0038070424489360009)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.01139648574059631)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.025298140458325055)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.037021827096001436)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.029428861968758362)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.012913181862031289)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.069625445155635055)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.20842567519062763)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.051240105769272605)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.056811998632973738)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.013966862845735664)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.041810186095187066)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0084509467915105906)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.012367292031926986)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0098308311254096271)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0043137009617327136)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.023258663351751644)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.017116965895609845)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.018978279386089748)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0046656873831529451)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.01396686284573564)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.034375305526338835)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.050305540032273111)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.039988161309129681)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.017546529657219402)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.094607584046545581)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.28321039153111127)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.077196575526473174)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.018978279386089758)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.056811998632973676)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.036989007988906066)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.024350339729610097)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.022721604194642659)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0020718315986862396)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.053354679030800815)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.058170268354931241)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0093518161026560475)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.22863973450271471)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.036757553494219546)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.040075149727639509)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0094107024991835538)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0061951865002202629)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.005780805406949952)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.00052711310369534133)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.013574438423676774)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.014799615333023134)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0023792787088414437)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.058170268354931248)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.009351816102656051)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.010195875266786407)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0086316433720857837)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0056823218562164577)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0053022450428696702)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.00048347637471763576)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.012450687019346486)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0021823116073744556)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.053354679030800829)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0085776318491057792)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0093518161026560475)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.053690642094179834)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.035345240285608669)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.032981082352521167)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0030073250106582576)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.077445898974953548)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.084435869696849797)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.3318773554937019)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.053354679030800836)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.058170268354931241)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.2830869924348563)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.050308558644386672)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.041516821634179475)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.06274193203760102)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.020160825588817252)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.025383152182066201)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.015152528090816651)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.23919668259056145)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.14278898169094956)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.17977609281010931)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.030040718507945225)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0053386601615906274)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0044056957238823311)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0066580689659201985)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.002139433116273644)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0026936176861649991)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0016079609562587173)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.025383152182066195)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.015152528090816651)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.019077538505445499)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.023860144794362503)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0042402848796628178)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0034992684300787832)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0052882386796338152)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0016992664113091131)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0012771392678196903)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.020160825588817249)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.012035048833865587)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.01515252809081665)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.039969943152159265)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0071032236832497221)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0058618906729116316)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0088587307923610938)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0028465703978647464)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0035839271208240476)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.033772932211040815)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.020160825588817245)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.025383152182066191)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.014935575584147695)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.007791142568055953)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0073254854313094774)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.015186461110532538)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.090150328303510344)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.012455650259246793)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.015731589118882311)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.029517331411893867)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.037280633286332542)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0051508911658584714)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0063024771210085937)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0032876870064389215)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0030911901634452068)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0064083451728372039)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.038041411821271319)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0052560043865672946)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0066383769370158769)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.012455650259246798)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.015731589118882314)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0021735602717637636)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.045615473279886819)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.023795310306631609)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.022373124026687209)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.046381715060167777)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.27533253531028662)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.048046617223388682)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.090150328303510385)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.11386060898348732)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.015731589118882311)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.036116528170846006)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.018840185867421855)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.017714155002223078)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.036723208116341576)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.21799741519439725)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.030119685775736597)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.07137746553252089)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.090150328303510371)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.012455650259246793)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.032896921427909828)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.020934012679446525)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.020127575524041673)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.033499901528319088)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0098838942808698073)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.075244795478138254)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.040011251730840761)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.067458477890573201)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.035870894765649017)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.27308043404340754)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.036694010925042916)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.023350297128803515)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.022450777887903339)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.037366589313281677)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.011024731463671476)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.083929839859876898)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.044629504659074608)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.075244795478138254)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.040011251730840761)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.30460043053460045)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0048199974818136015)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0030672137093527801)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0029490559946009505)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0049083450365209726)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0014481703295155801)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.005862376301973493)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0098838942808698056)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0052557386811928905)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.040011251730840761)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.009064443351184925)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.005768174157623188)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0055459678357496689)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.009230588957667556)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0027234159279729726)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.020733009548559916)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.018587561536304909)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0098838942808698056)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.075244795478138254)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.012773605317404142)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0093099638314587951)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.055932196812816262)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0011391519589580709)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0035913578872906952)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.00039530708258920854)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.034759025419540214)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.00061078662356131824)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.053705963564394235)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0059115099192464755)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0082672024196058687)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0060254997396084128)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.036199865373541695)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.00073727030054430856)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0023243619853375876)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.00025584661404999347)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.022496381554864123)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.00039530708258920833)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.034759025419540221)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0038259870955407193)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.075107388466231287)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.054741559075980606)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.32887513974352289)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.006698087703317224)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.02111678772433076)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.20437923045390871)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0035913578872906935)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.31578513412249021)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.034759025419540214)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.00085418052598187596)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.00062256423341908954)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0037402277670030831)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-7.6175942132039452e-5)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.00024015678369014598)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*2.6434479799555231e-5)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*4.0843757608938361e-5)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0035913578872906957)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.00039530708258920849))};
+      
+          for (int64_t ctr_2 = 0; ctr_2 < micro_edges_per_macro_edge; ctr_2 += 1)
+          for (int64_t ctr_1 = 0; ctr_1 < -ctr_2 + micro_edges_per_macro_edge; ctr_1 += 1)
+          for (int64_t ctr_0 = 0; ctr_0 < -ctr_1 - ctr_2 + micro_edges_per_macro_edge - 1; ctr_0 += 1)
+          {
+         
+             const int64_t phantom_ctr_0 = ctr_0;
+             real_t _data_float_loop_ctr_array_dim_0[4];
+             _data_float_loop_ctr_array_dim_0[0] = (real_t) ctr_0+ 0;
+             _data_float_loop_ctr_array_dim_0[1] = (real_t) ctr_0+ 1;
+             _data_float_loop_ctr_array_dim_0[2] = (real_t) ctr_0+ 2;
+             _data_float_loop_ctr_array_dim_0[3] = (real_t) ctr_0+ 3;
+             real_t _data_float_loop_ctr_array_dim_1[4];
+             _data_float_loop_ctr_array_dim_1[0] = (real_t) ctr_1;
+             _data_float_loop_ctr_array_dim_1[1] = (real_t) ctr_1;
+             _data_float_loop_ctr_array_dim_1[2] = (real_t) ctr_1;
+             _data_float_loop_ctr_array_dim_1[3] = (real_t) ctr_1;
+             real_t _data_float_loop_ctr_array_dim_2[4];
+             _data_float_loop_ctr_array_dim_2[0] = (real_t) ctr_2;
+             _data_float_loop_ctr_array_dim_2[1] = (real_t) ctr_2;
+             _data_float_loop_ctr_array_dim_2[2] = (real_t) ctr_2;
+             _data_float_loop_ctr_array_dim_2[3] = (real_t) ctr_2;
+         
+             const real_t p_affine_0_0 = macro_vertex_coord_id_0comp0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0)*1.0*_data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0)*(1.0 + _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0)*1.0*_data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0];
+             const real_t p_affine_0_1 = macro_vertex_coord_id_0comp1 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1)*1.0*_data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1)*(1.0 + _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1)*1.0*_data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0];
+             const real_t p_affine_0_2 = macro_vertex_coord_id_0comp2 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2)*1.0*_data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2)*(1.0 + _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2)*1.0*_data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0];
+             const real_t p_affine_1_0 = macro_vertex_coord_id_0comp0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0)*1.0*_data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0)*1.0*_data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0)*(1.0 + _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0])*1.0;
+             const real_t p_affine_1_1 = macro_vertex_coord_id_0comp1 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1)*1.0*_data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1)*1.0*_data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1)*(1.0 + _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0])*1.0;
+             const real_t p_affine_1_2 = macro_vertex_coord_id_0comp2 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2)*1.0*_data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2)*1.0*_data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2)*(1.0 + _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0])*1.0;
+             const real_t p_affine_2_0 = macro_vertex_coord_id_0comp0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0)*(1.0 + _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0)*1.0*_data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0)*(1.0 + _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0])*1.0;
+             const real_t p_affine_2_1 = macro_vertex_coord_id_0comp1 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1)*(1.0 + _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1)*1.0*_data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1)*(1.0 + _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0])*1.0;
+             const real_t p_affine_2_2 = macro_vertex_coord_id_0comp2 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2)*(1.0 + _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2)*1.0*_data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2)*(1.0 + _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0])*1.0;
+             const real_t p_affine_3_0 = macro_vertex_coord_id_0comp0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0)*1.0*_data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0)*(1.0 + _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0)*(1.0 + _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0])*1.0;
+             const real_t p_affine_3_1 = macro_vertex_coord_id_0comp1 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1)*1.0*_data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1)*(1.0 + _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1)*(1.0 + _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0])*1.0;
+             const real_t p_affine_3_2 = macro_vertex_coord_id_0comp2 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2)*1.0*_data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2)*(1.0 + _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2)*(1.0 + _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0])*1.0;
+             const real_t src_dof_0 = _data_srcVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))];
+             const real_t src_dof_1 = _data_srcVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))];
+             const real_t src_dof_2 = _data_srcVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1];
+             const real_t src_dof_3 = _data_srcVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))];
+             const real_t src_dof_4 = _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))];
+             const real_t src_dof_5 = _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + 2*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))];
+             const real_t src_dof_6 = _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))];
+             const real_t src_dof_7 = _data_srcEdge[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))];
+             const real_t src_dof_8 = _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge - 1)*(micro_edges_per_macro_edge + 1)) / (6)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))];
+             const real_t src_dof_9 = _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))];
+             const real_t k_dof_0 = _data_kVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))];
+             const real_t k_dof_1 = _data_kVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))];
+             const real_t k_dof_2 = _data_kVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1];
+             const real_t k_dof_3 = _data_kVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))];
+             const real_t k_dof_4 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))];
+             const real_t k_dof_5 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + 2*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))];
+             const real_t k_dof_6 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))];
+             const real_t k_dof_7 = _data_kEdge[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))];
+             const real_t k_dof_8 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge - 1)*(micro_edges_per_macro_edge + 1)) / (6)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))];
+             const real_t k_dof_9 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))];
+             real_t q_acc_0_0 = 0.0;
+             real_t q_acc_0_1 = 0.0;
+             real_t q_acc_0_2 = 0.0;
+             real_t q_acc_0_3 = 0.0;
+             real_t q_acc_0_4 = 0.0;
+             real_t q_acc_0_5 = 0.0;
+             real_t q_acc_0_6 = 0.0;
+             real_t q_acc_0_7 = 0.0;
+             real_t q_acc_0_8 = 0.0;
+             real_t q_acc_0_9 = 0.0;
+             real_t q_acc_1_0 = 0.0;
+             real_t q_acc_1_1 = 0.0;
+             real_t q_acc_1_2 = 0.0;
+             real_t q_acc_1_3 = 0.0;
+             real_t q_acc_1_4 = 0.0;
+             real_t q_acc_1_5 = 0.0;
+             real_t q_acc_1_6 = 0.0;
+             real_t q_acc_1_7 = 0.0;
+             real_t q_acc_1_8 = 0.0;
+             real_t q_acc_1_9 = 0.0;
+             real_t q_acc_2_0 = 0.0;
+             real_t q_acc_2_1 = 0.0;
+             real_t q_acc_2_2 = 0.0;
+             real_t q_acc_2_3 = 0.0;
+             real_t q_acc_2_4 = 0.0;
+             real_t q_acc_2_5 = 0.0;
+             real_t q_acc_2_6 = 0.0;
+             real_t q_acc_2_7 = 0.0;
+             real_t q_acc_2_8 = 0.0;
+             real_t q_acc_2_9 = 0.0;
+             real_t q_acc_3_0 = 0.0;
+             real_t q_acc_3_1 = 0.0;
+             real_t q_acc_3_2 = 0.0;
+             real_t q_acc_3_3 = 0.0;
+             real_t q_acc_3_4 = 0.0;
+             real_t q_acc_3_5 = 0.0;
+             real_t q_acc_3_6 = 0.0;
+             real_t q_acc_3_7 = 0.0;
+             real_t q_acc_3_8 = 0.0;
+             real_t q_acc_3_9 = 0.0;
+             for (int64_t q = 0; q < 11; q += 1)
+             {
+                const real_t tmp_qloop_0 = 4.0*_data_q_p_0[q];
+                const real_t tmp_qloop_1 = tmp_qloop_0*_data_q_p_1[q];
+                const real_t tmp_qloop_2 = tmp_qloop_0*_data_q_p_2[q];
+                const real_t tmp_qloop_3 = 4.0*_data_q_p_1[q]*_data_q_p_2[q];
+                const real_t tmp_qloop_4 = (_data_q_p_0[q]*_data_q_p_0[q]);
+                const real_t tmp_qloop_5 = tmp_qloop_4*2.0;
+                const real_t tmp_qloop_6 = (_data_q_p_1[q]*_data_q_p_1[q]);
+                const real_t tmp_qloop_7 = tmp_qloop_6*2.0;
+                const real_t tmp_qloop_8 = (_data_q_p_2[q]*_data_q_p_2[q]);
+                const real_t tmp_qloop_9 = tmp_qloop_8*2.0;
+                const real_t tmp_qloop_10 = tmp_qloop_1 + tmp_qloop_2;
+                const real_t tmp_qloop_11 = p_affine_0_0 + (-p_affine_0_0 + p_affine_1_0)*_data_q_p_0[q] + (-p_affine_0_0 + p_affine_2_0)*_data_q_p_1[q] + (-p_affine_0_0 + p_affine_3_0)*_data_q_p_2[q];
+                const real_t tmp_qloop_12 = p_affine_0_1 + (-p_affine_0_1 + p_affine_1_1)*_data_q_p_0[q] + (-p_affine_0_1 + p_affine_2_1)*_data_q_p_1[q] + (-p_affine_0_1 + p_affine_3_1)*_data_q_p_2[q];
+                const real_t tmp_qloop_13 = p_affine_0_2 + (-p_affine_0_2 + p_affine_1_2)*_data_q_p_0[q] + (-p_affine_0_2 + p_affine_2_2)*_data_q_p_1[q] + (-p_affine_0_2 + p_affine_3_2)*_data_q_p_2[q];
+                const real_t tmp_qloop_14 = (tmp_qloop_11*tmp_qloop_11);
+                const real_t tmp_qloop_15 = (tmp_qloop_12*tmp_qloop_12);
+                const real_t tmp_qloop_16 = (tmp_qloop_13*tmp_qloop_13);
+                const real_t tmp_qloop_17 = tmp_qloop_14 + tmp_qloop_15 + tmp_qloop_16;
+                const real_t tmp_qloop_18 = pow(tmp_qloop_17, -4.5000000000000000);
+                const real_t tmp_qloop_39 = -tmp_qloop_13 - tmp_qloop_31;
+                const real_t tmp_qloop_40 = -tmp_qloop_11 - tmp_qloop_20;
+                const real_t tmp_qloop_41 = -tmp_qloop_12 - tmp_qloop_27;
+                const real_t tmp_qloop_42 = radRayVertex*tmp_qloop_35 - tmp_qloop_37*(tmp_qloop_21*tmp_qloop_22*tmp_qloop_41 + tmp_qloop_25*tmp_qloop_32*tmp_qloop_40 - tmp_qloop_26*tmp_qloop_39 + tmp_qloop_28*tmp_qloop_29*tmp_qloop_39 - tmp_qloop_33*tmp_qloop_40 - tmp_qloop_34*tmp_qloop_41);
+                const real_t tmp_qloop_43 = -tmp_qloop_42;
+                const real_t tmp_qloop_44 = tmp_qloop_13*tmp_qloop_43 + tmp_qloop_17*tmp_qloop_38;
+                const real_t tmp_qloop_46 = tmp_qloop_11*tmp_qloop_43 + tmp_qloop_17*tmp_qloop_45;
+                const real_t tmp_qloop_48 = -tmp_qloop_12*tmp_qloop_42 - tmp_qloop_17*tmp_qloop_37*tmp_qloop_47;
+                const real_t tmp_qloop_49 = tmp_qloop_15*tmp_qloop_43 + tmp_qloop_17*(-tmp_qloop_12*tmp_qloop_37*tmp_qloop_47 + tmp_qloop_42);
+                const real_t tmp_qloop_50 = tmp_qloop_18*tmp_qloop_36;
+                const real_t tmp_qloop_51 = tmp_qloop_11*tmp_qloop_46;
+                const real_t tmp_qloop_52 = tmp_qloop_13*tmp_qloop_44;
+                const real_t tmp_qloop_53 = tmp_qloop_16*tmp_qloop_43 + tmp_qloop_17*(tmp_qloop_13*tmp_qloop_38 + tmp_qloop_42);
+                const real_t tmp_qloop_54 = tmp_qloop_12*tmp_qloop_48*tmp_qloop_50*1.0;
+                const real_t tmp_qloop_55 = -tmp_qloop_14*tmp_qloop_42 + tmp_qloop_17*(tmp_qloop_11*tmp_qloop_45 + tmp_qloop_42);
+                const real_t tmp_qloop_56 = (k_dof_0*(tmp_qloop_10 + tmp_qloop_3 + tmp_qloop_5 + tmp_qloop_7 + tmp_qloop_9 - 3.0*_data_q_p_0[q] - 3.0*_data_q_p_1[q] - 3.0*_data_q_p_2[q] + 1.0) + k_dof_1*(tmp_qloop_5 - _data_q_p_0[q]) + k_dof_2*(tmp_qloop_7 - _data_q_p_1[q]) + k_dof_3*(tmp_qloop_9 - _data_q_p_2[q]) + k_dof_4*tmp_qloop_3 + k_dof_5*tmp_qloop_2 + k_dof_6*tmp_qloop_1 + k_dof_7*(-tmp_qloop_2 - tmp_qloop_3 + tmp_qloop_8*-4.0 + 4.0*_data_q_p_2[q]) + k_dof_8*(-tmp_qloop_1 - tmp_qloop_3 + tmp_qloop_6*-4.0 + 4.0*_data_q_p_1[q]) + k_dof_9*(-tmp_qloop_10 + tmp_qloop_4*-4.0 + 4.0*_data_q_p_0[q]))*abs(tmp_qloop_11*tmp_qloop_12*tmp_qloop_13*tmp_qloop_18*tmp_qloop_36*tmp_qloop_44*tmp_qloop_46*tmp_qloop_48*-2.0 - tmp_qloop_18*tmp_qloop_36*tmp_qloop_49*tmp_qloop_53*tmp_qloop_55 + tmp_qloop_49*tmp_qloop_50*tmp_qloop_51*tmp_qloop_52*1.0 + tmp_qloop_51*tmp_qloop_53*tmp_qloop_54 + tmp_qloop_52*tmp_qloop_54*tmp_qloop_55)*_data_q_w[q];
+                const real_t tmp_qloop_57 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 14];
+                const real_t q_tmp_0_0 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q];
+                const real_t q_tmp_0_1 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 1];
+                const real_t q_tmp_0_2 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 2];
+                const real_t q_tmp_0_3 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 3];
+                const real_t q_tmp_0_4 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 4];
+                const real_t q_tmp_0_5 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 5];
+                const real_t q_tmp_0_6 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 6];
+                const real_t q_tmp_0_7 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 7];
+                const real_t q_tmp_0_8 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 8];
+                const real_t q_tmp_0_9 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 9];
+                const real_t q_tmp_1_0 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 10];
+                const real_t q_tmp_1_1 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 11];
+                const real_t q_tmp_1_2 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 12];
+                const real_t q_tmp_1_3 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 13];
+                const real_t q_tmp_1_4 = tmp_qloop_57;
+                const real_t q_tmp_1_5 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 15];
+                const real_t q_tmp_1_6 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 16];
+                const real_t q_tmp_1_7 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 17];
+                const real_t q_tmp_1_8 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 18];
+                const real_t q_tmp_1_9 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 19];
+                const real_t q_tmp_2_0 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 20];
+                const real_t q_tmp_2_1 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 21];
+                const real_t q_tmp_2_2 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 22];
+                const real_t q_tmp_2_3 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 23];
+                const real_t q_tmp_2_4 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 24];
+                const real_t q_tmp_2_5 = tmp_qloop_57;
+                const real_t q_tmp_2_6 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 25];
+                const real_t q_tmp_2_7 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 26];
+                const real_t q_tmp_2_8 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 27];
+                const real_t q_tmp_2_9 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 28];
+                const real_t q_tmp_3_0 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 29];
+                const real_t q_tmp_3_1 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 30];
+                const real_t q_tmp_3_2 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 31];
+                const real_t q_tmp_3_3 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 32];
+                const real_t q_tmp_3_4 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 33];
+                const real_t q_tmp_3_5 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 34];
+                const real_t q_tmp_3_6 = tmp_qloop_57;
+                const real_t q_tmp_3_7 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 35];
+                const real_t q_tmp_3_8 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 36];
+                const real_t q_tmp_3_9 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 37];
+                q_acc_0_0 = q_acc_0_0 + q_tmp_0_0;
+                q_acc_0_1 = q_acc_0_1 + q_tmp_0_1;
+                q_acc_0_2 = q_acc_0_2 + q_tmp_0_2;
+                q_acc_0_3 = q_acc_0_3 + q_tmp_0_3;
+                q_acc_0_4 = q_acc_0_4 + q_tmp_0_4;
+                q_acc_0_5 = q_acc_0_5 + q_tmp_0_5;
+                q_acc_0_6 = q_acc_0_6 + q_tmp_0_6;
+                q_acc_0_7 = q_acc_0_7 + q_tmp_0_7;
+                q_acc_0_8 = q_acc_0_8 + q_tmp_0_8;
+                q_acc_0_9 = q_acc_0_9 + q_tmp_0_9;
+                q_acc_1_0 = q_acc_1_0 + q_tmp_1_0;
+                q_acc_1_1 = q_acc_1_1 + q_tmp_1_1;
+                q_acc_1_2 = q_acc_1_2 + q_tmp_1_2;
+                q_acc_1_3 = q_acc_1_3 + q_tmp_1_3;
+                q_acc_1_4 = q_acc_1_4 + q_tmp_1_4;
+                q_acc_1_5 = q_acc_1_5 + q_tmp_1_5;
+                q_acc_1_6 = q_acc_1_6 + q_tmp_1_6;
+                q_acc_1_7 = q_acc_1_7 + q_tmp_1_7;
+                q_acc_1_8 = q_acc_1_8 + q_tmp_1_8;
+                q_acc_1_9 = q_acc_1_9 + q_tmp_1_9;
+                q_acc_2_0 = q_acc_2_0 + q_tmp_2_0;
+                q_acc_2_1 = q_acc_2_1 + q_tmp_2_1;
+                q_acc_2_2 = q_acc_2_2 + q_tmp_2_2;
+                q_acc_2_3 = q_acc_2_3 + q_tmp_2_3;
+                q_acc_2_4 = q_acc_2_4 + q_tmp_2_4;
+                q_acc_2_5 = q_acc_2_5 + q_tmp_2_5;
+                q_acc_2_6 = q_acc_2_6 + q_tmp_2_6;
+                q_acc_2_7 = q_acc_2_7 + q_tmp_2_7;
+                q_acc_2_8 = q_acc_2_8 + q_tmp_2_8;
+                q_acc_2_9 = q_acc_2_9 + q_tmp_2_9;
+                q_acc_3_0 = q_acc_3_0 + q_tmp_3_0;
+                q_acc_3_1 = q_acc_3_1 + q_tmp_3_1;
+                q_acc_3_2 = q_acc_3_2 + q_tmp_3_2;
+                q_acc_3_3 = q_acc_3_3 + q_tmp_3_3;
+                q_acc_3_4 = q_acc_3_4 + q_tmp_3_4;
+                q_acc_3_5 = q_acc_3_5 + q_tmp_3_5;
+                q_acc_3_6 = q_acc_3_6 + q_tmp_3_6;
+                q_acc_3_7 = q_acc_3_7 + q_tmp_3_7;
+                q_acc_3_8 = q_acc_3_8 + q_tmp_3_8;
+                q_acc_3_9 = q_acc_3_9 + q_tmp_3_9;
+             }
+             const real_t elMatVec_0 = q_acc_0_0*src_dof_0 + q_acc_0_1*src_dof_1 + q_acc_0_2*src_dof_2 + q_acc_0_3*src_dof_3 + q_acc_0_4*src_dof_4 + q_acc_0_5*src_dof_5 + q_acc_0_6*src_dof_6 + q_acc_0_7*src_dof_7 + q_acc_0_8*src_dof_8 + q_acc_0_9*src_dof_9;
+             const real_t elMatVec_1 = q_acc_1_0*src_dof_0 + q_acc_1_1*src_dof_1 + q_acc_1_2*src_dof_2 + q_acc_1_3*src_dof_3 + q_acc_1_4*src_dof_4 + q_acc_1_5*src_dof_5 + q_acc_1_6*src_dof_6 + q_acc_1_7*src_dof_7 + q_acc_1_8*src_dof_8 + q_acc_1_9*src_dof_9;
+             const real_t elMatVec_2 = q_acc_2_0*src_dof_0 + q_acc_2_1*src_dof_1 + q_acc_2_2*src_dof_2 + q_acc_2_3*src_dof_3 + q_acc_2_4*src_dof_4 + q_acc_2_5*src_dof_5 + q_acc_2_6*src_dof_6 + q_acc_2_7*src_dof_7 + q_acc_2_8*src_dof_8 + q_acc_2_9*src_dof_9;
+             const real_t elMatVec_3 = q_acc_3_0*src_dof_0 + q_acc_3_1*src_dof_1 + q_acc_3_2*src_dof_2 + q_acc_3_3*src_dof_3 + q_acc_3_4*src_dof_4 + q_acc_3_5*src_dof_5 + q_acc_3_6*src_dof_6 + q_acc_3_7*src_dof_7 + q_acc_3_8*src_dof_8 + q_acc_3_9*src_dof_9;
+             _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))] = elMatVec_0 + _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))];
+             _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))] = elMatVec_1 + _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))];
+             _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1] = elMatVec_2 + _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1];
+             _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))] = elMatVec_3 + _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))];
+          }
+       }
+       const real_t tmp_coords_jac_0_GREEN_UP = 1.0 / (micro_edges_per_macro_edge_float)*1.0;
+       const real_t tmp_coords_jac_1_GREEN_UP = macro_vertex_coord_id_0comp0 + tmp_coords_jac_0_GREEN_UP*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0);
+       const real_t tmp_coords_jac_2_GREEN_UP = macro_vertex_coord_id_0comp1 + tmp_coords_jac_0_GREEN_UP*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1);
+       const real_t tmp_coords_jac_3_GREEN_UP = macro_vertex_coord_id_0comp2 + tmp_coords_jac_0_GREEN_UP*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2);
+       const real_t tmp_coords_jac_4_GREEN_UP = tmp_coords_jac_0_GREEN_UP*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0);
+       const real_t tmp_coords_jac_5_GREEN_UP = tmp_coords_jac_0_GREEN_UP*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1);
+       const real_t tmp_coords_jac_6_GREEN_UP = tmp_coords_jac_0_GREEN_UP*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2);
+       const real_t p_affine_const_0_0_GREEN_UP = tmp_coords_jac_1_GREEN_UP;
+       const real_t p_affine_const_0_1_GREEN_UP = tmp_coords_jac_2_GREEN_UP;
+       const real_t p_affine_const_0_2_GREEN_UP = tmp_coords_jac_3_GREEN_UP;
+       const real_t p_affine_const_1_0_GREEN_UP = macro_vertex_coord_id_0comp0 + tmp_coords_jac_0_GREEN_UP*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0);
+       const real_t p_affine_const_1_1_GREEN_UP = macro_vertex_coord_id_0comp1 + tmp_coords_jac_0_GREEN_UP*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1);
+       const real_t p_affine_const_1_2_GREEN_UP = macro_vertex_coord_id_0comp2 + tmp_coords_jac_0_GREEN_UP*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2);
+       const real_t p_affine_const_2_0_GREEN_UP = macro_vertex_coord_id_0comp0 + tmp_coords_jac_4_GREEN_UP;
+       const real_t p_affine_const_2_1_GREEN_UP = macro_vertex_coord_id_0comp1 + tmp_coords_jac_5_GREEN_UP;
+       const real_t p_affine_const_2_2_GREEN_UP = macro_vertex_coord_id_0comp2 + tmp_coords_jac_6_GREEN_UP;
+       const real_t p_affine_const_3_0_GREEN_UP = tmp_coords_jac_1_GREEN_UP + tmp_coords_jac_4_GREEN_UP;
+       const real_t p_affine_const_3_1_GREEN_UP = tmp_coords_jac_2_GREEN_UP + tmp_coords_jac_5_GREEN_UP;
+       const real_t p_affine_const_3_2_GREEN_UP = tmp_coords_jac_3_GREEN_UP + tmp_coords_jac_6_GREEN_UP;
+       const real_t jac_affine_0_0_GREEN_UP = -p_affine_const_0_0_GREEN_UP + p_affine_const_1_0_GREEN_UP;
+       const real_t jac_affine_0_1_GREEN_UP = -p_affine_const_0_0_GREEN_UP + p_affine_const_2_0_GREEN_UP;
+       const real_t jac_affine_0_2_GREEN_UP = -p_affine_const_0_0_GREEN_UP + p_affine_const_3_0_GREEN_UP;
+       const real_t jac_affine_1_0_GREEN_UP = -p_affine_const_0_1_GREEN_UP + p_affine_const_1_1_GREEN_UP;
+       const real_t jac_affine_1_1_GREEN_UP = -p_affine_const_0_1_GREEN_UP + p_affine_const_2_1_GREEN_UP;
+       const real_t jac_affine_1_2_GREEN_UP = -p_affine_const_0_1_GREEN_UP + p_affine_const_3_1_GREEN_UP;
+       const real_t jac_affine_2_0_GREEN_UP = -p_affine_const_0_2_GREEN_UP + p_affine_const_1_2_GREEN_UP;
+       const real_t jac_affine_2_1_GREEN_UP = -p_affine_const_0_2_GREEN_UP + p_affine_const_2_2_GREEN_UP;
+       const real_t jac_affine_2_2_GREEN_UP = -p_affine_const_0_2_GREEN_UP + p_affine_const_3_2_GREEN_UP;
+       const real_t abs_det_jac_affine_GREEN_UP = abs(jac_affine_0_0_GREEN_UP*jac_affine_1_1_GREEN_UP*jac_affine_2_2_GREEN_UP - jac_affine_0_0_GREEN_UP*jac_affine_1_2_GREEN_UP*jac_affine_2_1_GREEN_UP - jac_affine_0_1_GREEN_UP*jac_affine_1_0_GREEN_UP*jac_affine_2_2_GREEN_UP + jac_affine_0_1_GREEN_UP*jac_affine_1_2_GREEN_UP*jac_affine_2_0_GREEN_UP + jac_affine_0_2_GREEN_UP*jac_affine_1_0_GREEN_UP*jac_affine_2_1_GREEN_UP - jac_affine_0_2_GREEN_UP*jac_affine_1_1_GREEN_UP*jac_affine_2_0_GREEN_UP);
+       {
+          /* CellType.GREEN_UP */
+          const real_t _data_phi_psi_jac_affine_det_0_0_GREEN_UP [] = {((real_t)(abs_det_jac_affine_GREEN_UP*-0.010749089276961213)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0013747922567553051)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.01396287204173041)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.008164600589399525)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.012151214443257608)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.019083835042434261)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.072053489056043002)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0046416810200408439)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.017525267423213611)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.027523941260433657)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.044193869792483409)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0056523290877285)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0574070354280087)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.033567987580949914)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.049958575567593019)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.078461393265588306)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.29624114484395714)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.019083835042434251)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.072053489056042974)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.11316209633188964)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.02813947970791995)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0035989968838093011)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.036552673846023863)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.021373681684931475)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.031810029988819218)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.18862506775555832)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.012151214443257601)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.045878482755592566)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.07205348905604296)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0074529241534464254)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.00095321772406372263)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0096812133204938391)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0056609585582659784)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0084250932599439499)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.013231853551815916)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0032183281481346165)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.012151214443257603)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.019083835042434251)), ((real_t)(abs_det_jac_affine_GREEN_UP*-2.9012262911449775e-5)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.00014612615736184792)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.00047804109319682082)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0032416491456343029)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0021116678219306132)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.00052791366753715454)), ((real_t)(abs_det_jac_affine_GREEN_UP*7.0977528354966774e-5)), ((real_t)(abs_det_jac_affine_GREEN_UP*9.9895812682163066e-5)), ((real_t)(abs_det_jac_affine_GREEN_UP*1.3430904167093961e-5)), ((real_t)(abs_det_jac_affine_GREEN_UP*3.3577051293550935e-6)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.00015331944058422371)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.00077222451657154147)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0025262763269762738)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.017130957178208683)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.011159409734644826)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0027898350580443485)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.00037509087018302439)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.00052791366753715541)), ((real_t)(abs_det_jac_affine_GREEN_UP*7.0977528354966354e-5)), ((real_t)(abs_det_jac_affine_GREEN_UP*1.7744271574084403e-5)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.00061328158194601311)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0030889173045236238)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.010105168244399365)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.068524255492113287)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.044637916950180538)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0015003728252777238)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0021116678219306167)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.000283911881665389)), ((real_t)(abs_det_jac_affine_GREEN_UP*7.0977528354965283e-5)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0045614398903685138)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.022974618879299673)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.075159794270401023)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.50966681808331993)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.33200601647520916)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.083000987173061064)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.015706073884687172)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0021116678219306002)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.00052791366753714337)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.02118185416019976)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.040792474062018545)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.049791196691139579)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.035867609546541376)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.059688031245203839)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.021562946853404222)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.071405876738584673)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.080243884747120436)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.26572828761452333)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.095997217930328324)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.005691937733975882)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.010961657115556597)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.013379772569609637)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.009638259175114022)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.016039226535213912)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0057943440608341223)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.019188018251946451)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.021562946853404225)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0714058767385847)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.025796145274243024)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.015755757300754607)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.03034277906728966)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.037036323866953338)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.026679503441931235)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.044397913749511943)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.053114031247306501)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.059688031245203839)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.19765740883375349)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0714058767385847)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0047578795027626341)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0091628275191950465)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.011184125448277639)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0080566017962316674)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.013407157762204741)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0048434807489961713)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.018024424659562992)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.059688031245203853)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.021562946853404232)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.00015688175714697789)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0014950153325289843)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0012666972383742025)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0015490159490981592)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0062931924029516256)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0020445450956193246)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0056480276621754888)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.00013641635559728395)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.00037684830314454006)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0001224312400849633)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.002351271046368435)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.022406596720860313)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.018984670973016902)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.023215932927530856)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.094319450236798913)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.030642694050274453)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.084650020197820364)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0020445450956193168)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0056480276621755114)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0018349426677638542)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0072373072709378001)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.068968409922504109)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.058435584226493004)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.071459579463428277)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.29031907828914638)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.26055618198886238)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0062931924029516022)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.017384857321768536)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0056480276621755391)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0026198528001873307)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.024966064738678271)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.021153258143552994)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.025867850064795264)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.10509340307518385)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.034142957672569287)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0022780900577755898)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0062931924029516507)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0020445450956193428)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0016747236096797923)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.022395383667253931)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0010823709889014185)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0036990864559166563)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.00050834301173610229)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.015588264867481133)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0037476086033569342)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.00081420248681843786)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.00019574418772167287)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0060024671806827717)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.032063320402672957)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.42876947450525699)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.020722468836717273)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.070820637834037012)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.009732450635762396)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.29844418988237825)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.071749615697017544)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.015588264867481126)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0037476086033569277)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.1149198753205366)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0010456048186450997)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.013982439217157605)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.00067577259615595462)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0023095050434207478)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.00031738126788423253)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0023397995892677865)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.00050834301173610208)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.00012221184720903605)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0037476086033569355)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0043492174836919605)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.058160280082415236)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0028108917803285017)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0096064397699850354)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0013201547416997409)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.040482354049473784)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0021144645423690485)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.00050834301173610142)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.015588264867481138)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0068956855714663416)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.010091290281029655)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0080216243244021178)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0035198334831929206)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.018978279386089755)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.056811998632973766)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.01396686284573566)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.015485631440181358)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0038070424489360009)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.01139648574059631)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.025298140458325055)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.037021827096001436)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.029428861968758362)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.012913181862031289)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.069625445155635055)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.20842567519062763)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.051240105769272605)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.056811998632973738)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.013966862845735664)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.041810186095187066)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0084509467915105906)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.012367292031926986)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0098308311254096271)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0043137009617327136)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.023258663351751644)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.017116965895609845)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.018978279386089748)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0046656873831529451)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.01396686284573564)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.034375305526338835)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.050305540032273111)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.039988161309129681)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.017546529657219402)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.094607584046545581)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.28321039153111127)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.077196575526473174)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.018978279386089758)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.056811998632973676)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.036989007988906066)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.024350339729610097)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.022721604194642659)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0020718315986862396)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.053354679030800815)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.058170268354931241)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0093518161026560475)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.22863973450271471)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.036757553494219546)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.040075149727639509)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0094107024991835538)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0061951865002202629)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.005780805406949952)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.00052711310369534133)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.013574438423676774)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.014799615333023134)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0023792787088414437)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.058170268354931248)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.009351816102656051)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.010195875266786407)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0086316433720857837)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0056823218562164577)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0053022450428696702)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.00048347637471763576)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.012450687019346486)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0021823116073744556)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.053354679030800829)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0085776318491057792)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0093518161026560475)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.053690642094179834)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.035345240285608669)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.032981082352521167)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0030073250106582576)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.077445898974953548)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.084435869696849797)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.3318773554937019)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.053354679030800836)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.058170268354931241)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.2830869924348563)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.050308558644386672)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.041516821634179475)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.06274193203760102)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.020160825588817252)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.025383152182066201)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.015152528090816651)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.23919668259056145)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.14278898169094956)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.17977609281010931)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.030040718507945225)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0053386601615906274)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0044056957238823311)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0066580689659201985)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.002139433116273644)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0026936176861649991)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0016079609562587173)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.025383152182066195)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.015152528090816651)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.019077538505445499)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.023860144794362503)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0042402848796628178)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0034992684300787832)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0052882386796338152)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0016992664113091131)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0012771392678196903)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.020160825588817249)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.012035048833865587)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.01515252809081665)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.039969943152159265)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0071032236832497221)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0058618906729116316)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0088587307923610938)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0028465703978647464)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0035839271208240476)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.033772932211040815)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.020160825588817245)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.025383152182066191)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.014935575584147695)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.007791142568055953)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0073254854313094774)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.015186461110532538)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.090150328303510344)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.012455650259246793)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.015731589118882311)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.029517331411893867)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.037280633286332542)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0051508911658584714)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0063024771210085937)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0032876870064389215)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0030911901634452068)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0064083451728372039)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.038041411821271319)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0052560043865672946)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0066383769370158769)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.012455650259246798)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.015731589118882314)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0021735602717637636)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.045615473279886819)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.023795310306631609)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.022373124026687209)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.046381715060167777)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.27533253531028662)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.048046617223388682)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.090150328303510385)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.11386060898348732)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.015731589118882311)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.036116528170846006)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.018840185867421855)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.017714155002223078)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.036723208116341576)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.21799741519439725)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.030119685775736597)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.07137746553252089)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.090150328303510371)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.012455650259246793)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.032896921427909828)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.020934012679446525)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.020127575524041673)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.033499901528319088)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0098838942808698073)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.075244795478138254)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.040011251730840761)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.067458477890573201)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.035870894765649017)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.27308043404340754)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.036694010925042916)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.023350297128803515)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.022450777887903339)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.037366589313281677)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.011024731463671476)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.083929839859876898)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.044629504659074608)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.075244795478138254)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.040011251730840761)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.30460043053460045)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0048199974818136015)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0030672137093527801)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0029490559946009505)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0049083450365209726)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0014481703295155801)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.005862376301973493)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0098838942808698056)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0052557386811928905)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.040011251730840761)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.009064443351184925)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.005768174157623188)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0055459678357496689)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.009230588957667556)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0027234159279729726)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.020733009548559916)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.018587561536304909)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0098838942808698056)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.075244795478138254)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.012773605317404142)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0093099638314587951)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.055932196812816262)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0011391519589580709)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0035913578872906952)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.00039530708258920854)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.034759025419540214)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.00061078662356131824)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.053705963564394235)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0059115099192464755)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0082672024196058687)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0060254997396084128)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.036199865373541695)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.00073727030054430856)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0023243619853375876)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.00025584661404999347)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.022496381554864123)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.00039530708258920833)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.034759025419540221)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0038259870955407193)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.075107388466231287)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.054741559075980606)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.32887513974352289)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.006698087703317224)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.02111678772433076)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.20437923045390871)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0035913578872906935)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.31578513412249021)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.034759025419540214)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.00085418052598187596)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.00062256423341908954)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0037402277670030831)), ((real_t)(abs_det_jac_affine_GREEN_UP*-7.6175942132039452e-5)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.00024015678369014598)), ((real_t)(abs_det_jac_affine_GREEN_UP*2.6434479799555231e-5)), ((real_t)(abs_det_jac_affine_GREEN_UP*4.0843757608938361e-5)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0035913578872906957)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.00039530708258920849))};
+      
+          for (int64_t ctr_2 = 0; ctr_2 < micro_edges_per_macro_edge; ctr_2 += 1)
+          for (int64_t ctr_1 = 0; ctr_1 < -ctr_2 + micro_edges_per_macro_edge; ctr_1 += 1)
+          for (int64_t ctr_0 = 0; ctr_0 < -ctr_1 - ctr_2 + micro_edges_per_macro_edge - 1; ctr_0 += 1)
+          {
+         
+             const int64_t phantom_ctr_0 = ctr_0;
+             real_t _data_float_loop_ctr_array_dim_0[4];
+             _data_float_loop_ctr_array_dim_0[0] = (real_t) ctr_0+ 0;
+             _data_float_loop_ctr_array_dim_0[1] = (real_t) ctr_0+ 1;
+             _data_float_loop_ctr_array_dim_0[2] = (real_t) ctr_0+ 2;
+             _data_float_loop_ctr_array_dim_0[3] = (real_t) ctr_0+ 3;
+             real_t _data_float_loop_ctr_array_dim_1[4];
+             _data_float_loop_ctr_array_dim_1[0] = (real_t) ctr_1;
+             _data_float_loop_ctr_array_dim_1[1] = (real_t) ctr_1;
+             _data_float_loop_ctr_array_dim_1[2] = (real_t) ctr_1;
+             _data_float_loop_ctr_array_dim_1[3] = (real_t) ctr_1;
+             real_t _data_float_loop_ctr_array_dim_2[4];
+             _data_float_loop_ctr_array_dim_2[0] = (real_t) ctr_2;
+             _data_float_loop_ctr_array_dim_2[1] = (real_t) ctr_2;
+             _data_float_loop_ctr_array_dim_2[2] = (real_t) ctr_2;
+             _data_float_loop_ctr_array_dim_2[3] = (real_t) ctr_2;
+         
+             const real_t p_affine_0_0 = macro_vertex_coord_id_0comp0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0)*(1.0 + _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0)*1.0*_data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0)*1.0*_data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0];
+             const real_t p_affine_0_1 = macro_vertex_coord_id_0comp1 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1)*(1.0 + _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1)*1.0*_data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1)*1.0*_data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0];
+             const real_t p_affine_0_2 = macro_vertex_coord_id_0comp2 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2)*(1.0 + _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2)*1.0*_data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2)*1.0*_data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0];
+             const real_t p_affine_1_0 = macro_vertex_coord_id_0comp0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0)*1.0*_data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0)*(1.0 + _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0)*1.0*_data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0];
+             const real_t p_affine_1_1 = macro_vertex_coord_id_0comp1 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1)*1.0*_data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1)*(1.0 + _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1)*1.0*_data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0];
+             const real_t p_affine_1_2 = macro_vertex_coord_id_0comp2 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2)*1.0*_data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2)*(1.0 + _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2)*1.0*_data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0];
+             const real_t p_affine_2_0 = macro_vertex_coord_id_0comp0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0)*1.0*_data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0)*1.0*_data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0)*(1.0 + _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0])*1.0;
+             const real_t p_affine_2_1 = macro_vertex_coord_id_0comp1 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1)*1.0*_data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1)*1.0*_data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1)*(1.0 + _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0])*1.0;
+             const real_t p_affine_2_2 = macro_vertex_coord_id_0comp2 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2)*1.0*_data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2)*1.0*_data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2)*(1.0 + _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0])*1.0;
+             const real_t p_affine_3_0 = macro_vertex_coord_id_0comp0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0)*(1.0 + _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0)*1.0*_data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0)*(1.0 + _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0])*1.0;
+             const real_t p_affine_3_1 = macro_vertex_coord_id_0comp1 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1)*(1.0 + _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1)*1.0*_data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1)*(1.0 + _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0])*1.0;
+             const real_t p_affine_3_2 = macro_vertex_coord_id_0comp2 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2)*(1.0 + _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2)*1.0*_data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2)*(1.0 + _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0])*1.0;
+             const real_t src_dof_0 = _data_srcVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1];
+             const real_t src_dof_1 = _data_srcVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))];
+             const real_t src_dof_2 = _data_srcVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))];
+             const real_t src_dof_3 = _data_srcVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1];
+             const real_t src_dof_4 = _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))];
+             const real_t src_dof_5 = _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge - 1)*(micro_edges_per_macro_edge + 1)) / (6)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))];
+             const real_t src_dof_6 = _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))];
+             const real_t src_dof_7 = _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1];
+             const real_t src_dof_8 = _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 5*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))];
+             const real_t src_dof_9 = _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))];
+             const real_t k_dof_0 = _data_kVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1];
+             const real_t k_dof_1 = _data_kVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))];
+             const real_t k_dof_2 = _data_kVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))];
+             const real_t k_dof_3 = _data_kVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1];
+             const real_t k_dof_4 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))];
+             const real_t k_dof_5 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge - 1)*(micro_edges_per_macro_edge + 1)) / (6)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))];
+             const real_t k_dof_6 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))];
+             const real_t k_dof_7 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1];
+             const real_t k_dof_8 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 5*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))];
+             const real_t k_dof_9 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))];
+             real_t q_acc_0_0 = 0.0;
+             real_t q_acc_0_1 = 0.0;
+             real_t q_acc_0_2 = 0.0;
+             real_t q_acc_0_3 = 0.0;
+             real_t q_acc_0_4 = 0.0;
+             real_t q_acc_0_5 = 0.0;
+             real_t q_acc_0_6 = 0.0;
+             real_t q_acc_0_7 = 0.0;
+             real_t q_acc_0_8 = 0.0;
+             real_t q_acc_0_9 = 0.0;
+             real_t q_acc_1_0 = 0.0;
+             real_t q_acc_1_1 = 0.0;
+             real_t q_acc_1_2 = 0.0;
+             real_t q_acc_1_3 = 0.0;
+             real_t q_acc_1_4 = 0.0;
+             real_t q_acc_1_5 = 0.0;
+             real_t q_acc_1_6 = 0.0;
+             real_t q_acc_1_7 = 0.0;
+             real_t q_acc_1_8 = 0.0;
+             real_t q_acc_1_9 = 0.0;
+             real_t q_acc_2_0 = 0.0;
+             real_t q_acc_2_1 = 0.0;
+             real_t q_acc_2_2 = 0.0;
+             real_t q_acc_2_3 = 0.0;
+             real_t q_acc_2_4 = 0.0;
+             real_t q_acc_2_5 = 0.0;
+             real_t q_acc_2_6 = 0.0;
+             real_t q_acc_2_7 = 0.0;
+             real_t q_acc_2_8 = 0.0;
+             real_t q_acc_2_9 = 0.0;
+             real_t q_acc_3_0 = 0.0;
+             real_t q_acc_3_1 = 0.0;
+             real_t q_acc_3_2 = 0.0;
+             real_t q_acc_3_3 = 0.0;
+             real_t q_acc_3_4 = 0.0;
+             real_t q_acc_3_5 = 0.0;
+             real_t q_acc_3_6 = 0.0;
+             real_t q_acc_3_7 = 0.0;
+             real_t q_acc_3_8 = 0.0;
+             real_t q_acc_3_9 = 0.0;
+             for (int64_t q = 0; q < 11; q += 1)
+             {
+                const real_t tmp_qloop_0 = 4.0*_data_q_p_0[q];
+                const real_t tmp_qloop_1 = tmp_qloop_0*_data_q_p_1[q];
+                const real_t tmp_qloop_2 = tmp_qloop_0*_data_q_p_2[q];
+                const real_t tmp_qloop_3 = 4.0*_data_q_p_1[q]*_data_q_p_2[q];
+                const real_t tmp_qloop_4 = (_data_q_p_0[q]*_data_q_p_0[q]);
+                const real_t tmp_qloop_5 = tmp_qloop_4*2.0;
+                const real_t tmp_qloop_6 = (_data_q_p_1[q]*_data_q_p_1[q]);
+                const real_t tmp_qloop_7 = tmp_qloop_6*2.0;
+                const real_t tmp_qloop_8 = (_data_q_p_2[q]*_data_q_p_2[q]);
+                const real_t tmp_qloop_9 = tmp_qloop_8*2.0;
+                const real_t tmp_qloop_10 = tmp_qloop_1 + tmp_qloop_2;
+                const real_t tmp_qloop_11 = p_affine_0_0 + (-p_affine_0_0 + p_affine_1_0)*_data_q_p_0[q] + (-p_affine_0_0 + p_affine_2_0)*_data_q_p_1[q] + (-p_affine_0_0 + p_affine_3_0)*_data_q_p_2[q];
+                const real_t tmp_qloop_12 = p_affine_0_1 + (-p_affine_0_1 + p_affine_1_1)*_data_q_p_0[q] + (-p_affine_0_1 + p_affine_2_1)*_data_q_p_1[q] + (-p_affine_0_1 + p_affine_3_1)*_data_q_p_2[q];
+                const real_t tmp_qloop_13 = p_affine_0_2 + (-p_affine_0_2 + p_affine_1_2)*_data_q_p_0[q] + (-p_affine_0_2 + p_affine_2_2)*_data_q_p_1[q] + (-p_affine_0_2 + p_affine_3_2)*_data_q_p_2[q];
+                const real_t tmp_qloop_14 = (tmp_qloop_11*tmp_qloop_11);
+                const real_t tmp_qloop_15 = (tmp_qloop_12*tmp_qloop_12);
+                const real_t tmp_qloop_16 = (tmp_qloop_13*tmp_qloop_13);
+                const real_t tmp_qloop_17 = tmp_qloop_14 + tmp_qloop_15 + tmp_qloop_16;
+                const real_t tmp_qloop_18 = pow(tmp_qloop_17, -4.5000000000000000);
+                const real_t tmp_qloop_39 = -tmp_qloop_13 - tmp_qloop_31;
+                const real_t tmp_qloop_40 = -tmp_qloop_11 - tmp_qloop_20;
+                const real_t tmp_qloop_41 = -tmp_qloop_12 - tmp_qloop_27;
+                const real_t tmp_qloop_42 = radRayVertex*tmp_qloop_35 - tmp_qloop_37*(tmp_qloop_21*tmp_qloop_22*tmp_qloop_41 + tmp_qloop_25*tmp_qloop_32*tmp_qloop_40 - tmp_qloop_26*tmp_qloop_39 + tmp_qloop_28*tmp_qloop_29*tmp_qloop_39 - tmp_qloop_33*tmp_qloop_40 - tmp_qloop_34*tmp_qloop_41);
+                const real_t tmp_qloop_43 = -tmp_qloop_42;
+                const real_t tmp_qloop_44 = tmp_qloop_13*tmp_qloop_43 + tmp_qloop_17*tmp_qloop_38;
+                const real_t tmp_qloop_46 = tmp_qloop_11*tmp_qloop_43 + tmp_qloop_17*tmp_qloop_45;
+                const real_t tmp_qloop_48 = -tmp_qloop_12*tmp_qloop_42 - tmp_qloop_17*tmp_qloop_37*tmp_qloop_47;
+                const real_t tmp_qloop_49 = tmp_qloop_15*tmp_qloop_43 + tmp_qloop_17*(-tmp_qloop_12*tmp_qloop_37*tmp_qloop_47 + tmp_qloop_42);
+                const real_t tmp_qloop_50 = tmp_qloop_18*tmp_qloop_36;
+                const real_t tmp_qloop_51 = tmp_qloop_11*tmp_qloop_46;
+                const real_t tmp_qloop_52 = tmp_qloop_13*tmp_qloop_44;
+                const real_t tmp_qloop_53 = tmp_qloop_16*tmp_qloop_43 + tmp_qloop_17*(tmp_qloop_13*tmp_qloop_38 + tmp_qloop_42);
+                const real_t tmp_qloop_54 = tmp_qloop_12*tmp_qloop_48*tmp_qloop_50*1.0;
+                const real_t tmp_qloop_55 = -tmp_qloop_14*tmp_qloop_42 + tmp_qloop_17*(tmp_qloop_11*tmp_qloop_45 + tmp_qloop_42);
+                const real_t tmp_qloop_56 = (k_dof_0*(tmp_qloop_10 + tmp_qloop_3 + tmp_qloop_5 + tmp_qloop_7 + tmp_qloop_9 - 3.0*_data_q_p_0[q] - 3.0*_data_q_p_1[q] - 3.0*_data_q_p_2[q] + 1.0) + k_dof_1*(tmp_qloop_5 - _data_q_p_0[q]) + k_dof_2*(tmp_qloop_7 - _data_q_p_1[q]) + k_dof_3*(tmp_qloop_9 - _data_q_p_2[q]) + k_dof_4*tmp_qloop_3 + k_dof_5*tmp_qloop_2 + k_dof_6*tmp_qloop_1 + k_dof_7*(-tmp_qloop_2 - tmp_qloop_3 + tmp_qloop_8*-4.0 + 4.0*_data_q_p_2[q]) + k_dof_8*(-tmp_qloop_1 - tmp_qloop_3 + tmp_qloop_6*-4.0 + 4.0*_data_q_p_1[q]) + k_dof_9*(-tmp_qloop_10 + tmp_qloop_4*-4.0 + 4.0*_data_q_p_0[q]))*abs(tmp_qloop_11*tmp_qloop_12*tmp_qloop_13*tmp_qloop_18*tmp_qloop_36*tmp_qloop_44*tmp_qloop_46*tmp_qloop_48*-2.0 - tmp_qloop_18*tmp_qloop_36*tmp_qloop_49*tmp_qloop_53*tmp_qloop_55 + tmp_qloop_49*tmp_qloop_50*tmp_qloop_51*tmp_qloop_52*1.0 + tmp_qloop_51*tmp_qloop_53*tmp_qloop_54 + tmp_qloop_52*tmp_qloop_54*tmp_qloop_55)*_data_q_w[q];
+                const real_t tmp_qloop_57 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 14];
+                const real_t q_tmp_0_0 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q];
+                const real_t q_tmp_0_1 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 1];
+                const real_t q_tmp_0_2 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 2];
+                const real_t q_tmp_0_3 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 3];
+                const real_t q_tmp_0_4 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 4];
+                const real_t q_tmp_0_5 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 5];
+                const real_t q_tmp_0_6 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 6];
+                const real_t q_tmp_0_7 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 7];
+                const real_t q_tmp_0_8 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 8];
+                const real_t q_tmp_0_9 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 9];
+                const real_t q_tmp_1_0 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 10];
+                const real_t q_tmp_1_1 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 11];
+                const real_t q_tmp_1_2 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 12];
+                const real_t q_tmp_1_3 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 13];
+                const real_t q_tmp_1_4 = tmp_qloop_57;
+                const real_t q_tmp_1_5 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 15];
+                const real_t q_tmp_1_6 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 16];
+                const real_t q_tmp_1_7 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 17];
+                const real_t q_tmp_1_8 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 18];
+                const real_t q_tmp_1_9 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 19];
+                const real_t q_tmp_2_0 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 20];
+                const real_t q_tmp_2_1 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 21];
+                const real_t q_tmp_2_2 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 22];
+                const real_t q_tmp_2_3 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 23];
+                const real_t q_tmp_2_4 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 24];
+                const real_t q_tmp_2_5 = tmp_qloop_57;
+                const real_t q_tmp_2_6 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 25];
+                const real_t q_tmp_2_7 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 26];
+                const real_t q_tmp_2_8 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 27];
+                const real_t q_tmp_2_9 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 28];
+                const real_t q_tmp_3_0 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 29];
+                const real_t q_tmp_3_1 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 30];
+                const real_t q_tmp_3_2 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 31];
+                const real_t q_tmp_3_3 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 32];
+                const real_t q_tmp_3_4 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 33];
+                const real_t q_tmp_3_5 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 34];
+                const real_t q_tmp_3_6 = tmp_qloop_57;
+                const real_t q_tmp_3_7 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 35];
+                const real_t q_tmp_3_8 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 36];
+                const real_t q_tmp_3_9 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 37];
+                q_acc_0_0 = q_acc_0_0 + q_tmp_0_0;
+                q_acc_0_1 = q_acc_0_1 + q_tmp_0_1;
+                q_acc_0_2 = q_acc_0_2 + q_tmp_0_2;
+                q_acc_0_3 = q_acc_0_3 + q_tmp_0_3;
+                q_acc_0_4 = q_acc_0_4 + q_tmp_0_4;
+                q_acc_0_5 = q_acc_0_5 + q_tmp_0_5;
+                q_acc_0_6 = q_acc_0_6 + q_tmp_0_6;
+                q_acc_0_7 = q_acc_0_7 + q_tmp_0_7;
+                q_acc_0_8 = q_acc_0_8 + q_tmp_0_8;
+                q_acc_0_9 = q_acc_0_9 + q_tmp_0_9;
+                q_acc_1_0 = q_acc_1_0 + q_tmp_1_0;
+                q_acc_1_1 = q_acc_1_1 + q_tmp_1_1;
+                q_acc_1_2 = q_acc_1_2 + q_tmp_1_2;
+                q_acc_1_3 = q_acc_1_3 + q_tmp_1_3;
+                q_acc_1_4 = q_acc_1_4 + q_tmp_1_4;
+                q_acc_1_5 = q_acc_1_5 + q_tmp_1_5;
+                q_acc_1_6 = q_acc_1_6 + q_tmp_1_6;
+                q_acc_1_7 = q_acc_1_7 + q_tmp_1_7;
+                q_acc_1_8 = q_acc_1_8 + q_tmp_1_8;
+                q_acc_1_9 = q_acc_1_9 + q_tmp_1_9;
+                q_acc_2_0 = q_acc_2_0 + q_tmp_2_0;
+                q_acc_2_1 = q_acc_2_1 + q_tmp_2_1;
+                q_acc_2_2 = q_acc_2_2 + q_tmp_2_2;
+                q_acc_2_3 = q_acc_2_3 + q_tmp_2_3;
+                q_acc_2_4 = q_acc_2_4 + q_tmp_2_4;
+                q_acc_2_5 = q_acc_2_5 + q_tmp_2_5;
+                q_acc_2_6 = q_acc_2_6 + q_tmp_2_6;
+                q_acc_2_7 = q_acc_2_7 + q_tmp_2_7;
+                q_acc_2_8 = q_acc_2_8 + q_tmp_2_8;
+                q_acc_2_9 = q_acc_2_9 + q_tmp_2_9;
+                q_acc_3_0 = q_acc_3_0 + q_tmp_3_0;
+                q_acc_3_1 = q_acc_3_1 + q_tmp_3_1;
+                q_acc_3_2 = q_acc_3_2 + q_tmp_3_2;
+                q_acc_3_3 = q_acc_3_3 + q_tmp_3_3;
+                q_acc_3_4 = q_acc_3_4 + q_tmp_3_4;
+                q_acc_3_5 = q_acc_3_5 + q_tmp_3_5;
+                q_acc_3_6 = q_acc_3_6 + q_tmp_3_6;
+                q_acc_3_7 = q_acc_3_7 + q_tmp_3_7;
+                q_acc_3_8 = q_acc_3_8 + q_tmp_3_8;
+                q_acc_3_9 = q_acc_3_9 + q_tmp_3_9;
+             }
+             const real_t elMatVec_0 = q_acc_0_0*src_dof_0 + q_acc_0_1*src_dof_1 + q_acc_0_2*src_dof_2 + q_acc_0_3*src_dof_3 + q_acc_0_4*src_dof_4 + q_acc_0_5*src_dof_5 + q_acc_0_6*src_dof_6 + q_acc_0_7*src_dof_7 + q_acc_0_8*src_dof_8 + q_acc_0_9*src_dof_9;
+             const real_t elMatVec_1 = q_acc_1_0*src_dof_0 + q_acc_1_1*src_dof_1 + q_acc_1_2*src_dof_2 + q_acc_1_3*src_dof_3 + q_acc_1_4*src_dof_4 + q_acc_1_5*src_dof_5 + q_acc_1_6*src_dof_6 + q_acc_1_7*src_dof_7 + q_acc_1_8*src_dof_8 + q_acc_1_9*src_dof_9;
+             const real_t elMatVec_2 = q_acc_2_0*src_dof_0 + q_acc_2_1*src_dof_1 + q_acc_2_2*src_dof_2 + q_acc_2_3*src_dof_3 + q_acc_2_4*src_dof_4 + q_acc_2_5*src_dof_5 + q_acc_2_6*src_dof_6 + q_acc_2_7*src_dof_7 + q_acc_2_8*src_dof_8 + q_acc_2_9*src_dof_9;
+             const real_t elMatVec_3 = q_acc_3_0*src_dof_0 + q_acc_3_1*src_dof_1 + q_acc_3_2*src_dof_2 + q_acc_3_3*src_dof_3 + q_acc_3_4*src_dof_4 + q_acc_3_5*src_dof_5 + q_acc_3_6*src_dof_6 + q_acc_3_7*src_dof_7 + q_acc_3_8*src_dof_8 + q_acc_3_9*src_dof_9;
+             _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1] = elMatVec_0 + _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1];
+             _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))] = elMatVec_1 + _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))];
+             _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))] = elMatVec_2 + _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))];
+             _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1] = elMatVec_3 + _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1];
+          }
+       }
+       const real_t tmp_coords_jac_0_GREEN_DOWN = 1.0 / (micro_edges_per_macro_edge_float)*1.0;
+       const real_t tmp_coords_jac_1_GREEN_DOWN = macro_vertex_coord_id_0comp0 + tmp_coords_jac_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0);
+       const real_t tmp_coords_jac_2_GREEN_DOWN = macro_vertex_coord_id_0comp1 + tmp_coords_jac_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1);
+       const real_t tmp_coords_jac_3_GREEN_DOWN = macro_vertex_coord_id_0comp2 + tmp_coords_jac_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2);
+       const real_t tmp_coords_jac_4_GREEN_DOWN = tmp_coords_jac_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0);
+       const real_t tmp_coords_jac_5_GREEN_DOWN = tmp_coords_jac_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1);
+       const real_t tmp_coords_jac_6_GREEN_DOWN = tmp_coords_jac_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2);
+       const real_t tmp_coords_jac_7_GREEN_DOWN = tmp_coords_jac_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0);
+       const real_t tmp_coords_jac_8_GREEN_DOWN = tmp_coords_jac_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1);
+       const real_t tmp_coords_jac_9_GREEN_DOWN = tmp_coords_jac_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2);
+       const real_t p_affine_const_0_0_GREEN_DOWN = tmp_coords_jac_1_GREEN_DOWN;
+       const real_t p_affine_const_0_1_GREEN_DOWN = tmp_coords_jac_2_GREEN_DOWN;
+       const real_t p_affine_const_0_2_GREEN_DOWN = tmp_coords_jac_3_GREEN_DOWN;
+       const real_t p_affine_const_1_0_GREEN_DOWN = tmp_coords_jac_1_GREEN_DOWN + tmp_coords_jac_4_GREEN_DOWN;
+       const real_t p_affine_const_1_1_GREEN_DOWN = tmp_coords_jac_2_GREEN_DOWN + tmp_coords_jac_5_GREEN_DOWN;
+       const real_t p_affine_const_1_2_GREEN_DOWN = tmp_coords_jac_3_GREEN_DOWN + tmp_coords_jac_6_GREEN_DOWN;
+       const real_t p_affine_const_2_0_GREEN_DOWN = macro_vertex_coord_id_0comp0 + tmp_coords_jac_4_GREEN_DOWN + tmp_coords_jac_7_GREEN_DOWN;
+       const real_t p_affine_const_2_1_GREEN_DOWN = macro_vertex_coord_id_0comp1 + tmp_coords_jac_5_GREEN_DOWN + tmp_coords_jac_8_GREEN_DOWN;
+       const real_t p_affine_const_2_2_GREEN_DOWN = macro_vertex_coord_id_0comp2 + tmp_coords_jac_6_GREEN_DOWN + tmp_coords_jac_9_GREEN_DOWN;
+       const real_t p_affine_const_3_0_GREEN_DOWN = tmp_coords_jac_1_GREEN_DOWN + tmp_coords_jac_7_GREEN_DOWN;
+       const real_t p_affine_const_3_1_GREEN_DOWN = tmp_coords_jac_2_GREEN_DOWN + tmp_coords_jac_8_GREEN_DOWN;
+       const real_t p_affine_const_3_2_GREEN_DOWN = tmp_coords_jac_3_GREEN_DOWN + tmp_coords_jac_9_GREEN_DOWN;
+       const real_t jac_affine_0_0_GREEN_DOWN = -p_affine_const_0_0_GREEN_DOWN + p_affine_const_1_0_GREEN_DOWN;
+       const real_t jac_affine_0_1_GREEN_DOWN = -p_affine_const_0_0_GREEN_DOWN + p_affine_const_2_0_GREEN_DOWN;
+       const real_t jac_affine_0_2_GREEN_DOWN = -p_affine_const_0_0_GREEN_DOWN + p_affine_const_3_0_GREEN_DOWN;
+       const real_t jac_affine_1_0_GREEN_DOWN = -p_affine_const_0_1_GREEN_DOWN + p_affine_const_1_1_GREEN_DOWN;
+       const real_t jac_affine_1_1_GREEN_DOWN = -p_affine_const_0_1_GREEN_DOWN + p_affine_const_2_1_GREEN_DOWN;
+       const real_t jac_affine_1_2_GREEN_DOWN = -p_affine_const_0_1_GREEN_DOWN + p_affine_const_3_1_GREEN_DOWN;
+       const real_t jac_affine_2_0_GREEN_DOWN = -p_affine_const_0_2_GREEN_DOWN + p_affine_const_1_2_GREEN_DOWN;
+       const real_t jac_affine_2_1_GREEN_DOWN = -p_affine_const_0_2_GREEN_DOWN + p_affine_const_2_2_GREEN_DOWN;
+       const real_t jac_affine_2_2_GREEN_DOWN = -p_affine_const_0_2_GREEN_DOWN + p_affine_const_3_2_GREEN_DOWN;
+       const real_t abs_det_jac_affine_GREEN_DOWN = abs(jac_affine_0_0_GREEN_DOWN*jac_affine_1_1_GREEN_DOWN*jac_affine_2_2_GREEN_DOWN - jac_affine_0_0_GREEN_DOWN*jac_affine_1_2_GREEN_DOWN*jac_affine_2_1_GREEN_DOWN - jac_affine_0_1_GREEN_DOWN*jac_affine_1_0_GREEN_DOWN*jac_affine_2_2_GREEN_DOWN + jac_affine_0_1_GREEN_DOWN*jac_affine_1_2_GREEN_DOWN*jac_affine_2_0_GREEN_DOWN + jac_affine_0_2_GREEN_DOWN*jac_affine_1_0_GREEN_DOWN*jac_affine_2_1_GREEN_DOWN - jac_affine_0_2_GREEN_DOWN*jac_affine_1_1_GREEN_DOWN*jac_affine_2_0_GREEN_DOWN);
+       {
+          /* CellType.GREEN_DOWN */
+          const real_t _data_phi_psi_jac_affine_det_0_0_GREEN_DOWN [] = {((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.010749089276961213)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0013747922567553051)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.01396287204173041)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.008164600589399525)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.012151214443257608)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.019083835042434261)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.072053489056043002)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0046416810200408439)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.017525267423213611)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.027523941260433657)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.044193869792483409)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0056523290877285)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0574070354280087)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.033567987580949914)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.049958575567593019)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.078461393265588306)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.29624114484395714)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.019083835042434251)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.072053489056042974)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.11316209633188964)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.02813947970791995)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0035989968838093011)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.036552673846023863)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.021373681684931475)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.031810029988819218)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.18862506775555832)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.012151214443257601)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.045878482755592566)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.07205348905604296)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0074529241534464254)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.00095321772406372263)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0096812133204938391)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0056609585582659784)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0084250932599439499)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.013231853551815916)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0032183281481346165)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.012151214443257603)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.019083835042434251)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-2.9012262911449775e-5)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.00014612615736184792)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.00047804109319682082)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0032416491456343029)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0021116678219306132)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.00052791366753715454)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*7.0977528354966774e-5)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*9.9895812682163066e-5)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*1.3430904167093961e-5)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*3.3577051293550935e-6)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.00015331944058422371)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.00077222451657154147)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0025262763269762738)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.017130957178208683)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.011159409734644826)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0027898350580443485)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.00037509087018302439)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.00052791366753715541)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*7.0977528354966354e-5)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*1.7744271574084403e-5)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.00061328158194601311)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0030889173045236238)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.010105168244399365)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.068524255492113287)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.044637916950180538)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0015003728252777238)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0021116678219306167)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.000283911881665389)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*7.0977528354965283e-5)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0045614398903685138)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.022974618879299673)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.075159794270401023)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.50966681808331993)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.33200601647520916)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.083000987173061064)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.015706073884687172)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0021116678219306002)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.00052791366753714337)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.02118185416019976)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.040792474062018545)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.049791196691139579)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.035867609546541376)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.059688031245203839)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.021562946853404222)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.071405876738584673)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.080243884747120436)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.26572828761452333)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.095997217930328324)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.005691937733975882)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.010961657115556597)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.013379772569609637)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.009638259175114022)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.016039226535213912)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0057943440608341223)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.019188018251946451)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.021562946853404225)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0714058767385847)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.025796145274243024)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.015755757300754607)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.03034277906728966)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.037036323866953338)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.026679503441931235)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.044397913749511943)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.053114031247306501)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.059688031245203839)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.19765740883375349)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0714058767385847)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0047578795027626341)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0091628275191950465)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.011184125448277639)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0080566017962316674)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.013407157762204741)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0048434807489961713)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.018024424659562992)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.059688031245203853)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.021562946853404232)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.00015688175714697789)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0014950153325289843)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0012666972383742025)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0015490159490981592)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0062931924029516256)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0020445450956193246)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0056480276621754888)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.00013641635559728395)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.00037684830314454006)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0001224312400849633)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.002351271046368435)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.022406596720860313)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.018984670973016902)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.023215932927530856)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.094319450236798913)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.030642694050274453)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.084650020197820364)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0020445450956193168)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0056480276621755114)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0018349426677638542)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0072373072709378001)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.068968409922504109)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.058435584226493004)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.071459579463428277)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.29031907828914638)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.26055618198886238)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0062931924029516022)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.017384857321768536)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0056480276621755391)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0026198528001873307)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.024966064738678271)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.021153258143552994)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.025867850064795264)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.10509340307518385)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.034142957672569287)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0022780900577755898)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0062931924029516507)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0020445450956193428)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0016747236096797923)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.022395383667253931)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0010823709889014185)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0036990864559166563)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.00050834301173610229)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.015588264867481133)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0037476086033569342)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.00081420248681843786)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.00019574418772167287)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0060024671806827717)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.032063320402672957)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.42876947450525699)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.020722468836717273)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.070820637834037012)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.009732450635762396)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.29844418988237825)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.071749615697017544)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.015588264867481126)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0037476086033569277)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.1149198753205366)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0010456048186450997)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.013982439217157605)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.00067577259615595462)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0023095050434207478)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.00031738126788423253)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0023397995892677865)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.00050834301173610208)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.00012221184720903605)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0037476086033569355)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0043492174836919605)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.058160280082415236)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0028108917803285017)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0096064397699850354)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0013201547416997409)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.040482354049473784)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0021144645423690485)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.00050834301173610142)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.015588264867481138)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0068956855714663416)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.010091290281029655)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0080216243244021178)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0035198334831929206)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.018978279386089755)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.056811998632973766)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.01396686284573566)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.015485631440181358)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0038070424489360009)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.01139648574059631)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.025298140458325055)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.037021827096001436)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.029428861968758362)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.012913181862031289)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.069625445155635055)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.20842567519062763)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.051240105769272605)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.056811998632973738)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.013966862845735664)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.041810186095187066)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0084509467915105906)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.012367292031926986)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0098308311254096271)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0043137009617327136)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.023258663351751644)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.017116965895609845)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.018978279386089748)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0046656873831529451)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.01396686284573564)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.034375305526338835)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.050305540032273111)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.039988161309129681)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.017546529657219402)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.094607584046545581)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.28321039153111127)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.077196575526473174)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.018978279386089758)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.056811998632973676)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.036989007988906066)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.024350339729610097)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.022721604194642659)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0020718315986862396)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.053354679030800815)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.058170268354931241)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0093518161026560475)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.22863973450271471)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.036757553494219546)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.040075149727639509)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0094107024991835538)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0061951865002202629)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.005780805406949952)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.00052711310369534133)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.013574438423676774)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.014799615333023134)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0023792787088414437)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.058170268354931248)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.009351816102656051)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.010195875266786407)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0086316433720857837)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0056823218562164577)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0053022450428696702)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.00048347637471763576)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.012450687019346486)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0021823116073744556)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.053354679030800829)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0085776318491057792)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0093518161026560475)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.053690642094179834)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.035345240285608669)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.032981082352521167)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0030073250106582576)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.077445898974953548)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.084435869696849797)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.3318773554937019)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.053354679030800836)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.058170268354931241)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.2830869924348563)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.050308558644386672)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.041516821634179475)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.06274193203760102)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.020160825588817252)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.025383152182066201)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.015152528090816651)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.23919668259056145)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.14278898169094956)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.17977609281010931)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.030040718507945225)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0053386601615906274)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0044056957238823311)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0066580689659201985)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.002139433116273644)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0026936176861649991)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0016079609562587173)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.025383152182066195)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.015152528090816651)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.019077538505445499)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.023860144794362503)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0042402848796628178)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0034992684300787832)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0052882386796338152)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0016992664113091131)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0012771392678196903)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.020160825588817249)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.012035048833865587)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.01515252809081665)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.039969943152159265)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0071032236832497221)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0058618906729116316)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0088587307923610938)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0028465703978647464)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0035839271208240476)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.033772932211040815)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.020160825588817245)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.025383152182066191)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.014935575584147695)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.007791142568055953)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0073254854313094774)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.015186461110532538)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.090150328303510344)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.012455650259246793)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.015731589118882311)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.029517331411893867)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.037280633286332542)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0051508911658584714)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0063024771210085937)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0032876870064389215)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0030911901634452068)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0064083451728372039)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.038041411821271319)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0052560043865672946)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0066383769370158769)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.012455650259246798)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.015731589118882314)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0021735602717637636)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.045615473279886819)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.023795310306631609)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.022373124026687209)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.046381715060167777)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.27533253531028662)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.048046617223388682)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.090150328303510385)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.11386060898348732)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.015731589118882311)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.036116528170846006)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.018840185867421855)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.017714155002223078)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.036723208116341576)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.21799741519439725)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.030119685775736597)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.07137746553252089)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.090150328303510371)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.012455650259246793)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.032896921427909828)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.020934012679446525)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.020127575524041673)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.033499901528319088)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0098838942808698073)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.075244795478138254)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.040011251730840761)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.067458477890573201)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.035870894765649017)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.27308043404340754)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.036694010925042916)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.023350297128803515)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.022450777887903339)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.037366589313281677)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.011024731463671476)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.083929839859876898)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.044629504659074608)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.075244795478138254)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.040011251730840761)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.30460043053460045)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0048199974818136015)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0030672137093527801)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0029490559946009505)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0049083450365209726)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0014481703295155801)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.005862376301973493)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0098838942808698056)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0052557386811928905)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.040011251730840761)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.009064443351184925)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.005768174157623188)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0055459678357496689)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.009230588957667556)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0027234159279729726)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.020733009548559916)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.018587561536304909)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0098838942808698056)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.075244795478138254)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.012773605317404142)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0093099638314587951)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.055932196812816262)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0011391519589580709)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0035913578872906952)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.00039530708258920854)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.034759025419540214)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.00061078662356131824)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.053705963564394235)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0059115099192464755)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0082672024196058687)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0060254997396084128)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.036199865373541695)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.00073727030054430856)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0023243619853375876)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.00025584661404999347)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.022496381554864123)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.00039530708258920833)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.034759025419540221)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0038259870955407193)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.075107388466231287)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.054741559075980606)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.32887513974352289)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.006698087703317224)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.02111678772433076)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.20437923045390871)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0035913578872906935)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.31578513412249021)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.034759025419540214)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.00085418052598187596)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.00062256423341908954)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0037402277670030831)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-7.6175942132039452e-5)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.00024015678369014598)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*2.6434479799555231e-5)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*4.0843757608938361e-5)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0035913578872906957)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.00039530708258920849))};
+      
+          for (int64_t ctr_2 = 0; ctr_2 < micro_edges_per_macro_edge; ctr_2 += 1)
+          for (int64_t ctr_1 = 0; ctr_1 < -ctr_2 + micro_edges_per_macro_edge; ctr_1 += 1)
+          for (int64_t ctr_0 = 0; ctr_0 < -ctr_1 - ctr_2 + micro_edges_per_macro_edge - 1; ctr_0 += 1)
+          {
+         
+             const int64_t phantom_ctr_0 = ctr_0;
+             real_t _data_float_loop_ctr_array_dim_0[4];
+             _data_float_loop_ctr_array_dim_0[0] = (real_t) ctr_0+ 0;
+             _data_float_loop_ctr_array_dim_0[1] = (real_t) ctr_0+ 1;
+             _data_float_loop_ctr_array_dim_0[2] = (real_t) ctr_0+ 2;
+             _data_float_loop_ctr_array_dim_0[3] = (real_t) ctr_0+ 3;
+             real_t _data_float_loop_ctr_array_dim_1[4];
+             _data_float_loop_ctr_array_dim_1[0] = (real_t) ctr_1;
+             _data_float_loop_ctr_array_dim_1[1] = (real_t) ctr_1;
+             _data_float_loop_ctr_array_dim_1[2] = (real_t) ctr_1;
+             _data_float_loop_ctr_array_dim_1[3] = (real_t) ctr_1;
+             real_t _data_float_loop_ctr_array_dim_2[4];
+             _data_float_loop_ctr_array_dim_2[0] = (real_t) ctr_2;
+             _data_float_loop_ctr_array_dim_2[1] = (real_t) ctr_2;
+             _data_float_loop_ctr_array_dim_2[2] = (real_t) ctr_2;
+             _data_float_loop_ctr_array_dim_2[3] = (real_t) ctr_2;
+         
+             const real_t p_affine_0_0 = macro_vertex_coord_id_0comp0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0)*1.0*_data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0)*(1.0 + _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0)*1.0*_data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0];
+             const real_t p_affine_0_1 = macro_vertex_coord_id_0comp1 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1)*1.0*_data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1)*(1.0 + _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1)*1.0*_data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0];
+             const real_t p_affine_0_2 = macro_vertex_coord_id_0comp2 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2)*1.0*_data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2)*(1.0 + _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2)*1.0*_data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0];
+             const real_t p_affine_1_0 = macro_vertex_coord_id_0comp0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0)*(1.0 + _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0)*(1.0 + _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0)*1.0*_data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0];
+             const real_t p_affine_1_1 = macro_vertex_coord_id_0comp1 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1)*(1.0 + _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1)*(1.0 + _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1)*1.0*_data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0];
+             const real_t p_affine_1_2 = macro_vertex_coord_id_0comp2 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2)*(1.0 + _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2)*(1.0 + _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2)*1.0*_data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0];
+             const real_t p_affine_2_0 = macro_vertex_coord_id_0comp0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0)*(1.0 + _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0)*1.0*_data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0)*(1.0 + _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0])*1.0;
+             const real_t p_affine_2_1 = macro_vertex_coord_id_0comp1 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1)*(1.0 + _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1)*1.0*_data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1)*(1.0 + _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0])*1.0;
+             const real_t p_affine_2_2 = macro_vertex_coord_id_0comp2 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2)*(1.0 + _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2)*1.0*_data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2)*(1.0 + _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0])*1.0;
+             const real_t p_affine_3_0 = macro_vertex_coord_id_0comp0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0)*1.0*_data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0)*(1.0 + _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0)*(1.0 + _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0])*1.0;
+             const real_t p_affine_3_1 = macro_vertex_coord_id_0comp1 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1)*1.0*_data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1)*(1.0 + _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1)*(1.0 + _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0])*1.0;
+             const real_t p_affine_3_2 = macro_vertex_coord_id_0comp2 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2)*1.0*_data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2)*(1.0 + _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2)*(1.0 + _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0])*1.0;
+             const real_t src_dof_0 = _data_srcVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))];
+             const real_t src_dof_1 = _data_srcVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1];
+             const real_t src_dof_2 = _data_srcVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1];
+             const real_t src_dof_3 = _data_srcVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))];
+             const real_t src_dof_4 = _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))];
+             const real_t src_dof_5 = _data_srcEdge[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 5*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))];
+             const real_t src_dof_6 = _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1];
+             const real_t src_dof_7 = _data_srcEdge[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))];
+             const real_t src_dof_8 = _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge - 1)*(micro_edges_per_macro_edge + 1)) / (6)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))];
+             const real_t src_dof_9 = _data_srcEdge[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))];
+             const real_t k_dof_0 = _data_kVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))];
+             const real_t k_dof_1 = _data_kVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1];
+             const real_t k_dof_2 = _data_kVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1];
+             const real_t k_dof_3 = _data_kVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))];
+             const real_t k_dof_4 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))];
+             const real_t k_dof_5 = _data_kEdge[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 5*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))];
+             const real_t k_dof_6 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1];
+             const real_t k_dof_7 = _data_kEdge[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))];
+             const real_t k_dof_8 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge - 1)*(micro_edges_per_macro_edge + 1)) / (6)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))];
+             const real_t k_dof_9 = _data_kEdge[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))];
+             real_t q_acc_0_0 = 0.0;
+             real_t q_acc_0_1 = 0.0;
+             real_t q_acc_0_2 = 0.0;
+             real_t q_acc_0_3 = 0.0;
+             real_t q_acc_0_4 = 0.0;
+             real_t q_acc_0_5 = 0.0;
+             real_t q_acc_0_6 = 0.0;
+             real_t q_acc_0_7 = 0.0;
+             real_t q_acc_0_8 = 0.0;
+             real_t q_acc_0_9 = 0.0;
+             real_t q_acc_1_0 = 0.0;
+             real_t q_acc_1_1 = 0.0;
+             real_t q_acc_1_2 = 0.0;
+             real_t q_acc_1_3 = 0.0;
+             real_t q_acc_1_4 = 0.0;
+             real_t q_acc_1_5 = 0.0;
+             real_t q_acc_1_6 = 0.0;
+             real_t q_acc_1_7 = 0.0;
+             real_t q_acc_1_8 = 0.0;
+             real_t q_acc_1_9 = 0.0;
+             real_t q_acc_2_0 = 0.0;
+             real_t q_acc_2_1 = 0.0;
+             real_t q_acc_2_2 = 0.0;
+             real_t q_acc_2_3 = 0.0;
+             real_t q_acc_2_4 = 0.0;
+             real_t q_acc_2_5 = 0.0;
+             real_t q_acc_2_6 = 0.0;
+             real_t q_acc_2_7 = 0.0;
+             real_t q_acc_2_8 = 0.0;
+             real_t q_acc_2_9 = 0.0;
+             real_t q_acc_3_0 = 0.0;
+             real_t q_acc_3_1 = 0.0;
+             real_t q_acc_3_2 = 0.0;
+             real_t q_acc_3_3 = 0.0;
+             real_t q_acc_3_4 = 0.0;
+             real_t q_acc_3_5 = 0.0;
+             real_t q_acc_3_6 = 0.0;
+             real_t q_acc_3_7 = 0.0;
+             real_t q_acc_3_8 = 0.0;
+             real_t q_acc_3_9 = 0.0;
+             for (int64_t q = 0; q < 11; q += 1)
+             {
+                const real_t tmp_qloop_0 = 4.0*_data_q_p_0[q];
+                const real_t tmp_qloop_1 = tmp_qloop_0*_data_q_p_1[q];
+                const real_t tmp_qloop_2 = tmp_qloop_0*_data_q_p_2[q];
+                const real_t tmp_qloop_3 = 4.0*_data_q_p_1[q]*_data_q_p_2[q];
+                const real_t tmp_qloop_4 = (_data_q_p_0[q]*_data_q_p_0[q]);
+                const real_t tmp_qloop_5 = tmp_qloop_4*2.0;
+                const real_t tmp_qloop_6 = (_data_q_p_1[q]*_data_q_p_1[q]);
+                const real_t tmp_qloop_7 = tmp_qloop_6*2.0;
+                const real_t tmp_qloop_8 = (_data_q_p_2[q]*_data_q_p_2[q]);
+                const real_t tmp_qloop_9 = tmp_qloop_8*2.0;
+                const real_t tmp_qloop_10 = tmp_qloop_1 + tmp_qloop_2;
+                const real_t tmp_qloop_11 = p_affine_0_0 + (-p_affine_0_0 + p_affine_1_0)*_data_q_p_0[q] + (-p_affine_0_0 + p_affine_2_0)*_data_q_p_1[q] + (-p_affine_0_0 + p_affine_3_0)*_data_q_p_2[q];
+                const real_t tmp_qloop_12 = p_affine_0_1 + (-p_affine_0_1 + p_affine_1_1)*_data_q_p_0[q] + (-p_affine_0_1 + p_affine_2_1)*_data_q_p_1[q] + (-p_affine_0_1 + p_affine_3_1)*_data_q_p_2[q];
+                const real_t tmp_qloop_13 = p_affine_0_2 + (-p_affine_0_2 + p_affine_1_2)*_data_q_p_0[q] + (-p_affine_0_2 + p_affine_2_2)*_data_q_p_1[q] + (-p_affine_0_2 + p_affine_3_2)*_data_q_p_2[q];
+                const real_t tmp_qloop_14 = (tmp_qloop_11*tmp_qloop_11);
+                const real_t tmp_qloop_15 = (tmp_qloop_12*tmp_qloop_12);
+                const real_t tmp_qloop_16 = (tmp_qloop_13*tmp_qloop_13);
+                const real_t tmp_qloop_17 = tmp_qloop_14 + tmp_qloop_15 + tmp_qloop_16;
+                const real_t tmp_qloop_18 = pow(tmp_qloop_17, -4.5000000000000000);
+                const real_t tmp_qloop_39 = -tmp_qloop_13 - tmp_qloop_31;
+                const real_t tmp_qloop_40 = -tmp_qloop_11 - tmp_qloop_20;
+                const real_t tmp_qloop_41 = -tmp_qloop_12 - tmp_qloop_27;
+                const real_t tmp_qloop_42 = radRayVertex*tmp_qloop_35 - tmp_qloop_37*(tmp_qloop_21*tmp_qloop_22*tmp_qloop_41 + tmp_qloop_25*tmp_qloop_32*tmp_qloop_40 - tmp_qloop_26*tmp_qloop_39 + tmp_qloop_28*tmp_qloop_29*tmp_qloop_39 - tmp_qloop_33*tmp_qloop_40 - tmp_qloop_34*tmp_qloop_41);
+                const real_t tmp_qloop_43 = -tmp_qloop_42;
+                const real_t tmp_qloop_44 = tmp_qloop_13*tmp_qloop_43 + tmp_qloop_17*tmp_qloop_38;
+                const real_t tmp_qloop_46 = tmp_qloop_11*tmp_qloop_43 + tmp_qloop_17*tmp_qloop_45;
+                const real_t tmp_qloop_48 = -tmp_qloop_12*tmp_qloop_42 - tmp_qloop_17*tmp_qloop_37*tmp_qloop_47;
+                const real_t tmp_qloop_49 = tmp_qloop_15*tmp_qloop_43 + tmp_qloop_17*(-tmp_qloop_12*tmp_qloop_37*tmp_qloop_47 + tmp_qloop_42);
+                const real_t tmp_qloop_50 = tmp_qloop_18*tmp_qloop_36;
+                const real_t tmp_qloop_51 = tmp_qloop_11*tmp_qloop_46;
+                const real_t tmp_qloop_52 = tmp_qloop_13*tmp_qloop_44;
+                const real_t tmp_qloop_53 = tmp_qloop_16*tmp_qloop_43 + tmp_qloop_17*(tmp_qloop_13*tmp_qloop_38 + tmp_qloop_42);
+                const real_t tmp_qloop_54 = tmp_qloop_12*tmp_qloop_48*tmp_qloop_50*1.0;
+                const real_t tmp_qloop_55 = -tmp_qloop_14*tmp_qloop_42 + tmp_qloop_17*(tmp_qloop_11*tmp_qloop_45 + tmp_qloop_42);
+                const real_t tmp_qloop_56 = (k_dof_0*(tmp_qloop_10 + tmp_qloop_3 + tmp_qloop_5 + tmp_qloop_7 + tmp_qloop_9 - 3.0*_data_q_p_0[q] - 3.0*_data_q_p_1[q] - 3.0*_data_q_p_2[q] + 1.0) + k_dof_1*(tmp_qloop_5 - _data_q_p_0[q]) + k_dof_2*(tmp_qloop_7 - _data_q_p_1[q]) + k_dof_3*(tmp_qloop_9 - _data_q_p_2[q]) + k_dof_4*tmp_qloop_3 + k_dof_5*tmp_qloop_2 + k_dof_6*tmp_qloop_1 + k_dof_7*(-tmp_qloop_2 - tmp_qloop_3 + tmp_qloop_8*-4.0 + 4.0*_data_q_p_2[q]) + k_dof_8*(-tmp_qloop_1 - tmp_qloop_3 + tmp_qloop_6*-4.0 + 4.0*_data_q_p_1[q]) + k_dof_9*(-tmp_qloop_10 + tmp_qloop_4*-4.0 + 4.0*_data_q_p_0[q]))*abs(tmp_qloop_11*tmp_qloop_12*tmp_qloop_13*tmp_qloop_18*tmp_qloop_36*tmp_qloop_44*tmp_qloop_46*tmp_qloop_48*-2.0 - tmp_qloop_18*tmp_qloop_36*tmp_qloop_49*tmp_qloop_53*tmp_qloop_55 + tmp_qloop_49*tmp_qloop_50*tmp_qloop_51*tmp_qloop_52*1.0 + tmp_qloop_51*tmp_qloop_53*tmp_qloop_54 + tmp_qloop_52*tmp_qloop_54*tmp_qloop_55)*_data_q_w[q];
+                const real_t tmp_qloop_57 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 14];
+                const real_t q_tmp_0_0 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q];
+                const real_t q_tmp_0_1 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 1];
+                const real_t q_tmp_0_2 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 2];
+                const real_t q_tmp_0_3 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 3];
+                const real_t q_tmp_0_4 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 4];
+                const real_t q_tmp_0_5 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 5];
+                const real_t q_tmp_0_6 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 6];
+                const real_t q_tmp_0_7 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 7];
+                const real_t q_tmp_0_8 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 8];
+                const real_t q_tmp_0_9 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 9];
+                const real_t q_tmp_1_0 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 10];
+                const real_t q_tmp_1_1 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 11];
+                const real_t q_tmp_1_2 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 12];
+                const real_t q_tmp_1_3 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 13];
+                const real_t q_tmp_1_4 = tmp_qloop_57;
+                const real_t q_tmp_1_5 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 15];
+                const real_t q_tmp_1_6 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 16];
+                const real_t q_tmp_1_7 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 17];
+                const real_t q_tmp_1_8 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 18];
+                const real_t q_tmp_1_9 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 19];
+                const real_t q_tmp_2_0 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 20];
+                const real_t q_tmp_2_1 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 21];
+                const real_t q_tmp_2_2 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 22];
+                const real_t q_tmp_2_3 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 23];
+                const real_t q_tmp_2_4 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 24];
+                const real_t q_tmp_2_5 = tmp_qloop_57;
+                const real_t q_tmp_2_6 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 25];
+                const real_t q_tmp_2_7 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 26];
+                const real_t q_tmp_2_8 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 27];
+                const real_t q_tmp_2_9 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 28];
+                const real_t q_tmp_3_0 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 29];
+                const real_t q_tmp_3_1 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 30];
+                const real_t q_tmp_3_2 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 31];
+                const real_t q_tmp_3_3 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 32];
+                const real_t q_tmp_3_4 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 33];
+                const real_t q_tmp_3_5 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 34];
+                const real_t q_tmp_3_6 = tmp_qloop_57;
+                const real_t q_tmp_3_7 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 35];
+                const real_t q_tmp_3_8 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 36];
+                const real_t q_tmp_3_9 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 37];
+                q_acc_0_0 = q_acc_0_0 + q_tmp_0_0;
+                q_acc_0_1 = q_acc_0_1 + q_tmp_0_1;
+                q_acc_0_2 = q_acc_0_2 + q_tmp_0_2;
+                q_acc_0_3 = q_acc_0_3 + q_tmp_0_3;
+                q_acc_0_4 = q_acc_0_4 + q_tmp_0_4;
+                q_acc_0_5 = q_acc_0_5 + q_tmp_0_5;
+                q_acc_0_6 = q_acc_0_6 + q_tmp_0_6;
+                q_acc_0_7 = q_acc_0_7 + q_tmp_0_7;
+                q_acc_0_8 = q_acc_0_8 + q_tmp_0_8;
+                q_acc_0_9 = q_acc_0_9 + q_tmp_0_9;
+                q_acc_1_0 = q_acc_1_0 + q_tmp_1_0;
+                q_acc_1_1 = q_acc_1_1 + q_tmp_1_1;
+                q_acc_1_2 = q_acc_1_2 + q_tmp_1_2;
+                q_acc_1_3 = q_acc_1_3 + q_tmp_1_3;
+                q_acc_1_4 = q_acc_1_4 + q_tmp_1_4;
+                q_acc_1_5 = q_acc_1_5 + q_tmp_1_5;
+                q_acc_1_6 = q_acc_1_6 + q_tmp_1_6;
+                q_acc_1_7 = q_acc_1_7 + q_tmp_1_7;
+                q_acc_1_8 = q_acc_1_8 + q_tmp_1_8;
+                q_acc_1_9 = q_acc_1_9 + q_tmp_1_9;
+                q_acc_2_0 = q_acc_2_0 + q_tmp_2_0;
+                q_acc_2_1 = q_acc_2_1 + q_tmp_2_1;
+                q_acc_2_2 = q_acc_2_2 + q_tmp_2_2;
+                q_acc_2_3 = q_acc_2_3 + q_tmp_2_3;
+                q_acc_2_4 = q_acc_2_4 + q_tmp_2_4;
+                q_acc_2_5 = q_acc_2_5 + q_tmp_2_5;
+                q_acc_2_6 = q_acc_2_6 + q_tmp_2_6;
+                q_acc_2_7 = q_acc_2_7 + q_tmp_2_7;
+                q_acc_2_8 = q_acc_2_8 + q_tmp_2_8;
+                q_acc_2_9 = q_acc_2_9 + q_tmp_2_9;
+                q_acc_3_0 = q_acc_3_0 + q_tmp_3_0;
+                q_acc_3_1 = q_acc_3_1 + q_tmp_3_1;
+                q_acc_3_2 = q_acc_3_2 + q_tmp_3_2;
+                q_acc_3_3 = q_acc_3_3 + q_tmp_3_3;
+                q_acc_3_4 = q_acc_3_4 + q_tmp_3_4;
+                q_acc_3_5 = q_acc_3_5 + q_tmp_3_5;
+                q_acc_3_6 = q_acc_3_6 + q_tmp_3_6;
+                q_acc_3_7 = q_acc_3_7 + q_tmp_3_7;
+                q_acc_3_8 = q_acc_3_8 + q_tmp_3_8;
+                q_acc_3_9 = q_acc_3_9 + q_tmp_3_9;
+             }
+             const real_t elMatVec_0 = q_acc_0_0*src_dof_0 + q_acc_0_1*src_dof_1 + q_acc_0_2*src_dof_2 + q_acc_0_3*src_dof_3 + q_acc_0_4*src_dof_4 + q_acc_0_5*src_dof_5 + q_acc_0_6*src_dof_6 + q_acc_0_7*src_dof_7 + q_acc_0_8*src_dof_8 + q_acc_0_9*src_dof_9;
+             const real_t elMatVec_1 = q_acc_1_0*src_dof_0 + q_acc_1_1*src_dof_1 + q_acc_1_2*src_dof_2 + q_acc_1_3*src_dof_3 + q_acc_1_4*src_dof_4 + q_acc_1_5*src_dof_5 + q_acc_1_6*src_dof_6 + q_acc_1_7*src_dof_7 + q_acc_1_8*src_dof_8 + q_acc_1_9*src_dof_9;
+             const real_t elMatVec_2 = q_acc_2_0*src_dof_0 + q_acc_2_1*src_dof_1 + q_acc_2_2*src_dof_2 + q_acc_2_3*src_dof_3 + q_acc_2_4*src_dof_4 + q_acc_2_5*src_dof_5 + q_acc_2_6*src_dof_6 + q_acc_2_7*src_dof_7 + q_acc_2_8*src_dof_8 + q_acc_2_9*src_dof_9;
+             const real_t elMatVec_3 = q_acc_3_0*src_dof_0 + q_acc_3_1*src_dof_1 + q_acc_3_2*src_dof_2 + q_acc_3_3*src_dof_3 + q_acc_3_4*src_dof_4 + q_acc_3_5*src_dof_5 + q_acc_3_6*src_dof_6 + q_acc_3_7*src_dof_7 + q_acc_3_8*src_dof_8 + q_acc_3_9*src_dof_9;
+             _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))] = elMatVec_0 + _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))];
+             _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1] = elMatVec_1 + _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1];
+             _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1] = elMatVec_2 + _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1];
+             _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))] = elMatVec_3 + _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))];
+          }
+       }
+    }
+}
+} // namespace operatorgeneration
+
+} // namespace hyteg
diff --git a/operators/k_mass/noarch/P2ToP1ElementwiseKMassIcosahedralShellMap_toMatrix_macro_3D.cpp b/operators/k_mass/noarch/P2ToP1ElementwiseKMassIcosahedralShellMap_toMatrix_macro_3D.cpp
new file mode 100644
index 0000000000000000000000000000000000000000..f55015af1f8e7ee2a354d62daa7950523c26e193
--- /dev/null
+++ b/operators/k_mass/noarch/P2ToP1ElementwiseKMassIcosahedralShellMap_toMatrix_macro_3D.cpp
@@ -0,0 +1,2174 @@
+/*
+* Copyright (c) 2017-2024 Nils Kohl, Daniel Bauer, Fabian Böhm.
+*
+* This file is part of HyTeG
+* (see https://i10git.cs.fau.de/hyteg/hyteg).
+*
+* This program is free software: you can redistribute it and/or modify
+* it under the terms of the GNU General Public License as published by
+* the Free Software Foundation, either version 3 of the License, or
+* (at your option) any later version.
+*
+* This program is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+* GNU General Public License for more details.
+*
+* You should have received a copy of the GNU General Public License
+* along with this program. If not, see <http://www.gnu.org/licenses/>.
+*/
+
+/*
+* The entire file was generated with the HyTeG form generator.
+*
+* Avoid modifying this file. If buggy, consider fixing the generator itself.
+*/
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+#include "../P2ToP1ElementwiseKMassIcosahedralShellMap.hpp"
+
+#define FUNC_PREFIX  
+
+namespace hyteg {
+
+namespace operatorgeneration {
+
+void P2ToP1ElementwiseKMassIcosahedralShellMap::toMatrix_macro_3D( idx_t * RESTRICT  _data_dst, real_t * RESTRICT  _data_kEdge, real_t * RESTRICT  _data_kVertex, idx_t * RESTRICT  _data_srcEdge, idx_t * RESTRICT  _data_srcVertex, real_t forVertex_0, real_t forVertex_1, real_t forVertex_2, real_t macro_vertex_coord_id_0comp0, real_t macro_vertex_coord_id_0comp1, real_t macro_vertex_coord_id_0comp2, real_t macro_vertex_coord_id_1comp0, real_t macro_vertex_coord_id_1comp1, real_t macro_vertex_coord_id_1comp2, real_t macro_vertex_coord_id_2comp0, real_t macro_vertex_coord_id_2comp1, real_t macro_vertex_coord_id_2comp2, real_t macro_vertex_coord_id_3comp0, real_t macro_vertex_coord_id_3comp1, real_t macro_vertex_coord_id_3comp2, std::shared_ptr< SparseMatrixProxy > mat, int64_t micro_edges_per_macro_edge, real_t micro_edges_per_macro_edge_float, real_t radRayVertex, real_t radRefVertex, real_t rayVertex_0, real_t rayVertex_1, real_t rayVertex_2, real_t refVertex_0, real_t refVertex_1, real_t refVertex_2, real_t thrVertex_0, real_t thrVertex_1, real_t thrVertex_2 ) const
+{
+    {
+       const real_t _data_q_w [] = {0.02364442875776411, 0.0041220137385117907, 0.025486503738822306, 0.0091363578885896128, 0.0052827872295400091, 0.02526054964096567, 0.01949470769240411, 0.0094909452962763929, 0.019522077110586403, 0.018549261128954084, 0.0066770344442521412};
+   
+       const real_t _data_q_p_0 [] = {0.4881393122183349, 0.028620108024415062, 0.12011493111997025, 0.19015055018870972, 0.81934505243836264, 0.33721826230431567, 0.086557484679865959, 0.079692524193577793, 0.061206893331017434, 0.43957887847117094, 0.085226802665704912};
+   
+       const real_t _data_q_p_1 [] = {0.31081202744417918, 0.1144811451032984, 0.33248812467264544, 0.58529107547132619, 0.026719351714152292, 0.11264913310739497, 0.079391877387070833, 0.063296594113889035, 0.44299746808745322, 0.057741550565775693, 0.77428400209089154};
+   
+       const real_t _data_q_p_2 [] = {0.082320586256909412, 0.85148303380032098, 0.10040383353811888, 0.21187112908079075, 0.11113976289693195, 0.45821473775386756, 0.49383422023194623, 0.10603293862052354, 0.35074787972985066, 0.10858823393329198, 0.0088057690417862045};
+   
+       const real_t tmp_coords_jac_0_WHITE_UP = 1.0 / (micro_edges_per_macro_edge_float)*1.0;
+       const real_t p_affine_const_0_0_WHITE_UP = macro_vertex_coord_id_0comp0;
+       const real_t p_affine_const_0_1_WHITE_UP = macro_vertex_coord_id_0comp1;
+       const real_t p_affine_const_0_2_WHITE_UP = macro_vertex_coord_id_0comp2;
+       const real_t p_affine_const_1_0_WHITE_UP = macro_vertex_coord_id_0comp0 + tmp_coords_jac_0_WHITE_UP*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0);
+       const real_t p_affine_const_1_1_WHITE_UP = macro_vertex_coord_id_0comp1 + tmp_coords_jac_0_WHITE_UP*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1);
+       const real_t p_affine_const_1_2_WHITE_UP = macro_vertex_coord_id_0comp2 + tmp_coords_jac_0_WHITE_UP*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2);
+       const real_t p_affine_const_2_0_WHITE_UP = macro_vertex_coord_id_0comp0 + tmp_coords_jac_0_WHITE_UP*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0);
+       const real_t p_affine_const_2_1_WHITE_UP = macro_vertex_coord_id_0comp1 + tmp_coords_jac_0_WHITE_UP*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1);
+       const real_t p_affine_const_2_2_WHITE_UP = macro_vertex_coord_id_0comp2 + tmp_coords_jac_0_WHITE_UP*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2);
+       const real_t p_affine_const_3_0_WHITE_UP = macro_vertex_coord_id_0comp0 + tmp_coords_jac_0_WHITE_UP*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0);
+       const real_t p_affine_const_3_1_WHITE_UP = macro_vertex_coord_id_0comp1 + tmp_coords_jac_0_WHITE_UP*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1);
+       const real_t p_affine_const_3_2_WHITE_UP = macro_vertex_coord_id_0comp2 + tmp_coords_jac_0_WHITE_UP*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2);
+       const real_t jac_affine_0_0_WHITE_UP = -p_affine_const_0_0_WHITE_UP + p_affine_const_1_0_WHITE_UP;
+       const real_t jac_affine_0_1_WHITE_UP = -p_affine_const_0_0_WHITE_UP + p_affine_const_2_0_WHITE_UP;
+       const real_t jac_affine_0_2_WHITE_UP = -p_affine_const_0_0_WHITE_UP + p_affine_const_3_0_WHITE_UP;
+       const real_t jac_affine_1_0_WHITE_UP = -p_affine_const_0_1_WHITE_UP + p_affine_const_1_1_WHITE_UP;
+       const real_t jac_affine_1_1_WHITE_UP = -p_affine_const_0_1_WHITE_UP + p_affine_const_2_1_WHITE_UP;
+       const real_t jac_affine_1_2_WHITE_UP = -p_affine_const_0_1_WHITE_UP + p_affine_const_3_1_WHITE_UP;
+       const real_t jac_affine_2_0_WHITE_UP = -p_affine_const_0_2_WHITE_UP + p_affine_const_1_2_WHITE_UP;
+       const real_t jac_affine_2_1_WHITE_UP = -p_affine_const_0_2_WHITE_UP + p_affine_const_2_2_WHITE_UP;
+       const real_t jac_affine_2_2_WHITE_UP = -p_affine_const_0_2_WHITE_UP + p_affine_const_3_2_WHITE_UP;
+       const real_t abs_det_jac_affine_WHITE_UP = abs(jac_affine_0_0_WHITE_UP*jac_affine_1_1_WHITE_UP*jac_affine_2_2_WHITE_UP - jac_affine_0_0_WHITE_UP*jac_affine_1_2_WHITE_UP*jac_affine_2_1_WHITE_UP - jac_affine_0_1_WHITE_UP*jac_affine_1_0_WHITE_UP*jac_affine_2_2_WHITE_UP + jac_affine_0_1_WHITE_UP*jac_affine_1_2_WHITE_UP*jac_affine_2_0_WHITE_UP + jac_affine_0_2_WHITE_UP*jac_affine_1_0_WHITE_UP*jac_affine_2_1_WHITE_UP - jac_affine_0_2_WHITE_UP*jac_affine_1_1_WHITE_UP*jac_affine_2_0_WHITE_UP);
+       const real_t tmp_qloop_19 = rayVertex_1 - refVertex_1;
+       const real_t tmp_qloop_20 = -rayVertex_0;
+       const real_t tmp_qloop_21 = -forVertex_0 - tmp_qloop_20;
+       const real_t tmp_qloop_22 = rayVertex_2 - thrVertex_2;
+       const real_t tmp_qloop_23 = tmp_qloop_21*tmp_qloop_22;
+       const real_t tmp_qloop_24 = rayVertex_2 - refVertex_2;
+       const real_t tmp_qloop_25 = rayVertex_1 - thrVertex_1;
+       const real_t tmp_qloop_26 = tmp_qloop_21*tmp_qloop_25;
+       const real_t tmp_qloop_27 = -rayVertex_1;
+       const real_t tmp_qloop_28 = -forVertex_1 - tmp_qloop_27;
+       const real_t tmp_qloop_29 = rayVertex_0 - thrVertex_0;
+       const real_t tmp_qloop_30 = rayVertex_0 - refVertex_0;
+       const real_t tmp_qloop_31 = -rayVertex_2;
+       const real_t tmp_qloop_32 = -forVertex_2 - tmp_qloop_31;
+       const real_t tmp_qloop_33 = tmp_qloop_22*tmp_qloop_28;
+       const real_t tmp_qloop_34 = tmp_qloop_29*tmp_qloop_32;
+       const real_t tmp_qloop_35 = tmp_qloop_19*tmp_qloop_23 - tmp_qloop_19*tmp_qloop_34 - tmp_qloop_24*tmp_qloop_26 + tmp_qloop_24*tmp_qloop_28*tmp_qloop_29 + tmp_qloop_25*tmp_qloop_30*tmp_qloop_32 - tmp_qloop_30*tmp_qloop_33;
+       const real_t tmp_qloop_36 = 1.0 / (tmp_qloop_35*tmp_qloop_35*tmp_qloop_35);
+       const real_t tmp_qloop_37 = radRayVertex - radRefVertex;
+       const real_t tmp_qloop_38 = tmp_qloop_37*(-tmp_qloop_26 + tmp_qloop_28*tmp_qloop_29);
+       const real_t tmp_qloop_45 = tmp_qloop_37*(tmp_qloop_25*tmp_qloop_32 - tmp_qloop_33);
+       const real_t tmp_qloop_47 = -tmp_qloop_23 + tmp_qloop_29*tmp_qloop_32;
+       {
+          /* CellType.WHITE_UP */
+          const real_t _data_phi_psi_jac_affine_det_0_0_WHITE_UP [] = {((real_t)(abs_det_jac_affine_WHITE_UP*-0.010749089276961213)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0013747922567553051)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.01396287204173041)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.008164600589399525)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.012151214443257608)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.019083835042434261)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.072053489056043002)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0046416810200408439)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.017525267423213611)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.027523941260433657)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.044193869792483409)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0056523290877285)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0574070354280087)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.033567987580949914)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.049958575567593019)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.078461393265588306)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.29624114484395714)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.019083835042434251)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.072053489056042974)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.11316209633188964)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.02813947970791995)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0035989968838093011)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.036552673846023863)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.021373681684931475)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.031810029988819218)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.18862506775555832)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.012151214443257601)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.045878482755592566)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.07205348905604296)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0074529241534464254)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.00095321772406372263)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0096812133204938391)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0056609585582659784)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0084250932599439499)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.013231853551815916)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0032183281481346165)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.012151214443257603)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.019083835042434251)), ((real_t)(abs_det_jac_affine_WHITE_UP*-2.9012262911449775e-5)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.00014612615736184792)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.00047804109319682082)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0032416491456343029)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0021116678219306132)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.00052791366753715454)), ((real_t)(abs_det_jac_affine_WHITE_UP*7.0977528354966774e-5)), ((real_t)(abs_det_jac_affine_WHITE_UP*9.9895812682163066e-5)), ((real_t)(abs_det_jac_affine_WHITE_UP*1.3430904167093961e-5)), ((real_t)(abs_det_jac_affine_WHITE_UP*3.3577051293550935e-6)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.00015331944058422371)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.00077222451657154147)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0025262763269762738)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.017130957178208683)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.011159409734644826)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0027898350580443485)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.00037509087018302439)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.00052791366753715541)), ((real_t)(abs_det_jac_affine_WHITE_UP*7.0977528354966354e-5)), ((real_t)(abs_det_jac_affine_WHITE_UP*1.7744271574084403e-5)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.00061328158194601311)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0030889173045236238)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.010105168244399365)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.068524255492113287)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.044637916950180538)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0015003728252777238)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0021116678219306167)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.000283911881665389)), ((real_t)(abs_det_jac_affine_WHITE_UP*7.0977528354965283e-5)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0045614398903685138)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.022974618879299673)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.075159794270401023)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.50966681808331993)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.33200601647520916)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.083000987173061064)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.015706073884687172)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0021116678219306002)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.00052791366753714337)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.02118185416019976)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.040792474062018545)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.049791196691139579)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.035867609546541376)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.059688031245203839)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.021562946853404222)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.071405876738584673)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.080243884747120436)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.26572828761452333)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.095997217930328324)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.005691937733975882)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.010961657115556597)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.013379772569609637)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.009638259175114022)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.016039226535213912)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0057943440608341223)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.019188018251946451)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.021562946853404225)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0714058767385847)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.025796145274243024)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.015755757300754607)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.03034277906728966)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.037036323866953338)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.026679503441931235)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.044397913749511943)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.053114031247306501)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.059688031245203839)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.19765740883375349)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0714058767385847)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0047578795027626341)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0091628275191950465)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.011184125448277639)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0080566017962316674)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.013407157762204741)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0048434807489961713)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.018024424659562992)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.059688031245203853)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.021562946853404232)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.00015688175714697789)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0014950153325289843)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0012666972383742025)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0015490159490981592)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0062931924029516256)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0020445450956193246)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0056480276621754888)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.00013641635559728395)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.00037684830314454006)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0001224312400849633)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.002351271046368435)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.022406596720860313)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.018984670973016902)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.023215932927530856)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.094319450236798913)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.030642694050274453)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.084650020197820364)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0020445450956193168)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0056480276621755114)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0018349426677638542)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0072373072709378001)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.068968409922504109)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.058435584226493004)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.071459579463428277)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.29031907828914638)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.26055618198886238)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0062931924029516022)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.017384857321768536)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0056480276621755391)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0026198528001873307)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.024966064738678271)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.021153258143552994)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.025867850064795264)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.10509340307518385)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.034142957672569287)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0022780900577755898)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0062931924029516507)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0020445450956193428)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0016747236096797923)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.022395383667253931)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0010823709889014185)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0036990864559166563)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.00050834301173610229)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.015588264867481133)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0037476086033569342)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.00081420248681843786)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.00019574418772167287)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0060024671806827717)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.032063320402672957)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.42876947450525699)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.020722468836717273)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.070820637834037012)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.009732450635762396)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.29844418988237825)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.071749615697017544)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.015588264867481126)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0037476086033569277)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.1149198753205366)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0010456048186450997)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.013982439217157605)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.00067577259615595462)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0023095050434207478)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.00031738126788423253)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0023397995892677865)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.00050834301173610208)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.00012221184720903605)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0037476086033569355)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0043492174836919605)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.058160280082415236)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0028108917803285017)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0096064397699850354)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0013201547416997409)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.040482354049473784)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0021144645423690485)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.00050834301173610142)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.015588264867481138)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0068956855714663416)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.010091290281029655)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0080216243244021178)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0035198334831929206)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.018978279386089755)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.056811998632973766)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.01396686284573566)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.015485631440181358)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0038070424489360009)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.01139648574059631)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.025298140458325055)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.037021827096001436)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.029428861968758362)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.012913181862031289)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.069625445155635055)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.20842567519062763)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.051240105769272605)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.056811998632973738)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.013966862845735664)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.041810186095187066)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0084509467915105906)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.012367292031926986)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0098308311254096271)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0043137009617327136)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.023258663351751644)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.017116965895609845)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.018978279386089748)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0046656873831529451)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.01396686284573564)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.034375305526338835)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.050305540032273111)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.039988161309129681)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.017546529657219402)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.094607584046545581)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.28321039153111127)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.077196575526473174)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.018978279386089758)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.056811998632973676)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.036989007988906066)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.024350339729610097)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.022721604194642659)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0020718315986862396)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.053354679030800815)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.058170268354931241)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0093518161026560475)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.22863973450271471)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.036757553494219546)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.040075149727639509)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0094107024991835538)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0061951865002202629)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.005780805406949952)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.00052711310369534133)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.013574438423676774)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.014799615333023134)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0023792787088414437)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.058170268354931248)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.009351816102656051)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.010195875266786407)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0086316433720857837)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0056823218562164577)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0053022450428696702)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.00048347637471763576)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.012450687019346486)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0021823116073744556)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.053354679030800829)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0085776318491057792)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0093518161026560475)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.053690642094179834)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.035345240285608669)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.032981082352521167)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0030073250106582576)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.077445898974953548)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.084435869696849797)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.3318773554937019)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.053354679030800836)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.058170268354931241)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.2830869924348563)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.050308558644386672)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.041516821634179475)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.06274193203760102)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.020160825588817252)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.025383152182066201)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.015152528090816651)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.23919668259056145)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.14278898169094956)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.17977609281010931)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.030040718507945225)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0053386601615906274)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0044056957238823311)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0066580689659201985)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.002139433116273644)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0026936176861649991)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0016079609562587173)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.025383152182066195)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.015152528090816651)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.019077538505445499)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.023860144794362503)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0042402848796628178)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0034992684300787832)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0052882386796338152)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0016992664113091131)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0012771392678196903)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.020160825588817249)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.012035048833865587)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.01515252809081665)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.039969943152159265)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0071032236832497221)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0058618906729116316)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0088587307923610938)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0028465703978647464)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0035839271208240476)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.033772932211040815)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.020160825588817245)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.025383152182066191)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.014935575584147695)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.007791142568055953)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0073254854313094774)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.015186461110532538)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.090150328303510344)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.012455650259246793)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.015731589118882311)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.029517331411893867)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.037280633286332542)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0051508911658584714)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0063024771210085937)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0032876870064389215)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0030911901634452068)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0064083451728372039)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.038041411821271319)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0052560043865672946)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0066383769370158769)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.012455650259246798)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.015731589118882314)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0021735602717637636)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.045615473279886819)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.023795310306631609)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.022373124026687209)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.046381715060167777)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.27533253531028662)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.048046617223388682)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.090150328303510385)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.11386060898348732)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.015731589118882311)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.036116528170846006)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.018840185867421855)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.017714155002223078)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.036723208116341576)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.21799741519439725)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.030119685775736597)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.07137746553252089)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.090150328303510371)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.012455650259246793)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.032896921427909828)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.020934012679446525)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.020127575524041673)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.033499901528319088)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0098838942808698073)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.075244795478138254)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.040011251730840761)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.067458477890573201)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.035870894765649017)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.27308043404340754)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.036694010925042916)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.023350297128803515)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.022450777887903339)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.037366589313281677)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.011024731463671476)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.083929839859876898)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.044629504659074608)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.075244795478138254)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.040011251730840761)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.30460043053460045)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0048199974818136015)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0030672137093527801)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0029490559946009505)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0049083450365209726)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0014481703295155801)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.005862376301973493)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0098838942808698056)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0052557386811928905)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.040011251730840761)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.009064443351184925)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.005768174157623188)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0055459678357496689)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.009230588957667556)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0027234159279729726)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.020733009548559916)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.018587561536304909)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0098838942808698056)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.075244795478138254)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.012773605317404142)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0093099638314587951)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.055932196812816262)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0011391519589580709)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0035913578872906952)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.00039530708258920854)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.034759025419540214)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.00061078662356131824)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.053705963564394235)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0059115099192464755)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0082672024196058687)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.0060254997396084128)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.036199865373541695)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.00073727030054430856)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0023243619853375876)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.00025584661404999347)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.022496381554864123)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.00039530708258920833)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.034759025419540221)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0038259870955407193)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.075107388466231287)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.054741559075980606)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.32887513974352289)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.006698087703317224)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.02111678772433076)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.20437923045390871)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0035913578872906935)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.31578513412249021)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.034759025419540214)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.00085418052598187596)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.00062256423341908954)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0037402277670030831)), ((real_t)(abs_det_jac_affine_WHITE_UP*-7.6175942132039452e-5)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.00024015678369014598)), ((real_t)(abs_det_jac_affine_WHITE_UP*2.6434479799555231e-5)), ((real_t)(abs_det_jac_affine_WHITE_UP*4.0843757608938361e-5)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0035913578872906957)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.00039530708258920849))};
+      
+          for (int64_t ctr_2 = 0; ctr_2 < micro_edges_per_macro_edge; ctr_2 += 1)
+          for (int64_t ctr_1 = 0; ctr_1 < -ctr_2 + micro_edges_per_macro_edge; ctr_1 += 1)
+          for (int64_t ctr_0 = 0; ctr_0 < -ctr_1 - ctr_2 + micro_edges_per_macro_edge; ctr_0 += 1)
+          {
+         
+             const int64_t phantom_ctr_0 = ctr_0;
+             real_t _data_float_loop_ctr_array_dim_0[4];
+             _data_float_loop_ctr_array_dim_0[0] = (real_t) ctr_0+ 0;
+             _data_float_loop_ctr_array_dim_0[1] = (real_t) ctr_0+ 1;
+             _data_float_loop_ctr_array_dim_0[2] = (real_t) ctr_0+ 2;
+             _data_float_loop_ctr_array_dim_0[3] = (real_t) ctr_0+ 3;
+             real_t _data_float_loop_ctr_array_dim_1[4];
+             _data_float_loop_ctr_array_dim_1[0] = (real_t) ctr_1;
+             _data_float_loop_ctr_array_dim_1[1] = (real_t) ctr_1;
+             _data_float_loop_ctr_array_dim_1[2] = (real_t) ctr_1;
+             _data_float_loop_ctr_array_dim_1[3] = (real_t) ctr_1;
+             real_t _data_float_loop_ctr_array_dim_2[4];
+             _data_float_loop_ctr_array_dim_2[0] = (real_t) ctr_2;
+             _data_float_loop_ctr_array_dim_2[1] = (real_t) ctr_2;
+             _data_float_loop_ctr_array_dim_2[2] = (real_t) ctr_2;
+             _data_float_loop_ctr_array_dim_2[3] = (real_t) ctr_2;
+         
+             const real_t p_affine_0_0 = macro_vertex_coord_id_0comp0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0)*1.0*_data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0)*1.0*_data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0)*1.0*_data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0];
+             const real_t p_affine_0_1 = macro_vertex_coord_id_0comp1 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1)*1.0*_data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1)*1.0*_data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1)*1.0*_data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0];
+             const real_t p_affine_0_2 = macro_vertex_coord_id_0comp2 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2)*1.0*_data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2)*1.0*_data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2)*1.0*_data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0];
+             const real_t p_affine_1_0 = macro_vertex_coord_id_0comp0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0)*(1.0 + _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0)*1.0*_data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0)*1.0*_data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0];
+             const real_t p_affine_1_1 = macro_vertex_coord_id_0comp1 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1)*(1.0 + _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1)*1.0*_data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1)*1.0*_data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0];
+             const real_t p_affine_1_2 = macro_vertex_coord_id_0comp2 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2)*(1.0 + _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2)*1.0*_data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2)*1.0*_data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0];
+             const real_t p_affine_2_0 = macro_vertex_coord_id_0comp0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0)*1.0*_data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0)*(1.0 + _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0)*1.0*_data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0];
+             const real_t p_affine_2_1 = macro_vertex_coord_id_0comp1 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1)*1.0*_data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1)*(1.0 + _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1)*1.0*_data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0];
+             const real_t p_affine_2_2 = macro_vertex_coord_id_0comp2 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2)*1.0*_data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2)*(1.0 + _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2)*1.0*_data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0];
+             const real_t p_affine_3_0 = macro_vertex_coord_id_0comp0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0)*1.0*_data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0)*1.0*_data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0)*(1.0 + _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0])*1.0;
+             const real_t p_affine_3_1 = macro_vertex_coord_id_0comp1 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1)*1.0*_data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1)*1.0*_data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1)*(1.0 + _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0])*1.0;
+             const real_t p_affine_3_2 = macro_vertex_coord_id_0comp2 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2)*1.0*_data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2)*1.0*_data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2)*(1.0 + _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0])*1.0;
+             const real_t k_dof_0 = _data_kVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))];
+             const real_t k_dof_1 = _data_kVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1];
+             const real_t k_dof_2 = _data_kVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))];
+             const real_t k_dof_3 = _data_kVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))];
+             const real_t k_dof_4 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))];
+             const real_t k_dof_5 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 5*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))];
+             const real_t k_dof_6 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))];
+             const real_t k_dof_7 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))];
+             const real_t k_dof_8 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 2*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))];
+             const real_t k_dof_9 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))];
+             real_t q_acc_0_0 = 0.0;
+             real_t q_acc_0_1 = 0.0;
+             real_t q_acc_0_2 = 0.0;
+             real_t q_acc_0_3 = 0.0;
+             real_t q_acc_0_4 = 0.0;
+             real_t q_acc_0_5 = 0.0;
+             real_t q_acc_0_6 = 0.0;
+             real_t q_acc_0_7 = 0.0;
+             real_t q_acc_0_8 = 0.0;
+             real_t q_acc_0_9 = 0.0;
+             real_t q_acc_1_0 = 0.0;
+             real_t q_acc_1_1 = 0.0;
+             real_t q_acc_1_2 = 0.0;
+             real_t q_acc_1_3 = 0.0;
+             real_t q_acc_1_4 = 0.0;
+             real_t q_acc_1_5 = 0.0;
+             real_t q_acc_1_6 = 0.0;
+             real_t q_acc_1_7 = 0.0;
+             real_t q_acc_1_8 = 0.0;
+             real_t q_acc_1_9 = 0.0;
+             real_t q_acc_2_0 = 0.0;
+             real_t q_acc_2_1 = 0.0;
+             real_t q_acc_2_2 = 0.0;
+             real_t q_acc_2_3 = 0.0;
+             real_t q_acc_2_4 = 0.0;
+             real_t q_acc_2_5 = 0.0;
+             real_t q_acc_2_6 = 0.0;
+             real_t q_acc_2_7 = 0.0;
+             real_t q_acc_2_8 = 0.0;
+             real_t q_acc_2_9 = 0.0;
+             real_t q_acc_3_0 = 0.0;
+             real_t q_acc_3_1 = 0.0;
+             real_t q_acc_3_2 = 0.0;
+             real_t q_acc_3_3 = 0.0;
+             real_t q_acc_3_4 = 0.0;
+             real_t q_acc_3_5 = 0.0;
+             real_t q_acc_3_6 = 0.0;
+             real_t q_acc_3_7 = 0.0;
+             real_t q_acc_3_8 = 0.0;
+             real_t q_acc_3_9 = 0.0;
+             for (int64_t q = 0; q < 11; q += 1)
+             {
+                const real_t tmp_qloop_0 = 4.0*_data_q_p_0[q];
+                const real_t tmp_qloop_1 = tmp_qloop_0*_data_q_p_1[q];
+                const real_t tmp_qloop_2 = tmp_qloop_0*_data_q_p_2[q];
+                const real_t tmp_qloop_3 = 4.0*_data_q_p_1[q]*_data_q_p_2[q];
+                const real_t tmp_qloop_4 = (_data_q_p_0[q]*_data_q_p_0[q]);
+                const real_t tmp_qloop_5 = tmp_qloop_4*2.0;
+                const real_t tmp_qloop_6 = (_data_q_p_1[q]*_data_q_p_1[q]);
+                const real_t tmp_qloop_7 = tmp_qloop_6*2.0;
+                const real_t tmp_qloop_8 = (_data_q_p_2[q]*_data_q_p_2[q]);
+                const real_t tmp_qloop_9 = tmp_qloop_8*2.0;
+                const real_t tmp_qloop_10 = tmp_qloop_1 + tmp_qloop_2;
+                const real_t tmp_qloop_11 = p_affine_0_0 + (-p_affine_0_0 + p_affine_1_0)*_data_q_p_0[q] + (-p_affine_0_0 + p_affine_2_0)*_data_q_p_1[q] + (-p_affine_0_0 + p_affine_3_0)*_data_q_p_2[q];
+                const real_t tmp_qloop_12 = p_affine_0_1 + (-p_affine_0_1 + p_affine_1_1)*_data_q_p_0[q] + (-p_affine_0_1 + p_affine_2_1)*_data_q_p_1[q] + (-p_affine_0_1 + p_affine_3_1)*_data_q_p_2[q];
+                const real_t tmp_qloop_13 = p_affine_0_2 + (-p_affine_0_2 + p_affine_1_2)*_data_q_p_0[q] + (-p_affine_0_2 + p_affine_2_2)*_data_q_p_1[q] + (-p_affine_0_2 + p_affine_3_2)*_data_q_p_2[q];
+                const real_t tmp_qloop_14 = (tmp_qloop_11*tmp_qloop_11);
+                const real_t tmp_qloop_15 = (tmp_qloop_12*tmp_qloop_12);
+                const real_t tmp_qloop_16 = (tmp_qloop_13*tmp_qloop_13);
+                const real_t tmp_qloop_17 = tmp_qloop_14 + tmp_qloop_15 + tmp_qloop_16;
+                const real_t tmp_qloop_18 = pow(tmp_qloop_17, -4.5000000000000000);
+                const real_t tmp_qloop_39 = -tmp_qloop_13 - tmp_qloop_31;
+                const real_t tmp_qloop_40 = -tmp_qloop_11 - tmp_qloop_20;
+                const real_t tmp_qloop_41 = -tmp_qloop_12 - tmp_qloop_27;
+                const real_t tmp_qloop_42 = radRayVertex*tmp_qloop_35 - tmp_qloop_37*(tmp_qloop_21*tmp_qloop_22*tmp_qloop_41 + tmp_qloop_25*tmp_qloop_32*tmp_qloop_40 - tmp_qloop_26*tmp_qloop_39 + tmp_qloop_28*tmp_qloop_29*tmp_qloop_39 - tmp_qloop_33*tmp_qloop_40 - tmp_qloop_34*tmp_qloop_41);
+                const real_t tmp_qloop_43 = -tmp_qloop_42;
+                const real_t tmp_qloop_44 = tmp_qloop_13*tmp_qloop_43 + tmp_qloop_17*tmp_qloop_38;
+                const real_t tmp_qloop_46 = tmp_qloop_11*tmp_qloop_43 + tmp_qloop_17*tmp_qloop_45;
+                const real_t tmp_qloop_48 = -tmp_qloop_12*tmp_qloop_42 - tmp_qloop_17*tmp_qloop_37*tmp_qloop_47;
+                const real_t tmp_qloop_49 = tmp_qloop_15*tmp_qloop_43 + tmp_qloop_17*(-tmp_qloop_12*tmp_qloop_37*tmp_qloop_47 + tmp_qloop_42);
+                const real_t tmp_qloop_50 = tmp_qloop_18*tmp_qloop_36;
+                const real_t tmp_qloop_51 = tmp_qloop_11*tmp_qloop_46;
+                const real_t tmp_qloop_52 = tmp_qloop_13*tmp_qloop_44;
+                const real_t tmp_qloop_53 = tmp_qloop_16*tmp_qloop_43 + tmp_qloop_17*(tmp_qloop_13*tmp_qloop_38 + tmp_qloop_42);
+                const real_t tmp_qloop_54 = tmp_qloop_12*tmp_qloop_48*tmp_qloop_50*1.0;
+                const real_t tmp_qloop_55 = -tmp_qloop_14*tmp_qloop_42 + tmp_qloop_17*(tmp_qloop_11*tmp_qloop_45 + tmp_qloop_42);
+                const real_t tmp_qloop_56 = (k_dof_0*(tmp_qloop_10 + tmp_qloop_3 + tmp_qloop_5 + tmp_qloop_7 + tmp_qloop_9 - 3.0*_data_q_p_0[q] - 3.0*_data_q_p_1[q] - 3.0*_data_q_p_2[q] + 1.0) + k_dof_1*(tmp_qloop_5 - _data_q_p_0[q]) + k_dof_2*(tmp_qloop_7 - _data_q_p_1[q]) + k_dof_3*(tmp_qloop_9 - _data_q_p_2[q]) + k_dof_4*tmp_qloop_3 + k_dof_5*tmp_qloop_2 + k_dof_6*tmp_qloop_1 + k_dof_7*(-tmp_qloop_2 - tmp_qloop_3 + tmp_qloop_8*-4.0 + 4.0*_data_q_p_2[q]) + k_dof_8*(-tmp_qloop_1 - tmp_qloop_3 + tmp_qloop_6*-4.0 + 4.0*_data_q_p_1[q]) + k_dof_9*(-tmp_qloop_10 + tmp_qloop_4*-4.0 + 4.0*_data_q_p_0[q]))*abs(tmp_qloop_11*tmp_qloop_12*tmp_qloop_13*tmp_qloop_18*tmp_qloop_36*tmp_qloop_44*tmp_qloop_46*tmp_qloop_48*-2.0 - tmp_qloop_18*tmp_qloop_36*tmp_qloop_49*tmp_qloop_53*tmp_qloop_55 + tmp_qloop_49*tmp_qloop_50*tmp_qloop_51*tmp_qloop_52*1.0 + tmp_qloop_51*tmp_qloop_53*tmp_qloop_54 + tmp_qloop_52*tmp_qloop_54*tmp_qloop_55)*_data_q_w[q];
+                const real_t tmp_qloop_57 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 14];
+                const real_t q_tmp_0_0 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q];
+                const real_t q_tmp_0_1 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 1];
+                const real_t q_tmp_0_2 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 2];
+                const real_t q_tmp_0_3 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 3];
+                const real_t q_tmp_0_4 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 4];
+                const real_t q_tmp_0_5 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 5];
+                const real_t q_tmp_0_6 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 6];
+                const real_t q_tmp_0_7 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 7];
+                const real_t q_tmp_0_8 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 8];
+                const real_t q_tmp_0_9 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 9];
+                const real_t q_tmp_1_0 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 10];
+                const real_t q_tmp_1_1 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 11];
+                const real_t q_tmp_1_2 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 12];
+                const real_t q_tmp_1_3 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 13];
+                const real_t q_tmp_1_4 = tmp_qloop_57;
+                const real_t q_tmp_1_5 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 15];
+                const real_t q_tmp_1_6 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 16];
+                const real_t q_tmp_1_7 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 17];
+                const real_t q_tmp_1_8 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 18];
+                const real_t q_tmp_1_9 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 19];
+                const real_t q_tmp_2_0 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 20];
+                const real_t q_tmp_2_1 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 21];
+                const real_t q_tmp_2_2 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 22];
+                const real_t q_tmp_2_3 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 23];
+                const real_t q_tmp_2_4 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 24];
+                const real_t q_tmp_2_5 = tmp_qloop_57;
+                const real_t q_tmp_2_6 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 25];
+                const real_t q_tmp_2_7 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 26];
+                const real_t q_tmp_2_8 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 27];
+                const real_t q_tmp_2_9 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 28];
+                const real_t q_tmp_3_0 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 29];
+                const real_t q_tmp_3_1 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 30];
+                const real_t q_tmp_3_2 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 31];
+                const real_t q_tmp_3_3 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 32];
+                const real_t q_tmp_3_4 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 33];
+                const real_t q_tmp_3_5 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 34];
+                const real_t q_tmp_3_6 = tmp_qloop_57;
+                const real_t q_tmp_3_7 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 35];
+                const real_t q_tmp_3_8 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 36];
+                const real_t q_tmp_3_9 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 37];
+                q_acc_0_0 = q_acc_0_0 + q_tmp_0_0;
+                q_acc_0_1 = q_acc_0_1 + q_tmp_0_1;
+                q_acc_0_2 = q_acc_0_2 + q_tmp_0_2;
+                q_acc_0_3 = q_acc_0_3 + q_tmp_0_3;
+                q_acc_0_4 = q_acc_0_4 + q_tmp_0_4;
+                q_acc_0_5 = q_acc_0_5 + q_tmp_0_5;
+                q_acc_0_6 = q_acc_0_6 + q_tmp_0_6;
+                q_acc_0_7 = q_acc_0_7 + q_tmp_0_7;
+                q_acc_0_8 = q_acc_0_8 + q_tmp_0_8;
+                q_acc_0_9 = q_acc_0_9 + q_tmp_0_9;
+                q_acc_1_0 = q_acc_1_0 + q_tmp_1_0;
+                q_acc_1_1 = q_acc_1_1 + q_tmp_1_1;
+                q_acc_1_2 = q_acc_1_2 + q_tmp_1_2;
+                q_acc_1_3 = q_acc_1_3 + q_tmp_1_3;
+                q_acc_1_4 = q_acc_1_4 + q_tmp_1_4;
+                q_acc_1_5 = q_acc_1_5 + q_tmp_1_5;
+                q_acc_1_6 = q_acc_1_6 + q_tmp_1_6;
+                q_acc_1_7 = q_acc_1_7 + q_tmp_1_7;
+                q_acc_1_8 = q_acc_1_8 + q_tmp_1_8;
+                q_acc_1_9 = q_acc_1_9 + q_tmp_1_9;
+                q_acc_2_0 = q_acc_2_0 + q_tmp_2_0;
+                q_acc_2_1 = q_acc_2_1 + q_tmp_2_1;
+                q_acc_2_2 = q_acc_2_2 + q_tmp_2_2;
+                q_acc_2_3 = q_acc_2_3 + q_tmp_2_3;
+                q_acc_2_4 = q_acc_2_4 + q_tmp_2_4;
+                q_acc_2_5 = q_acc_2_5 + q_tmp_2_5;
+                q_acc_2_6 = q_acc_2_6 + q_tmp_2_6;
+                q_acc_2_7 = q_acc_2_7 + q_tmp_2_7;
+                q_acc_2_8 = q_acc_2_8 + q_tmp_2_8;
+                q_acc_2_9 = q_acc_2_9 + q_tmp_2_9;
+                q_acc_3_0 = q_acc_3_0 + q_tmp_3_0;
+                q_acc_3_1 = q_acc_3_1 + q_tmp_3_1;
+                q_acc_3_2 = q_acc_3_2 + q_tmp_3_2;
+                q_acc_3_3 = q_acc_3_3 + q_tmp_3_3;
+                q_acc_3_4 = q_acc_3_4 + q_tmp_3_4;
+                q_acc_3_5 = q_acc_3_5 + q_tmp_3_5;
+                q_acc_3_6 = q_acc_3_6 + q_tmp_3_6;
+                q_acc_3_7 = q_acc_3_7 + q_tmp_3_7;
+                q_acc_3_8 = q_acc_3_8 + q_tmp_3_8;
+                q_acc_3_9 = q_acc_3_9 + q_tmp_3_9;
+             }
+             const real_t elMat_0_0 = q_acc_0_0;
+             const real_t elMat_0_1 = q_acc_0_1;
+             const real_t elMat_0_2 = q_acc_0_2;
+             const real_t elMat_0_3 = q_acc_0_3;
+             const real_t elMat_0_4 = q_acc_0_4;
+             const real_t elMat_0_5 = q_acc_0_5;
+             const real_t elMat_0_6 = q_acc_0_6;
+             const real_t elMat_0_7 = q_acc_0_7;
+             const real_t elMat_0_8 = q_acc_0_8;
+             const real_t elMat_0_9 = q_acc_0_9;
+             const real_t elMat_1_0 = q_acc_1_0;
+             const real_t elMat_1_1 = q_acc_1_1;
+             const real_t elMat_1_2 = q_acc_1_2;
+             const real_t elMat_1_3 = q_acc_1_3;
+             const real_t elMat_1_4 = q_acc_1_4;
+             const real_t elMat_1_5 = q_acc_1_5;
+             const real_t elMat_1_6 = q_acc_1_6;
+             const real_t elMat_1_7 = q_acc_1_7;
+             const real_t elMat_1_8 = q_acc_1_8;
+             const real_t elMat_1_9 = q_acc_1_9;
+             const real_t elMat_2_0 = q_acc_2_0;
+             const real_t elMat_2_1 = q_acc_2_1;
+             const real_t elMat_2_2 = q_acc_2_2;
+             const real_t elMat_2_3 = q_acc_2_3;
+             const real_t elMat_2_4 = q_acc_2_4;
+             const real_t elMat_2_5 = q_acc_2_5;
+             const real_t elMat_2_6 = q_acc_2_6;
+             const real_t elMat_2_7 = q_acc_2_7;
+             const real_t elMat_2_8 = q_acc_2_8;
+             const real_t elMat_2_9 = q_acc_2_9;
+             const real_t elMat_3_0 = q_acc_3_0;
+             const real_t elMat_3_1 = q_acc_3_1;
+             const real_t elMat_3_2 = q_acc_3_2;
+             const real_t elMat_3_3 = q_acc_3_3;
+             const real_t elMat_3_4 = q_acc_3_4;
+             const real_t elMat_3_5 = q_acc_3_5;
+             const real_t elMat_3_6 = q_acc_3_6;
+             const real_t elMat_3_7 = q_acc_3_7;
+             const real_t elMat_3_8 = q_acc_3_8;
+             const real_t elMat_3_9 = q_acc_3_9;
+         
+             std::vector< uint_t > _data_rowIdx( 4 );
+             std::vector< uint_t > _data_colIdx( 10 );
+             std::vector< real_t > _data_mat( 40 );
+         
+             _data_rowIdx[0] = ((uint64_t)(_data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]));
+             _data_rowIdx[1] = ((uint64_t)(_data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]));
+             _data_rowIdx[2] = ((uint64_t)(_data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]));
+             _data_rowIdx[3] = ((uint64_t)(_data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]));
+             _data_colIdx[0] = ((uint64_t)(_data_srcVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]));
+             _data_colIdx[1] = ((uint64_t)(_data_srcVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]));
+             _data_colIdx[2] = ((uint64_t)(_data_srcVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]));
+             _data_colIdx[3] = ((uint64_t)(_data_srcVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]));
+             _data_colIdx[4] = ((uint64_t)(_data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]));
+             _data_colIdx[5] = ((uint64_t)(_data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 5*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]));
+             _data_colIdx[6] = ((uint64_t)(_data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]));
+             _data_colIdx[7] = ((uint64_t)(_data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]));
+             _data_colIdx[8] = ((uint64_t)(_data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 2*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]));
+             _data_colIdx[9] = ((uint64_t)(_data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]));
+         
+             /* Apply basis transformation */
+         
+         
+         
+             _data_mat[0] = ((real_t)(elMat_0_0));
+             _data_mat[1] = ((real_t)(elMat_0_1));
+             _data_mat[2] = ((real_t)(elMat_0_2));
+             _data_mat[3] = ((real_t)(elMat_0_3));
+             _data_mat[4] = ((real_t)(elMat_0_4));
+             _data_mat[5] = ((real_t)(elMat_0_5));
+             _data_mat[6] = ((real_t)(elMat_0_6));
+             _data_mat[7] = ((real_t)(elMat_0_7));
+             _data_mat[8] = ((real_t)(elMat_0_8));
+             _data_mat[9] = ((real_t)(elMat_0_9));
+             _data_mat[10] = ((real_t)(elMat_1_0));
+             _data_mat[11] = ((real_t)(elMat_1_1));
+             _data_mat[12] = ((real_t)(elMat_1_2));
+             _data_mat[13] = ((real_t)(elMat_1_3));
+             _data_mat[14] = ((real_t)(elMat_1_4));
+             _data_mat[15] = ((real_t)(elMat_1_5));
+             _data_mat[16] = ((real_t)(elMat_1_6));
+             _data_mat[17] = ((real_t)(elMat_1_7));
+             _data_mat[18] = ((real_t)(elMat_1_8));
+             _data_mat[19] = ((real_t)(elMat_1_9));
+             _data_mat[20] = ((real_t)(elMat_2_0));
+             _data_mat[21] = ((real_t)(elMat_2_1));
+             _data_mat[22] = ((real_t)(elMat_2_2));
+             _data_mat[23] = ((real_t)(elMat_2_3));
+             _data_mat[24] = ((real_t)(elMat_2_4));
+             _data_mat[25] = ((real_t)(elMat_2_5));
+             _data_mat[26] = ((real_t)(elMat_2_6));
+             _data_mat[27] = ((real_t)(elMat_2_7));
+             _data_mat[28] = ((real_t)(elMat_2_8));
+             _data_mat[29] = ((real_t)(elMat_2_9));
+             _data_mat[30] = ((real_t)(elMat_3_0));
+             _data_mat[31] = ((real_t)(elMat_3_1));
+             _data_mat[32] = ((real_t)(elMat_3_2));
+             _data_mat[33] = ((real_t)(elMat_3_3));
+             _data_mat[34] = ((real_t)(elMat_3_4));
+             _data_mat[35] = ((real_t)(elMat_3_5));
+             _data_mat[36] = ((real_t)(elMat_3_6));
+             _data_mat[37] = ((real_t)(elMat_3_7));
+             _data_mat[38] = ((real_t)(elMat_3_8));
+             _data_mat[39] = ((real_t)(elMat_3_9));
+         
+         
+             mat->addValues( _data_rowIdx, _data_colIdx, _data_mat );
+          }
+       }
+       const real_t tmp_coords_jac_0_WHITE_DOWN = 1.0 / (micro_edges_per_macro_edge_float)*1.0;
+       const real_t tmp_coords_jac_1_WHITE_DOWN = tmp_coords_jac_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0);
+       const real_t tmp_coords_jac_2_WHITE_DOWN = macro_vertex_coord_id_0comp0 + tmp_coords_jac_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0);
+       const real_t tmp_coords_jac_3_WHITE_DOWN = tmp_coords_jac_1_WHITE_DOWN + tmp_coords_jac_2_WHITE_DOWN;
+       const real_t tmp_coords_jac_4_WHITE_DOWN = tmp_coords_jac_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1);
+       const real_t tmp_coords_jac_5_WHITE_DOWN = macro_vertex_coord_id_0comp1 + tmp_coords_jac_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1);
+       const real_t tmp_coords_jac_6_WHITE_DOWN = tmp_coords_jac_4_WHITE_DOWN + tmp_coords_jac_5_WHITE_DOWN;
+       const real_t tmp_coords_jac_7_WHITE_DOWN = tmp_coords_jac_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2);
+       const real_t tmp_coords_jac_8_WHITE_DOWN = macro_vertex_coord_id_0comp2 + tmp_coords_jac_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2);
+       const real_t tmp_coords_jac_9_WHITE_DOWN = tmp_coords_jac_7_WHITE_DOWN + tmp_coords_jac_8_WHITE_DOWN;
+       const real_t tmp_coords_jac_10_WHITE_DOWN = tmp_coords_jac_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0);
+       const real_t tmp_coords_jac_11_WHITE_DOWN = tmp_coords_jac_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1);
+       const real_t tmp_coords_jac_12_WHITE_DOWN = tmp_coords_jac_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2);
+       const real_t p_affine_const_0_0_WHITE_DOWN = tmp_coords_jac_3_WHITE_DOWN;
+       const real_t p_affine_const_0_1_WHITE_DOWN = tmp_coords_jac_6_WHITE_DOWN;
+       const real_t p_affine_const_0_2_WHITE_DOWN = tmp_coords_jac_9_WHITE_DOWN;
+       const real_t p_affine_const_1_0_WHITE_DOWN = tmp_coords_jac_10_WHITE_DOWN + tmp_coords_jac_2_WHITE_DOWN;
+       const real_t p_affine_const_1_1_WHITE_DOWN = tmp_coords_jac_11_WHITE_DOWN + tmp_coords_jac_5_WHITE_DOWN;
+       const real_t p_affine_const_1_2_WHITE_DOWN = tmp_coords_jac_12_WHITE_DOWN + tmp_coords_jac_8_WHITE_DOWN;
+       const real_t p_affine_const_2_0_WHITE_DOWN = macro_vertex_coord_id_0comp0 + tmp_coords_jac_10_WHITE_DOWN + tmp_coords_jac_1_WHITE_DOWN;
+       const real_t p_affine_const_2_1_WHITE_DOWN = macro_vertex_coord_id_0comp1 + tmp_coords_jac_11_WHITE_DOWN + tmp_coords_jac_4_WHITE_DOWN;
+       const real_t p_affine_const_2_2_WHITE_DOWN = macro_vertex_coord_id_0comp2 + tmp_coords_jac_12_WHITE_DOWN + tmp_coords_jac_7_WHITE_DOWN;
+       const real_t p_affine_const_3_0_WHITE_DOWN = tmp_coords_jac_10_WHITE_DOWN + tmp_coords_jac_3_WHITE_DOWN;
+       const real_t p_affine_const_3_1_WHITE_DOWN = tmp_coords_jac_11_WHITE_DOWN + tmp_coords_jac_6_WHITE_DOWN;
+       const real_t p_affine_const_3_2_WHITE_DOWN = tmp_coords_jac_12_WHITE_DOWN + tmp_coords_jac_9_WHITE_DOWN;
+       const real_t jac_affine_0_0_WHITE_DOWN = -p_affine_const_0_0_WHITE_DOWN + p_affine_const_1_0_WHITE_DOWN;
+       const real_t jac_affine_0_1_WHITE_DOWN = -p_affine_const_0_0_WHITE_DOWN + p_affine_const_2_0_WHITE_DOWN;
+       const real_t jac_affine_0_2_WHITE_DOWN = -p_affine_const_0_0_WHITE_DOWN + p_affine_const_3_0_WHITE_DOWN;
+       const real_t jac_affine_1_0_WHITE_DOWN = -p_affine_const_0_1_WHITE_DOWN + p_affine_const_1_1_WHITE_DOWN;
+       const real_t jac_affine_1_1_WHITE_DOWN = -p_affine_const_0_1_WHITE_DOWN + p_affine_const_2_1_WHITE_DOWN;
+       const real_t jac_affine_1_2_WHITE_DOWN = -p_affine_const_0_1_WHITE_DOWN + p_affine_const_3_1_WHITE_DOWN;
+       const real_t jac_affine_2_0_WHITE_DOWN = -p_affine_const_0_2_WHITE_DOWN + p_affine_const_1_2_WHITE_DOWN;
+       const real_t jac_affine_2_1_WHITE_DOWN = -p_affine_const_0_2_WHITE_DOWN + p_affine_const_2_2_WHITE_DOWN;
+       const real_t jac_affine_2_2_WHITE_DOWN = -p_affine_const_0_2_WHITE_DOWN + p_affine_const_3_2_WHITE_DOWN;
+       const real_t abs_det_jac_affine_WHITE_DOWN = abs(jac_affine_0_0_WHITE_DOWN*jac_affine_1_1_WHITE_DOWN*jac_affine_2_2_WHITE_DOWN - jac_affine_0_0_WHITE_DOWN*jac_affine_1_2_WHITE_DOWN*jac_affine_2_1_WHITE_DOWN - jac_affine_0_1_WHITE_DOWN*jac_affine_1_0_WHITE_DOWN*jac_affine_2_2_WHITE_DOWN + jac_affine_0_1_WHITE_DOWN*jac_affine_1_2_WHITE_DOWN*jac_affine_2_0_WHITE_DOWN + jac_affine_0_2_WHITE_DOWN*jac_affine_1_0_WHITE_DOWN*jac_affine_2_1_WHITE_DOWN - jac_affine_0_2_WHITE_DOWN*jac_affine_1_1_WHITE_DOWN*jac_affine_2_0_WHITE_DOWN);
+       {
+          /* CellType.WHITE_DOWN */
+          const real_t _data_phi_psi_jac_affine_det_0_0_WHITE_DOWN [] = {((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.010749089276961213)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0013747922567553051)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.01396287204173041)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.008164600589399525)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.012151214443257608)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.019083835042434261)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.072053489056043002)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0046416810200408439)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.017525267423213611)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.027523941260433657)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.044193869792483409)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0056523290877285)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0574070354280087)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.033567987580949914)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.049958575567593019)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.078461393265588306)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.29624114484395714)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.019083835042434251)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.072053489056042974)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.11316209633188964)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.02813947970791995)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0035989968838093011)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.036552673846023863)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.021373681684931475)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.031810029988819218)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.18862506775555832)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.012151214443257601)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.045878482755592566)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.07205348905604296)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0074529241534464254)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.00095321772406372263)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0096812133204938391)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0056609585582659784)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0084250932599439499)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.013231853551815916)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0032183281481346165)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.012151214443257603)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.019083835042434251)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-2.9012262911449775e-5)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.00014612615736184792)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.00047804109319682082)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0032416491456343029)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0021116678219306132)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.00052791366753715454)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*7.0977528354966774e-5)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*9.9895812682163066e-5)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*1.3430904167093961e-5)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*3.3577051293550935e-6)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.00015331944058422371)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.00077222451657154147)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0025262763269762738)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.017130957178208683)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.011159409734644826)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0027898350580443485)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.00037509087018302439)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.00052791366753715541)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*7.0977528354966354e-5)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*1.7744271574084403e-5)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.00061328158194601311)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0030889173045236238)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.010105168244399365)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.068524255492113287)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.044637916950180538)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0015003728252777238)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0021116678219306167)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.000283911881665389)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*7.0977528354965283e-5)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0045614398903685138)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.022974618879299673)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.075159794270401023)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.50966681808331993)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.33200601647520916)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.083000987173061064)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.015706073884687172)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0021116678219306002)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.00052791366753714337)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.02118185416019976)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.040792474062018545)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.049791196691139579)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.035867609546541376)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.059688031245203839)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.021562946853404222)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.071405876738584673)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.080243884747120436)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.26572828761452333)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.095997217930328324)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.005691937733975882)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.010961657115556597)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.013379772569609637)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.009638259175114022)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.016039226535213912)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0057943440608341223)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.019188018251946451)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.021562946853404225)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0714058767385847)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.025796145274243024)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.015755757300754607)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.03034277906728966)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.037036323866953338)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.026679503441931235)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.044397913749511943)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.053114031247306501)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.059688031245203839)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.19765740883375349)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0714058767385847)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0047578795027626341)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0091628275191950465)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.011184125448277639)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0080566017962316674)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.013407157762204741)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0048434807489961713)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.018024424659562992)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.059688031245203853)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.021562946853404232)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.00015688175714697789)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0014950153325289843)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0012666972383742025)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0015490159490981592)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0062931924029516256)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0020445450956193246)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0056480276621754888)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.00013641635559728395)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.00037684830314454006)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0001224312400849633)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.002351271046368435)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.022406596720860313)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.018984670973016902)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.023215932927530856)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.094319450236798913)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.030642694050274453)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.084650020197820364)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0020445450956193168)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0056480276621755114)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0018349426677638542)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0072373072709378001)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.068968409922504109)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.058435584226493004)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.071459579463428277)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.29031907828914638)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.26055618198886238)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0062931924029516022)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.017384857321768536)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0056480276621755391)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0026198528001873307)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.024966064738678271)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.021153258143552994)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.025867850064795264)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.10509340307518385)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.034142957672569287)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0022780900577755898)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0062931924029516507)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0020445450956193428)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0016747236096797923)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.022395383667253931)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0010823709889014185)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0036990864559166563)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.00050834301173610229)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.015588264867481133)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0037476086033569342)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.00081420248681843786)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.00019574418772167287)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0060024671806827717)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.032063320402672957)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.42876947450525699)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.020722468836717273)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.070820637834037012)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.009732450635762396)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.29844418988237825)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.071749615697017544)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.015588264867481126)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0037476086033569277)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.1149198753205366)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0010456048186450997)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.013982439217157605)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.00067577259615595462)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0023095050434207478)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.00031738126788423253)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0023397995892677865)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.00050834301173610208)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.00012221184720903605)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0037476086033569355)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0043492174836919605)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.058160280082415236)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0028108917803285017)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0096064397699850354)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0013201547416997409)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.040482354049473784)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0021144645423690485)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.00050834301173610142)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.015588264867481138)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0068956855714663416)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.010091290281029655)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0080216243244021178)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0035198334831929206)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.018978279386089755)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.056811998632973766)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.01396686284573566)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.015485631440181358)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0038070424489360009)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.01139648574059631)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.025298140458325055)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.037021827096001436)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.029428861968758362)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.012913181862031289)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.069625445155635055)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.20842567519062763)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.051240105769272605)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.056811998632973738)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.013966862845735664)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.041810186095187066)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0084509467915105906)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.012367292031926986)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0098308311254096271)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0043137009617327136)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.023258663351751644)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.017116965895609845)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.018978279386089748)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0046656873831529451)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.01396686284573564)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.034375305526338835)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.050305540032273111)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.039988161309129681)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.017546529657219402)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.094607584046545581)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.28321039153111127)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.077196575526473174)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.018978279386089758)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.056811998632973676)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.036989007988906066)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.024350339729610097)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.022721604194642659)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0020718315986862396)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.053354679030800815)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.058170268354931241)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0093518161026560475)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.22863973450271471)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.036757553494219546)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.040075149727639509)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0094107024991835538)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0061951865002202629)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.005780805406949952)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.00052711310369534133)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.013574438423676774)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.014799615333023134)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0023792787088414437)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.058170268354931248)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.009351816102656051)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.010195875266786407)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0086316433720857837)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0056823218562164577)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0053022450428696702)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.00048347637471763576)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.012450687019346486)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0021823116073744556)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.053354679030800829)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0085776318491057792)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0093518161026560475)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.053690642094179834)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.035345240285608669)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.032981082352521167)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0030073250106582576)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.077445898974953548)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.084435869696849797)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.3318773554937019)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.053354679030800836)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.058170268354931241)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.2830869924348563)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.050308558644386672)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.041516821634179475)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.06274193203760102)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.020160825588817252)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.025383152182066201)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.015152528090816651)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.23919668259056145)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.14278898169094956)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.17977609281010931)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.030040718507945225)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0053386601615906274)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0044056957238823311)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0066580689659201985)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.002139433116273644)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0026936176861649991)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0016079609562587173)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.025383152182066195)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.015152528090816651)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.019077538505445499)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.023860144794362503)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0042402848796628178)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0034992684300787832)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0052882386796338152)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0016992664113091131)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0012771392678196903)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.020160825588817249)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.012035048833865587)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.01515252809081665)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.039969943152159265)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0071032236832497221)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0058618906729116316)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0088587307923610938)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0028465703978647464)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0035839271208240476)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.033772932211040815)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.020160825588817245)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.025383152182066191)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.014935575584147695)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.007791142568055953)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0073254854313094774)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.015186461110532538)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.090150328303510344)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.012455650259246793)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.015731589118882311)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.029517331411893867)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.037280633286332542)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0051508911658584714)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0063024771210085937)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0032876870064389215)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0030911901634452068)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0064083451728372039)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.038041411821271319)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0052560043865672946)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0066383769370158769)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.012455650259246798)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.015731589118882314)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0021735602717637636)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.045615473279886819)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.023795310306631609)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.022373124026687209)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.046381715060167777)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.27533253531028662)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.048046617223388682)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.090150328303510385)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.11386060898348732)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.015731589118882311)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.036116528170846006)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.018840185867421855)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.017714155002223078)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.036723208116341576)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.21799741519439725)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.030119685775736597)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.07137746553252089)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.090150328303510371)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.012455650259246793)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.032896921427909828)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.020934012679446525)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.020127575524041673)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.033499901528319088)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0098838942808698073)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.075244795478138254)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.040011251730840761)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.067458477890573201)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.035870894765649017)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.27308043404340754)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.036694010925042916)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.023350297128803515)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.022450777887903339)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.037366589313281677)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.011024731463671476)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.083929839859876898)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.044629504659074608)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.075244795478138254)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.040011251730840761)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.30460043053460045)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0048199974818136015)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0030672137093527801)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0029490559946009505)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0049083450365209726)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0014481703295155801)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.005862376301973493)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0098838942808698056)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0052557386811928905)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.040011251730840761)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.009064443351184925)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.005768174157623188)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0055459678357496689)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.009230588957667556)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0027234159279729726)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.020733009548559916)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.018587561536304909)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0098838942808698056)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.075244795478138254)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.012773605317404142)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0093099638314587951)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.055932196812816262)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0011391519589580709)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0035913578872906952)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.00039530708258920854)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.034759025419540214)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.00061078662356131824)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.053705963564394235)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0059115099192464755)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0082672024196058687)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.0060254997396084128)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.036199865373541695)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.00073727030054430856)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0023243619853375876)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.00025584661404999347)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.022496381554864123)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.00039530708258920833)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.034759025419540221)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0038259870955407193)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.075107388466231287)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.054741559075980606)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.32887513974352289)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.006698087703317224)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.02111678772433076)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.20437923045390871)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0035913578872906935)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.31578513412249021)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.034759025419540214)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.00085418052598187596)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.00062256423341908954)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0037402277670030831)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-7.6175942132039452e-5)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.00024015678369014598)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*2.6434479799555231e-5)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*4.0843757608938361e-5)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0035913578872906957)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.00039530708258920849))};
+      
+          for (int64_t ctr_2 = 0; ctr_2 < micro_edges_per_macro_edge; ctr_2 += 1)
+          for (int64_t ctr_1 = 0; ctr_1 < -ctr_2 + micro_edges_per_macro_edge; ctr_1 += 1)
+          for (int64_t ctr_0 = 0; ctr_0 < -ctr_1 - ctr_2 + micro_edges_per_macro_edge - 2; ctr_0 += 1)
+          {
+         
+             const int64_t phantom_ctr_0 = ctr_0;
+             real_t _data_float_loop_ctr_array_dim_0[4];
+             _data_float_loop_ctr_array_dim_0[0] = (real_t) ctr_0+ 0;
+             _data_float_loop_ctr_array_dim_0[1] = (real_t) ctr_0+ 1;
+             _data_float_loop_ctr_array_dim_0[2] = (real_t) ctr_0+ 2;
+             _data_float_loop_ctr_array_dim_0[3] = (real_t) ctr_0+ 3;
+             real_t _data_float_loop_ctr_array_dim_1[4];
+             _data_float_loop_ctr_array_dim_1[0] = (real_t) ctr_1;
+             _data_float_loop_ctr_array_dim_1[1] = (real_t) ctr_1;
+             _data_float_loop_ctr_array_dim_1[2] = (real_t) ctr_1;
+             _data_float_loop_ctr_array_dim_1[3] = (real_t) ctr_1;
+             real_t _data_float_loop_ctr_array_dim_2[4];
+             _data_float_loop_ctr_array_dim_2[0] = (real_t) ctr_2;
+             _data_float_loop_ctr_array_dim_2[1] = (real_t) ctr_2;
+             _data_float_loop_ctr_array_dim_2[2] = (real_t) ctr_2;
+             _data_float_loop_ctr_array_dim_2[3] = (real_t) ctr_2;
+         
+             const real_t p_affine_0_0 = macro_vertex_coord_id_0comp0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0)*(1.0 + _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0)*(1.0 + _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0)*1.0*_data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0];
+             const real_t p_affine_0_1 = macro_vertex_coord_id_0comp1 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1)*(1.0 + _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1)*(1.0 + _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1)*1.0*_data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0];
+             const real_t p_affine_0_2 = macro_vertex_coord_id_0comp2 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2)*(1.0 + _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2)*(1.0 + _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2)*1.0*_data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0];
+             const real_t p_affine_1_0 = macro_vertex_coord_id_0comp0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0)*(1.0 + _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0)*1.0*_data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0)*(1.0 + _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0])*1.0;
+             const real_t p_affine_1_1 = macro_vertex_coord_id_0comp1 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1)*(1.0 + _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1)*1.0*_data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1)*(1.0 + _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0])*1.0;
+             const real_t p_affine_1_2 = macro_vertex_coord_id_0comp2 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2)*(1.0 + _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2)*1.0*_data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2)*(1.0 + _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0])*1.0;
+             const real_t p_affine_2_0 = macro_vertex_coord_id_0comp0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0)*1.0*_data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0)*(1.0 + _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0)*(1.0 + _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0])*1.0;
+             const real_t p_affine_2_1 = macro_vertex_coord_id_0comp1 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1)*1.0*_data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1)*(1.0 + _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1)*(1.0 + _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0])*1.0;
+             const real_t p_affine_2_2 = macro_vertex_coord_id_0comp2 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2)*1.0*_data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2)*(1.0 + _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2)*(1.0 + _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0])*1.0;
+             const real_t p_affine_3_0 = macro_vertex_coord_id_0comp0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0)*(1.0 + _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0)*(1.0 + _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0)*(1.0 + _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0])*1.0;
+             const real_t p_affine_3_1 = macro_vertex_coord_id_0comp1 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1)*(1.0 + _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1)*(1.0 + _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1)*(1.0 + _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0])*1.0;
+             const real_t p_affine_3_2 = macro_vertex_coord_id_0comp2 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2)*(1.0 + _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2)*(1.0 + _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2)*(1.0 + _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0])*1.0;
+             const real_t k_dof_0 = _data_kVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1];
+             const real_t k_dof_1 = _data_kVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1];
+             const real_t k_dof_2 = _data_kVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))];
+             const real_t k_dof_3 = _data_kVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1];
+             const real_t k_dof_4 = _data_kEdge[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))];
+             const real_t k_dof_5 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + 2*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6)) + 1];
+             const real_t k_dof_6 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))];
+             const real_t k_dof_7 = _data_kEdge[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1];
+             const real_t k_dof_8 = _data_kEdge[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 5*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))];
+             const real_t k_dof_9 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1];
+             real_t q_acc_0_0 = 0.0;
+             real_t q_acc_0_1 = 0.0;
+             real_t q_acc_0_2 = 0.0;
+             real_t q_acc_0_3 = 0.0;
+             real_t q_acc_0_4 = 0.0;
+             real_t q_acc_0_5 = 0.0;
+             real_t q_acc_0_6 = 0.0;
+             real_t q_acc_0_7 = 0.0;
+             real_t q_acc_0_8 = 0.0;
+             real_t q_acc_0_9 = 0.0;
+             real_t q_acc_1_0 = 0.0;
+             real_t q_acc_1_1 = 0.0;
+             real_t q_acc_1_2 = 0.0;
+             real_t q_acc_1_3 = 0.0;
+             real_t q_acc_1_4 = 0.0;
+             real_t q_acc_1_5 = 0.0;
+             real_t q_acc_1_6 = 0.0;
+             real_t q_acc_1_7 = 0.0;
+             real_t q_acc_1_8 = 0.0;
+             real_t q_acc_1_9 = 0.0;
+             real_t q_acc_2_0 = 0.0;
+             real_t q_acc_2_1 = 0.0;
+             real_t q_acc_2_2 = 0.0;
+             real_t q_acc_2_3 = 0.0;
+             real_t q_acc_2_4 = 0.0;
+             real_t q_acc_2_5 = 0.0;
+             real_t q_acc_2_6 = 0.0;
+             real_t q_acc_2_7 = 0.0;
+             real_t q_acc_2_8 = 0.0;
+             real_t q_acc_2_9 = 0.0;
+             real_t q_acc_3_0 = 0.0;
+             real_t q_acc_3_1 = 0.0;
+             real_t q_acc_3_2 = 0.0;
+             real_t q_acc_3_3 = 0.0;
+             real_t q_acc_3_4 = 0.0;
+             real_t q_acc_3_5 = 0.0;
+             real_t q_acc_3_6 = 0.0;
+             real_t q_acc_3_7 = 0.0;
+             real_t q_acc_3_8 = 0.0;
+             real_t q_acc_3_9 = 0.0;
+             for (int64_t q = 0; q < 11; q += 1)
+             {
+                const real_t tmp_qloop_0 = 4.0*_data_q_p_0[q];
+                const real_t tmp_qloop_1 = tmp_qloop_0*_data_q_p_1[q];
+                const real_t tmp_qloop_2 = tmp_qloop_0*_data_q_p_2[q];
+                const real_t tmp_qloop_3 = 4.0*_data_q_p_1[q]*_data_q_p_2[q];
+                const real_t tmp_qloop_4 = (_data_q_p_0[q]*_data_q_p_0[q]);
+                const real_t tmp_qloop_5 = tmp_qloop_4*2.0;
+                const real_t tmp_qloop_6 = (_data_q_p_1[q]*_data_q_p_1[q]);
+                const real_t tmp_qloop_7 = tmp_qloop_6*2.0;
+                const real_t tmp_qloop_8 = (_data_q_p_2[q]*_data_q_p_2[q]);
+                const real_t tmp_qloop_9 = tmp_qloop_8*2.0;
+                const real_t tmp_qloop_10 = tmp_qloop_1 + tmp_qloop_2;
+                const real_t tmp_qloop_11 = p_affine_0_0 + (-p_affine_0_0 + p_affine_1_0)*_data_q_p_0[q] + (-p_affine_0_0 + p_affine_2_0)*_data_q_p_1[q] + (-p_affine_0_0 + p_affine_3_0)*_data_q_p_2[q];
+                const real_t tmp_qloop_12 = p_affine_0_1 + (-p_affine_0_1 + p_affine_1_1)*_data_q_p_0[q] + (-p_affine_0_1 + p_affine_2_1)*_data_q_p_1[q] + (-p_affine_0_1 + p_affine_3_1)*_data_q_p_2[q];
+                const real_t tmp_qloop_13 = p_affine_0_2 + (-p_affine_0_2 + p_affine_1_2)*_data_q_p_0[q] + (-p_affine_0_2 + p_affine_2_2)*_data_q_p_1[q] + (-p_affine_0_2 + p_affine_3_2)*_data_q_p_2[q];
+                const real_t tmp_qloop_14 = (tmp_qloop_11*tmp_qloop_11);
+                const real_t tmp_qloop_15 = (tmp_qloop_12*tmp_qloop_12);
+                const real_t tmp_qloop_16 = (tmp_qloop_13*tmp_qloop_13);
+                const real_t tmp_qloop_17 = tmp_qloop_14 + tmp_qloop_15 + tmp_qloop_16;
+                const real_t tmp_qloop_18 = pow(tmp_qloop_17, -4.5000000000000000);
+                const real_t tmp_qloop_39 = -tmp_qloop_13 - tmp_qloop_31;
+                const real_t tmp_qloop_40 = -tmp_qloop_11 - tmp_qloop_20;
+                const real_t tmp_qloop_41 = -tmp_qloop_12 - tmp_qloop_27;
+                const real_t tmp_qloop_42 = radRayVertex*tmp_qloop_35 - tmp_qloop_37*(tmp_qloop_21*tmp_qloop_22*tmp_qloop_41 + tmp_qloop_25*tmp_qloop_32*tmp_qloop_40 - tmp_qloop_26*tmp_qloop_39 + tmp_qloop_28*tmp_qloop_29*tmp_qloop_39 - tmp_qloop_33*tmp_qloop_40 - tmp_qloop_34*tmp_qloop_41);
+                const real_t tmp_qloop_43 = -tmp_qloop_42;
+                const real_t tmp_qloop_44 = tmp_qloop_13*tmp_qloop_43 + tmp_qloop_17*tmp_qloop_38;
+                const real_t tmp_qloop_46 = tmp_qloop_11*tmp_qloop_43 + tmp_qloop_17*tmp_qloop_45;
+                const real_t tmp_qloop_48 = -tmp_qloop_12*tmp_qloop_42 - tmp_qloop_17*tmp_qloop_37*tmp_qloop_47;
+                const real_t tmp_qloop_49 = tmp_qloop_15*tmp_qloop_43 + tmp_qloop_17*(-tmp_qloop_12*tmp_qloop_37*tmp_qloop_47 + tmp_qloop_42);
+                const real_t tmp_qloop_50 = tmp_qloop_18*tmp_qloop_36;
+                const real_t tmp_qloop_51 = tmp_qloop_11*tmp_qloop_46;
+                const real_t tmp_qloop_52 = tmp_qloop_13*tmp_qloop_44;
+                const real_t tmp_qloop_53 = tmp_qloop_16*tmp_qloop_43 + tmp_qloop_17*(tmp_qloop_13*tmp_qloop_38 + tmp_qloop_42);
+                const real_t tmp_qloop_54 = tmp_qloop_12*tmp_qloop_48*tmp_qloop_50*1.0;
+                const real_t tmp_qloop_55 = -tmp_qloop_14*tmp_qloop_42 + tmp_qloop_17*(tmp_qloop_11*tmp_qloop_45 + tmp_qloop_42);
+                const real_t tmp_qloop_56 = (k_dof_0*(tmp_qloop_10 + tmp_qloop_3 + tmp_qloop_5 + tmp_qloop_7 + tmp_qloop_9 - 3.0*_data_q_p_0[q] - 3.0*_data_q_p_1[q] - 3.0*_data_q_p_2[q] + 1.0) + k_dof_1*(tmp_qloop_5 - _data_q_p_0[q]) + k_dof_2*(tmp_qloop_7 - _data_q_p_1[q]) + k_dof_3*(tmp_qloop_9 - _data_q_p_2[q]) + k_dof_4*tmp_qloop_3 + k_dof_5*tmp_qloop_2 + k_dof_6*tmp_qloop_1 + k_dof_7*(-tmp_qloop_2 - tmp_qloop_3 + tmp_qloop_8*-4.0 + 4.0*_data_q_p_2[q]) + k_dof_8*(-tmp_qloop_1 - tmp_qloop_3 + tmp_qloop_6*-4.0 + 4.0*_data_q_p_1[q]) + k_dof_9*(-tmp_qloop_10 + tmp_qloop_4*-4.0 + 4.0*_data_q_p_0[q]))*abs(tmp_qloop_11*tmp_qloop_12*tmp_qloop_13*tmp_qloop_18*tmp_qloop_36*tmp_qloop_44*tmp_qloop_46*tmp_qloop_48*-2.0 - tmp_qloop_18*tmp_qloop_36*tmp_qloop_49*tmp_qloop_53*tmp_qloop_55 + tmp_qloop_49*tmp_qloop_50*tmp_qloop_51*tmp_qloop_52*1.0 + tmp_qloop_51*tmp_qloop_53*tmp_qloop_54 + tmp_qloop_52*tmp_qloop_54*tmp_qloop_55)*_data_q_w[q];
+                const real_t tmp_qloop_57 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 14];
+                const real_t q_tmp_0_0 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q];
+                const real_t q_tmp_0_1 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 1];
+                const real_t q_tmp_0_2 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 2];
+                const real_t q_tmp_0_3 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 3];
+                const real_t q_tmp_0_4 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 4];
+                const real_t q_tmp_0_5 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 5];
+                const real_t q_tmp_0_6 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 6];
+                const real_t q_tmp_0_7 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 7];
+                const real_t q_tmp_0_8 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 8];
+                const real_t q_tmp_0_9 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 9];
+                const real_t q_tmp_1_0 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 10];
+                const real_t q_tmp_1_1 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 11];
+                const real_t q_tmp_1_2 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 12];
+                const real_t q_tmp_1_3 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 13];
+                const real_t q_tmp_1_4 = tmp_qloop_57;
+                const real_t q_tmp_1_5 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 15];
+                const real_t q_tmp_1_6 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 16];
+                const real_t q_tmp_1_7 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 17];
+                const real_t q_tmp_1_8 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 18];
+                const real_t q_tmp_1_9 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 19];
+                const real_t q_tmp_2_0 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 20];
+                const real_t q_tmp_2_1 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 21];
+                const real_t q_tmp_2_2 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 22];
+                const real_t q_tmp_2_3 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 23];
+                const real_t q_tmp_2_4 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 24];
+                const real_t q_tmp_2_5 = tmp_qloop_57;
+                const real_t q_tmp_2_6 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 25];
+                const real_t q_tmp_2_7 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 26];
+                const real_t q_tmp_2_8 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 27];
+                const real_t q_tmp_2_9 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 28];
+                const real_t q_tmp_3_0 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 29];
+                const real_t q_tmp_3_1 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 30];
+                const real_t q_tmp_3_2 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 31];
+                const real_t q_tmp_3_3 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 32];
+                const real_t q_tmp_3_4 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 33];
+                const real_t q_tmp_3_5 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 34];
+                const real_t q_tmp_3_6 = tmp_qloop_57;
+                const real_t q_tmp_3_7 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 35];
+                const real_t q_tmp_3_8 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 36];
+                const real_t q_tmp_3_9 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 37];
+                q_acc_0_0 = q_acc_0_0 + q_tmp_0_0;
+                q_acc_0_1 = q_acc_0_1 + q_tmp_0_1;
+                q_acc_0_2 = q_acc_0_2 + q_tmp_0_2;
+                q_acc_0_3 = q_acc_0_3 + q_tmp_0_3;
+                q_acc_0_4 = q_acc_0_4 + q_tmp_0_4;
+                q_acc_0_5 = q_acc_0_5 + q_tmp_0_5;
+                q_acc_0_6 = q_acc_0_6 + q_tmp_0_6;
+                q_acc_0_7 = q_acc_0_7 + q_tmp_0_7;
+                q_acc_0_8 = q_acc_0_8 + q_tmp_0_8;
+                q_acc_0_9 = q_acc_0_9 + q_tmp_0_9;
+                q_acc_1_0 = q_acc_1_0 + q_tmp_1_0;
+                q_acc_1_1 = q_acc_1_1 + q_tmp_1_1;
+                q_acc_1_2 = q_acc_1_2 + q_tmp_1_2;
+                q_acc_1_3 = q_acc_1_3 + q_tmp_1_3;
+                q_acc_1_4 = q_acc_1_4 + q_tmp_1_4;
+                q_acc_1_5 = q_acc_1_5 + q_tmp_1_5;
+                q_acc_1_6 = q_acc_1_6 + q_tmp_1_6;
+                q_acc_1_7 = q_acc_1_7 + q_tmp_1_7;
+                q_acc_1_8 = q_acc_1_8 + q_tmp_1_8;
+                q_acc_1_9 = q_acc_1_9 + q_tmp_1_9;
+                q_acc_2_0 = q_acc_2_0 + q_tmp_2_0;
+                q_acc_2_1 = q_acc_2_1 + q_tmp_2_1;
+                q_acc_2_2 = q_acc_2_2 + q_tmp_2_2;
+                q_acc_2_3 = q_acc_2_3 + q_tmp_2_3;
+                q_acc_2_4 = q_acc_2_4 + q_tmp_2_4;
+                q_acc_2_5 = q_acc_2_5 + q_tmp_2_5;
+                q_acc_2_6 = q_acc_2_6 + q_tmp_2_6;
+                q_acc_2_7 = q_acc_2_7 + q_tmp_2_7;
+                q_acc_2_8 = q_acc_2_8 + q_tmp_2_8;
+                q_acc_2_9 = q_acc_2_9 + q_tmp_2_9;
+                q_acc_3_0 = q_acc_3_0 + q_tmp_3_0;
+                q_acc_3_1 = q_acc_3_1 + q_tmp_3_1;
+                q_acc_3_2 = q_acc_3_2 + q_tmp_3_2;
+                q_acc_3_3 = q_acc_3_3 + q_tmp_3_3;
+                q_acc_3_4 = q_acc_3_4 + q_tmp_3_4;
+                q_acc_3_5 = q_acc_3_5 + q_tmp_3_5;
+                q_acc_3_6 = q_acc_3_6 + q_tmp_3_6;
+                q_acc_3_7 = q_acc_3_7 + q_tmp_3_7;
+                q_acc_3_8 = q_acc_3_8 + q_tmp_3_8;
+                q_acc_3_9 = q_acc_3_9 + q_tmp_3_9;
+             }
+             const real_t elMat_0_0 = q_acc_0_0;
+             const real_t elMat_0_1 = q_acc_0_1;
+             const real_t elMat_0_2 = q_acc_0_2;
+             const real_t elMat_0_3 = q_acc_0_3;
+             const real_t elMat_0_4 = q_acc_0_4;
+             const real_t elMat_0_5 = q_acc_0_5;
+             const real_t elMat_0_6 = q_acc_0_6;
+             const real_t elMat_0_7 = q_acc_0_7;
+             const real_t elMat_0_8 = q_acc_0_8;
+             const real_t elMat_0_9 = q_acc_0_9;
+             const real_t elMat_1_0 = q_acc_1_0;
+             const real_t elMat_1_1 = q_acc_1_1;
+             const real_t elMat_1_2 = q_acc_1_2;
+             const real_t elMat_1_3 = q_acc_1_3;
+             const real_t elMat_1_4 = q_acc_1_4;
+             const real_t elMat_1_5 = q_acc_1_5;
+             const real_t elMat_1_6 = q_acc_1_6;
+             const real_t elMat_1_7 = q_acc_1_7;
+             const real_t elMat_1_8 = q_acc_1_8;
+             const real_t elMat_1_9 = q_acc_1_9;
+             const real_t elMat_2_0 = q_acc_2_0;
+             const real_t elMat_2_1 = q_acc_2_1;
+             const real_t elMat_2_2 = q_acc_2_2;
+             const real_t elMat_2_3 = q_acc_2_3;
+             const real_t elMat_2_4 = q_acc_2_4;
+             const real_t elMat_2_5 = q_acc_2_5;
+             const real_t elMat_2_6 = q_acc_2_6;
+             const real_t elMat_2_7 = q_acc_2_7;
+             const real_t elMat_2_8 = q_acc_2_8;
+             const real_t elMat_2_9 = q_acc_2_9;
+             const real_t elMat_3_0 = q_acc_3_0;
+             const real_t elMat_3_1 = q_acc_3_1;
+             const real_t elMat_3_2 = q_acc_3_2;
+             const real_t elMat_3_3 = q_acc_3_3;
+             const real_t elMat_3_4 = q_acc_3_4;
+             const real_t elMat_3_5 = q_acc_3_5;
+             const real_t elMat_3_6 = q_acc_3_6;
+             const real_t elMat_3_7 = q_acc_3_7;
+             const real_t elMat_3_8 = q_acc_3_8;
+             const real_t elMat_3_9 = q_acc_3_9;
+         
+             std::vector< uint_t > _data_rowIdx( 4 );
+             std::vector< uint_t > _data_colIdx( 10 );
+             std::vector< real_t > _data_mat( 40 );
+         
+             _data_rowIdx[0] = ((uint64_t)(_data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]));
+             _data_rowIdx[1] = ((uint64_t)(_data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]));
+             _data_rowIdx[2] = ((uint64_t)(_data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]));
+             _data_rowIdx[3] = ((uint64_t)(_data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]));
+             _data_colIdx[0] = ((uint64_t)(_data_srcVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]));
+             _data_colIdx[1] = ((uint64_t)(_data_srcVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]));
+             _data_colIdx[2] = ((uint64_t)(_data_srcVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]));
+             _data_colIdx[3] = ((uint64_t)(_data_srcVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]));
+             _data_colIdx[4] = ((uint64_t)(_data_srcEdge[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]));
+             _data_colIdx[5] = ((uint64_t)(_data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + 2*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6)) + 1]));
+             _data_colIdx[6] = ((uint64_t)(_data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]));
+             _data_colIdx[7] = ((uint64_t)(_data_srcEdge[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1]));
+             _data_colIdx[8] = ((uint64_t)(_data_srcEdge[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 5*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]));
+             _data_colIdx[9] = ((uint64_t)(_data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1]));
+         
+             /* Apply basis transformation */
+         
+         
+         
+             _data_mat[0] = ((real_t)(elMat_0_0));
+             _data_mat[1] = ((real_t)(elMat_0_1));
+             _data_mat[2] = ((real_t)(elMat_0_2));
+             _data_mat[3] = ((real_t)(elMat_0_3));
+             _data_mat[4] = ((real_t)(elMat_0_4));
+             _data_mat[5] = ((real_t)(elMat_0_5));
+             _data_mat[6] = ((real_t)(elMat_0_6));
+             _data_mat[7] = ((real_t)(elMat_0_7));
+             _data_mat[8] = ((real_t)(elMat_0_8));
+             _data_mat[9] = ((real_t)(elMat_0_9));
+             _data_mat[10] = ((real_t)(elMat_1_0));
+             _data_mat[11] = ((real_t)(elMat_1_1));
+             _data_mat[12] = ((real_t)(elMat_1_2));
+             _data_mat[13] = ((real_t)(elMat_1_3));
+             _data_mat[14] = ((real_t)(elMat_1_4));
+             _data_mat[15] = ((real_t)(elMat_1_5));
+             _data_mat[16] = ((real_t)(elMat_1_6));
+             _data_mat[17] = ((real_t)(elMat_1_7));
+             _data_mat[18] = ((real_t)(elMat_1_8));
+             _data_mat[19] = ((real_t)(elMat_1_9));
+             _data_mat[20] = ((real_t)(elMat_2_0));
+             _data_mat[21] = ((real_t)(elMat_2_1));
+             _data_mat[22] = ((real_t)(elMat_2_2));
+             _data_mat[23] = ((real_t)(elMat_2_3));
+             _data_mat[24] = ((real_t)(elMat_2_4));
+             _data_mat[25] = ((real_t)(elMat_2_5));
+             _data_mat[26] = ((real_t)(elMat_2_6));
+             _data_mat[27] = ((real_t)(elMat_2_7));
+             _data_mat[28] = ((real_t)(elMat_2_8));
+             _data_mat[29] = ((real_t)(elMat_2_9));
+             _data_mat[30] = ((real_t)(elMat_3_0));
+             _data_mat[31] = ((real_t)(elMat_3_1));
+             _data_mat[32] = ((real_t)(elMat_3_2));
+             _data_mat[33] = ((real_t)(elMat_3_3));
+             _data_mat[34] = ((real_t)(elMat_3_4));
+             _data_mat[35] = ((real_t)(elMat_3_5));
+             _data_mat[36] = ((real_t)(elMat_3_6));
+             _data_mat[37] = ((real_t)(elMat_3_7));
+             _data_mat[38] = ((real_t)(elMat_3_8));
+             _data_mat[39] = ((real_t)(elMat_3_9));
+         
+         
+             mat->addValues( _data_rowIdx, _data_colIdx, _data_mat );
+          }
+       }
+       const real_t tmp_coords_jac_0_BLUE_UP = 1.0 / (micro_edges_per_macro_edge_float)*1.0;
+       const real_t tmp_coords_jac_1_BLUE_UP = macro_vertex_coord_id_0comp0 + tmp_coords_jac_0_BLUE_UP*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0);
+       const real_t tmp_coords_jac_2_BLUE_UP = macro_vertex_coord_id_0comp1 + tmp_coords_jac_0_BLUE_UP*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1);
+       const real_t tmp_coords_jac_3_BLUE_UP = macro_vertex_coord_id_0comp2 + tmp_coords_jac_0_BLUE_UP*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2);
+       const real_t tmp_coords_jac_4_BLUE_UP = tmp_coords_jac_0_BLUE_UP*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0);
+       const real_t tmp_coords_jac_5_BLUE_UP = tmp_coords_jac_0_BLUE_UP*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1);
+       const real_t tmp_coords_jac_6_BLUE_UP = tmp_coords_jac_0_BLUE_UP*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2);
+       const real_t p_affine_const_0_0_BLUE_UP = tmp_coords_jac_1_BLUE_UP;
+       const real_t p_affine_const_0_1_BLUE_UP = tmp_coords_jac_2_BLUE_UP;
+       const real_t p_affine_const_0_2_BLUE_UP = tmp_coords_jac_3_BLUE_UP;
+       const real_t p_affine_const_1_0_BLUE_UP = macro_vertex_coord_id_0comp0 + tmp_coords_jac_4_BLUE_UP;
+       const real_t p_affine_const_1_1_BLUE_UP = macro_vertex_coord_id_0comp1 + tmp_coords_jac_5_BLUE_UP;
+       const real_t p_affine_const_1_2_BLUE_UP = macro_vertex_coord_id_0comp2 + tmp_coords_jac_6_BLUE_UP;
+       const real_t p_affine_const_2_0_BLUE_UP = tmp_coords_jac_1_BLUE_UP + tmp_coords_jac_4_BLUE_UP;
+       const real_t p_affine_const_2_1_BLUE_UP = tmp_coords_jac_2_BLUE_UP + tmp_coords_jac_5_BLUE_UP;
+       const real_t p_affine_const_2_2_BLUE_UP = tmp_coords_jac_3_BLUE_UP + tmp_coords_jac_6_BLUE_UP;
+       const real_t p_affine_const_3_0_BLUE_UP = tmp_coords_jac_0_BLUE_UP*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0) + tmp_coords_jac_1_BLUE_UP;
+       const real_t p_affine_const_3_1_BLUE_UP = tmp_coords_jac_0_BLUE_UP*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1) + tmp_coords_jac_2_BLUE_UP;
+       const real_t p_affine_const_3_2_BLUE_UP = tmp_coords_jac_0_BLUE_UP*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2) + tmp_coords_jac_3_BLUE_UP;
+       const real_t jac_affine_0_0_BLUE_UP = -p_affine_const_0_0_BLUE_UP + p_affine_const_1_0_BLUE_UP;
+       const real_t jac_affine_0_1_BLUE_UP = -p_affine_const_0_0_BLUE_UP + p_affine_const_2_0_BLUE_UP;
+       const real_t jac_affine_0_2_BLUE_UP = -p_affine_const_0_0_BLUE_UP + p_affine_const_3_0_BLUE_UP;
+       const real_t jac_affine_1_0_BLUE_UP = -p_affine_const_0_1_BLUE_UP + p_affine_const_1_1_BLUE_UP;
+       const real_t jac_affine_1_1_BLUE_UP = -p_affine_const_0_1_BLUE_UP + p_affine_const_2_1_BLUE_UP;
+       const real_t jac_affine_1_2_BLUE_UP = -p_affine_const_0_1_BLUE_UP + p_affine_const_3_1_BLUE_UP;
+       const real_t jac_affine_2_0_BLUE_UP = -p_affine_const_0_2_BLUE_UP + p_affine_const_1_2_BLUE_UP;
+       const real_t jac_affine_2_1_BLUE_UP = -p_affine_const_0_2_BLUE_UP + p_affine_const_2_2_BLUE_UP;
+       const real_t jac_affine_2_2_BLUE_UP = -p_affine_const_0_2_BLUE_UP + p_affine_const_3_2_BLUE_UP;
+       const real_t abs_det_jac_affine_BLUE_UP = abs(jac_affine_0_0_BLUE_UP*jac_affine_1_1_BLUE_UP*jac_affine_2_2_BLUE_UP - jac_affine_0_0_BLUE_UP*jac_affine_1_2_BLUE_UP*jac_affine_2_1_BLUE_UP - jac_affine_0_1_BLUE_UP*jac_affine_1_0_BLUE_UP*jac_affine_2_2_BLUE_UP + jac_affine_0_1_BLUE_UP*jac_affine_1_2_BLUE_UP*jac_affine_2_0_BLUE_UP + jac_affine_0_2_BLUE_UP*jac_affine_1_0_BLUE_UP*jac_affine_2_1_BLUE_UP - jac_affine_0_2_BLUE_UP*jac_affine_1_1_BLUE_UP*jac_affine_2_0_BLUE_UP);
+       {
+          /* CellType.BLUE_UP */
+          const real_t _data_phi_psi_jac_affine_det_0_0_BLUE_UP [] = {((real_t)(abs_det_jac_affine_BLUE_UP*-0.010749089276961213)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0013747922567553051)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.01396287204173041)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.008164600589399525)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.012151214443257608)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.019083835042434261)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.072053489056043002)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0046416810200408439)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.017525267423213611)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.027523941260433657)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.044193869792483409)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0056523290877285)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0574070354280087)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.033567987580949914)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.049958575567593019)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.078461393265588306)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.29624114484395714)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.019083835042434251)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.072053489056042974)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.11316209633188964)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.02813947970791995)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0035989968838093011)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.036552673846023863)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.021373681684931475)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.031810029988819218)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.18862506775555832)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.012151214443257601)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.045878482755592566)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.07205348905604296)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0074529241534464254)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.00095321772406372263)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0096812133204938391)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0056609585582659784)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0084250932599439499)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.013231853551815916)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0032183281481346165)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.012151214443257603)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.019083835042434251)), ((real_t)(abs_det_jac_affine_BLUE_UP*-2.9012262911449775e-5)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.00014612615736184792)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.00047804109319682082)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0032416491456343029)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0021116678219306132)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.00052791366753715454)), ((real_t)(abs_det_jac_affine_BLUE_UP*7.0977528354966774e-5)), ((real_t)(abs_det_jac_affine_BLUE_UP*9.9895812682163066e-5)), ((real_t)(abs_det_jac_affine_BLUE_UP*1.3430904167093961e-5)), ((real_t)(abs_det_jac_affine_BLUE_UP*3.3577051293550935e-6)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.00015331944058422371)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.00077222451657154147)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0025262763269762738)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.017130957178208683)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.011159409734644826)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0027898350580443485)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.00037509087018302439)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.00052791366753715541)), ((real_t)(abs_det_jac_affine_BLUE_UP*7.0977528354966354e-5)), ((real_t)(abs_det_jac_affine_BLUE_UP*1.7744271574084403e-5)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.00061328158194601311)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0030889173045236238)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.010105168244399365)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.068524255492113287)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.044637916950180538)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0015003728252777238)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0021116678219306167)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.000283911881665389)), ((real_t)(abs_det_jac_affine_BLUE_UP*7.0977528354965283e-5)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0045614398903685138)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.022974618879299673)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.075159794270401023)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.50966681808331993)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.33200601647520916)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.083000987173061064)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.015706073884687172)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0021116678219306002)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.00052791366753714337)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.02118185416019976)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.040792474062018545)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.049791196691139579)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.035867609546541376)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.059688031245203839)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.021562946853404222)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.071405876738584673)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.080243884747120436)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.26572828761452333)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.095997217930328324)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.005691937733975882)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.010961657115556597)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.013379772569609637)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.009638259175114022)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.016039226535213912)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0057943440608341223)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.019188018251946451)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.021562946853404225)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0714058767385847)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.025796145274243024)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.015755757300754607)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.03034277906728966)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.037036323866953338)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.026679503441931235)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.044397913749511943)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.053114031247306501)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.059688031245203839)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.19765740883375349)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0714058767385847)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0047578795027626341)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0091628275191950465)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.011184125448277639)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0080566017962316674)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.013407157762204741)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0048434807489961713)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.018024424659562992)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.059688031245203853)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.021562946853404232)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.00015688175714697789)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0014950153325289843)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0012666972383742025)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0015490159490981592)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0062931924029516256)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0020445450956193246)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0056480276621754888)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.00013641635559728395)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.00037684830314454006)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0001224312400849633)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.002351271046368435)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.022406596720860313)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.018984670973016902)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.023215932927530856)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.094319450236798913)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.030642694050274453)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.084650020197820364)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0020445450956193168)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0056480276621755114)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0018349426677638542)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0072373072709378001)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.068968409922504109)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.058435584226493004)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.071459579463428277)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.29031907828914638)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.26055618198886238)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0062931924029516022)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.017384857321768536)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0056480276621755391)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0026198528001873307)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.024966064738678271)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.021153258143552994)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.025867850064795264)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.10509340307518385)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.034142957672569287)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0022780900577755898)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0062931924029516507)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0020445450956193428)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0016747236096797923)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.022395383667253931)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0010823709889014185)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0036990864559166563)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.00050834301173610229)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.015588264867481133)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0037476086033569342)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.00081420248681843786)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.00019574418772167287)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0060024671806827717)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.032063320402672957)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.42876947450525699)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.020722468836717273)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.070820637834037012)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.009732450635762396)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.29844418988237825)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.071749615697017544)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.015588264867481126)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0037476086033569277)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.1149198753205366)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0010456048186450997)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.013982439217157605)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.00067577259615595462)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0023095050434207478)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.00031738126788423253)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0023397995892677865)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.00050834301173610208)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.00012221184720903605)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0037476086033569355)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0043492174836919605)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.058160280082415236)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0028108917803285017)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0096064397699850354)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0013201547416997409)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.040482354049473784)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0021144645423690485)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.00050834301173610142)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.015588264867481138)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0068956855714663416)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.010091290281029655)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0080216243244021178)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0035198334831929206)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.018978279386089755)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.056811998632973766)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.01396686284573566)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.015485631440181358)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0038070424489360009)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.01139648574059631)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.025298140458325055)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.037021827096001436)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.029428861968758362)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.012913181862031289)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.069625445155635055)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.20842567519062763)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.051240105769272605)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.056811998632973738)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.013966862845735664)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.041810186095187066)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0084509467915105906)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.012367292031926986)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0098308311254096271)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0043137009617327136)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.023258663351751644)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.017116965895609845)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.018978279386089748)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0046656873831529451)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.01396686284573564)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.034375305526338835)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.050305540032273111)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.039988161309129681)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.017546529657219402)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.094607584046545581)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.28321039153111127)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.077196575526473174)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.018978279386089758)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.056811998632973676)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.036989007988906066)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.024350339729610097)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.022721604194642659)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0020718315986862396)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.053354679030800815)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.058170268354931241)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0093518161026560475)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.22863973450271471)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.036757553494219546)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.040075149727639509)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0094107024991835538)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0061951865002202629)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.005780805406949952)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.00052711310369534133)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.013574438423676774)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.014799615333023134)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0023792787088414437)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.058170268354931248)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.009351816102656051)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.010195875266786407)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0086316433720857837)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0056823218562164577)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0053022450428696702)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.00048347637471763576)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.012450687019346486)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0021823116073744556)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.053354679030800829)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0085776318491057792)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0093518161026560475)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.053690642094179834)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.035345240285608669)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.032981082352521167)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0030073250106582576)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.077445898974953548)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.084435869696849797)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.3318773554937019)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.053354679030800836)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.058170268354931241)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.2830869924348563)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.050308558644386672)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.041516821634179475)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.06274193203760102)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.020160825588817252)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.025383152182066201)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.015152528090816651)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.23919668259056145)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.14278898169094956)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.17977609281010931)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.030040718507945225)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0053386601615906274)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0044056957238823311)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0066580689659201985)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.002139433116273644)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0026936176861649991)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0016079609562587173)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.025383152182066195)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.015152528090816651)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.019077538505445499)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.023860144794362503)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0042402848796628178)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0034992684300787832)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0052882386796338152)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0016992664113091131)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0012771392678196903)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.020160825588817249)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.012035048833865587)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.01515252809081665)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.039969943152159265)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0071032236832497221)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0058618906729116316)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0088587307923610938)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0028465703978647464)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0035839271208240476)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.033772932211040815)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.020160825588817245)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.025383152182066191)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.014935575584147695)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.007791142568055953)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0073254854313094774)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.015186461110532538)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.090150328303510344)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.012455650259246793)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.015731589118882311)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.029517331411893867)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.037280633286332542)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0051508911658584714)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0063024771210085937)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0032876870064389215)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0030911901634452068)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0064083451728372039)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.038041411821271319)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0052560043865672946)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0066383769370158769)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.012455650259246798)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.015731589118882314)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0021735602717637636)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.045615473279886819)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.023795310306631609)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.022373124026687209)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.046381715060167777)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.27533253531028662)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.048046617223388682)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.090150328303510385)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.11386060898348732)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.015731589118882311)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.036116528170846006)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.018840185867421855)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.017714155002223078)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.036723208116341576)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.21799741519439725)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.030119685775736597)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.07137746553252089)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.090150328303510371)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.012455650259246793)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.032896921427909828)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.020934012679446525)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.020127575524041673)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.033499901528319088)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0098838942808698073)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.075244795478138254)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.040011251730840761)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.067458477890573201)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.035870894765649017)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.27308043404340754)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.036694010925042916)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.023350297128803515)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.022450777887903339)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.037366589313281677)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.011024731463671476)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.083929839859876898)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.044629504659074608)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.075244795478138254)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.040011251730840761)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.30460043053460045)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0048199974818136015)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0030672137093527801)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0029490559946009505)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0049083450365209726)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0014481703295155801)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.005862376301973493)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0098838942808698056)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0052557386811928905)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.040011251730840761)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.009064443351184925)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.005768174157623188)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0055459678357496689)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.009230588957667556)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0027234159279729726)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.020733009548559916)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.018587561536304909)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0098838942808698056)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.075244795478138254)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.012773605317404142)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0093099638314587951)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.055932196812816262)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0011391519589580709)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0035913578872906952)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.00039530708258920854)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.034759025419540214)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.00061078662356131824)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.053705963564394235)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0059115099192464755)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0082672024196058687)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.0060254997396084128)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.036199865373541695)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.00073727030054430856)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0023243619853375876)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.00025584661404999347)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.022496381554864123)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.00039530708258920833)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.034759025419540221)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0038259870955407193)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.075107388466231287)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.054741559075980606)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.32887513974352289)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.006698087703317224)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.02111678772433076)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.20437923045390871)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0035913578872906935)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.31578513412249021)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.034759025419540214)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.00085418052598187596)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.00062256423341908954)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0037402277670030831)), ((real_t)(abs_det_jac_affine_BLUE_UP*-7.6175942132039452e-5)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.00024015678369014598)), ((real_t)(abs_det_jac_affine_BLUE_UP*2.6434479799555231e-5)), ((real_t)(abs_det_jac_affine_BLUE_UP*4.0843757608938361e-5)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0035913578872906957)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.00039530708258920849))};
+      
+          for (int64_t ctr_2 = 0; ctr_2 < micro_edges_per_macro_edge; ctr_2 += 1)
+          for (int64_t ctr_1 = 0; ctr_1 < -ctr_2 + micro_edges_per_macro_edge; ctr_1 += 1)
+          for (int64_t ctr_0 = 0; ctr_0 < -ctr_1 - ctr_2 + micro_edges_per_macro_edge - 1; ctr_0 += 1)
+          {
+         
+             const int64_t phantom_ctr_0 = ctr_0;
+             real_t _data_float_loop_ctr_array_dim_0[4];
+             _data_float_loop_ctr_array_dim_0[0] = (real_t) ctr_0+ 0;
+             _data_float_loop_ctr_array_dim_0[1] = (real_t) ctr_0+ 1;
+             _data_float_loop_ctr_array_dim_0[2] = (real_t) ctr_0+ 2;
+             _data_float_loop_ctr_array_dim_0[3] = (real_t) ctr_0+ 3;
+             real_t _data_float_loop_ctr_array_dim_1[4];
+             _data_float_loop_ctr_array_dim_1[0] = (real_t) ctr_1;
+             _data_float_loop_ctr_array_dim_1[1] = (real_t) ctr_1;
+             _data_float_loop_ctr_array_dim_1[2] = (real_t) ctr_1;
+             _data_float_loop_ctr_array_dim_1[3] = (real_t) ctr_1;
+             real_t _data_float_loop_ctr_array_dim_2[4];
+             _data_float_loop_ctr_array_dim_2[0] = (real_t) ctr_2;
+             _data_float_loop_ctr_array_dim_2[1] = (real_t) ctr_2;
+             _data_float_loop_ctr_array_dim_2[2] = (real_t) ctr_2;
+             _data_float_loop_ctr_array_dim_2[3] = (real_t) ctr_2;
+         
+             const real_t p_affine_0_0 = macro_vertex_coord_id_0comp0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0)*(1.0 + _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0)*1.0*_data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0)*1.0*_data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0];
+             const real_t p_affine_0_1 = macro_vertex_coord_id_0comp1 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1)*(1.0 + _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1)*1.0*_data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1)*1.0*_data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0];
+             const real_t p_affine_0_2 = macro_vertex_coord_id_0comp2 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2)*(1.0 + _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2)*1.0*_data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2)*1.0*_data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0];
+             const real_t p_affine_1_0 = macro_vertex_coord_id_0comp0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0)*1.0*_data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0)*(1.0 + _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0)*1.0*_data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0];
+             const real_t p_affine_1_1 = macro_vertex_coord_id_0comp1 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1)*1.0*_data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1)*(1.0 + _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1)*1.0*_data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0];
+             const real_t p_affine_1_2 = macro_vertex_coord_id_0comp2 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2)*1.0*_data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2)*(1.0 + _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2)*1.0*_data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0];
+             const real_t p_affine_2_0 = macro_vertex_coord_id_0comp0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0)*(1.0 + _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0)*(1.0 + _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0)*1.0*_data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0];
+             const real_t p_affine_2_1 = macro_vertex_coord_id_0comp1 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1)*(1.0 + _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1)*(1.0 + _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1)*1.0*_data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0];
+             const real_t p_affine_2_2 = macro_vertex_coord_id_0comp2 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2)*(1.0 + _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2)*(1.0 + _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2)*1.0*_data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0];
+             const real_t p_affine_3_0 = macro_vertex_coord_id_0comp0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0)*(1.0 + _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0)*1.0*_data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0)*(1.0 + _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0])*1.0;
+             const real_t p_affine_3_1 = macro_vertex_coord_id_0comp1 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1)*(1.0 + _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1)*1.0*_data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1)*(1.0 + _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0])*1.0;
+             const real_t p_affine_3_2 = macro_vertex_coord_id_0comp2 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2)*(1.0 + _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2)*1.0*_data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2)*(1.0 + _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0])*1.0;
+             const real_t k_dof_0 = _data_kVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1];
+             const real_t k_dof_1 = _data_kVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))];
+             const real_t k_dof_2 = _data_kVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1];
+             const real_t k_dof_3 = _data_kVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1];
+             const real_t k_dof_4 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1];
+             const real_t k_dof_5 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge - 1)*(micro_edges_per_macro_edge + 1)) / (6)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))];
+             const real_t k_dof_6 = _data_kEdge[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))];
+             const real_t k_dof_7 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1];
+             const real_t k_dof_8 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 2*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1];
+             const real_t k_dof_9 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))];
+             real_t q_acc_0_0 = 0.0;
+             real_t q_acc_0_1 = 0.0;
+             real_t q_acc_0_2 = 0.0;
+             real_t q_acc_0_3 = 0.0;
+             real_t q_acc_0_4 = 0.0;
+             real_t q_acc_0_5 = 0.0;
+             real_t q_acc_0_6 = 0.0;
+             real_t q_acc_0_7 = 0.0;
+             real_t q_acc_0_8 = 0.0;
+             real_t q_acc_0_9 = 0.0;
+             real_t q_acc_1_0 = 0.0;
+             real_t q_acc_1_1 = 0.0;
+             real_t q_acc_1_2 = 0.0;
+             real_t q_acc_1_3 = 0.0;
+             real_t q_acc_1_4 = 0.0;
+             real_t q_acc_1_5 = 0.0;
+             real_t q_acc_1_6 = 0.0;
+             real_t q_acc_1_7 = 0.0;
+             real_t q_acc_1_8 = 0.0;
+             real_t q_acc_1_9 = 0.0;
+             real_t q_acc_2_0 = 0.0;
+             real_t q_acc_2_1 = 0.0;
+             real_t q_acc_2_2 = 0.0;
+             real_t q_acc_2_3 = 0.0;
+             real_t q_acc_2_4 = 0.0;
+             real_t q_acc_2_5 = 0.0;
+             real_t q_acc_2_6 = 0.0;
+             real_t q_acc_2_7 = 0.0;
+             real_t q_acc_2_8 = 0.0;
+             real_t q_acc_2_9 = 0.0;
+             real_t q_acc_3_0 = 0.0;
+             real_t q_acc_3_1 = 0.0;
+             real_t q_acc_3_2 = 0.0;
+             real_t q_acc_3_3 = 0.0;
+             real_t q_acc_3_4 = 0.0;
+             real_t q_acc_3_5 = 0.0;
+             real_t q_acc_3_6 = 0.0;
+             real_t q_acc_3_7 = 0.0;
+             real_t q_acc_3_8 = 0.0;
+             real_t q_acc_3_9 = 0.0;
+             for (int64_t q = 0; q < 11; q += 1)
+             {
+                const real_t tmp_qloop_0 = 4.0*_data_q_p_0[q];
+                const real_t tmp_qloop_1 = tmp_qloop_0*_data_q_p_1[q];
+                const real_t tmp_qloop_2 = tmp_qloop_0*_data_q_p_2[q];
+                const real_t tmp_qloop_3 = 4.0*_data_q_p_1[q]*_data_q_p_2[q];
+                const real_t tmp_qloop_4 = (_data_q_p_0[q]*_data_q_p_0[q]);
+                const real_t tmp_qloop_5 = tmp_qloop_4*2.0;
+                const real_t tmp_qloop_6 = (_data_q_p_1[q]*_data_q_p_1[q]);
+                const real_t tmp_qloop_7 = tmp_qloop_6*2.0;
+                const real_t tmp_qloop_8 = (_data_q_p_2[q]*_data_q_p_2[q]);
+                const real_t tmp_qloop_9 = tmp_qloop_8*2.0;
+                const real_t tmp_qloop_10 = tmp_qloop_1 + tmp_qloop_2;
+                const real_t tmp_qloop_11 = p_affine_0_0 + (-p_affine_0_0 + p_affine_1_0)*_data_q_p_0[q] + (-p_affine_0_0 + p_affine_2_0)*_data_q_p_1[q] + (-p_affine_0_0 + p_affine_3_0)*_data_q_p_2[q];
+                const real_t tmp_qloop_12 = p_affine_0_1 + (-p_affine_0_1 + p_affine_1_1)*_data_q_p_0[q] + (-p_affine_0_1 + p_affine_2_1)*_data_q_p_1[q] + (-p_affine_0_1 + p_affine_3_1)*_data_q_p_2[q];
+                const real_t tmp_qloop_13 = p_affine_0_2 + (-p_affine_0_2 + p_affine_1_2)*_data_q_p_0[q] + (-p_affine_0_2 + p_affine_2_2)*_data_q_p_1[q] + (-p_affine_0_2 + p_affine_3_2)*_data_q_p_2[q];
+                const real_t tmp_qloop_14 = (tmp_qloop_11*tmp_qloop_11);
+                const real_t tmp_qloop_15 = (tmp_qloop_12*tmp_qloop_12);
+                const real_t tmp_qloop_16 = (tmp_qloop_13*tmp_qloop_13);
+                const real_t tmp_qloop_17 = tmp_qloop_14 + tmp_qloop_15 + tmp_qloop_16;
+                const real_t tmp_qloop_18 = pow(tmp_qloop_17, -4.5000000000000000);
+                const real_t tmp_qloop_39 = -tmp_qloop_13 - tmp_qloop_31;
+                const real_t tmp_qloop_40 = -tmp_qloop_11 - tmp_qloop_20;
+                const real_t tmp_qloop_41 = -tmp_qloop_12 - tmp_qloop_27;
+                const real_t tmp_qloop_42 = radRayVertex*tmp_qloop_35 - tmp_qloop_37*(tmp_qloop_21*tmp_qloop_22*tmp_qloop_41 + tmp_qloop_25*tmp_qloop_32*tmp_qloop_40 - tmp_qloop_26*tmp_qloop_39 + tmp_qloop_28*tmp_qloop_29*tmp_qloop_39 - tmp_qloop_33*tmp_qloop_40 - tmp_qloop_34*tmp_qloop_41);
+                const real_t tmp_qloop_43 = -tmp_qloop_42;
+                const real_t tmp_qloop_44 = tmp_qloop_13*tmp_qloop_43 + tmp_qloop_17*tmp_qloop_38;
+                const real_t tmp_qloop_46 = tmp_qloop_11*tmp_qloop_43 + tmp_qloop_17*tmp_qloop_45;
+                const real_t tmp_qloop_48 = -tmp_qloop_12*tmp_qloop_42 - tmp_qloop_17*tmp_qloop_37*tmp_qloop_47;
+                const real_t tmp_qloop_49 = tmp_qloop_15*tmp_qloop_43 + tmp_qloop_17*(-tmp_qloop_12*tmp_qloop_37*tmp_qloop_47 + tmp_qloop_42);
+                const real_t tmp_qloop_50 = tmp_qloop_18*tmp_qloop_36;
+                const real_t tmp_qloop_51 = tmp_qloop_11*tmp_qloop_46;
+                const real_t tmp_qloop_52 = tmp_qloop_13*tmp_qloop_44;
+                const real_t tmp_qloop_53 = tmp_qloop_16*tmp_qloop_43 + tmp_qloop_17*(tmp_qloop_13*tmp_qloop_38 + tmp_qloop_42);
+                const real_t tmp_qloop_54 = tmp_qloop_12*tmp_qloop_48*tmp_qloop_50*1.0;
+                const real_t tmp_qloop_55 = -tmp_qloop_14*tmp_qloop_42 + tmp_qloop_17*(tmp_qloop_11*tmp_qloop_45 + tmp_qloop_42);
+                const real_t tmp_qloop_56 = (k_dof_0*(tmp_qloop_10 + tmp_qloop_3 + tmp_qloop_5 + tmp_qloop_7 + tmp_qloop_9 - 3.0*_data_q_p_0[q] - 3.0*_data_q_p_1[q] - 3.0*_data_q_p_2[q] + 1.0) + k_dof_1*(tmp_qloop_5 - _data_q_p_0[q]) + k_dof_2*(tmp_qloop_7 - _data_q_p_1[q]) + k_dof_3*(tmp_qloop_9 - _data_q_p_2[q]) + k_dof_4*tmp_qloop_3 + k_dof_5*tmp_qloop_2 + k_dof_6*tmp_qloop_1 + k_dof_7*(-tmp_qloop_2 - tmp_qloop_3 + tmp_qloop_8*-4.0 + 4.0*_data_q_p_2[q]) + k_dof_8*(-tmp_qloop_1 - tmp_qloop_3 + tmp_qloop_6*-4.0 + 4.0*_data_q_p_1[q]) + k_dof_9*(-tmp_qloop_10 + tmp_qloop_4*-4.0 + 4.0*_data_q_p_0[q]))*abs(tmp_qloop_11*tmp_qloop_12*tmp_qloop_13*tmp_qloop_18*tmp_qloop_36*tmp_qloop_44*tmp_qloop_46*tmp_qloop_48*-2.0 - tmp_qloop_18*tmp_qloop_36*tmp_qloop_49*tmp_qloop_53*tmp_qloop_55 + tmp_qloop_49*tmp_qloop_50*tmp_qloop_51*tmp_qloop_52*1.0 + tmp_qloop_51*tmp_qloop_53*tmp_qloop_54 + tmp_qloop_52*tmp_qloop_54*tmp_qloop_55)*_data_q_w[q];
+                const real_t tmp_qloop_57 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 14];
+                const real_t q_tmp_0_0 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q];
+                const real_t q_tmp_0_1 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 1];
+                const real_t q_tmp_0_2 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 2];
+                const real_t q_tmp_0_3 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 3];
+                const real_t q_tmp_0_4 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 4];
+                const real_t q_tmp_0_5 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 5];
+                const real_t q_tmp_0_6 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 6];
+                const real_t q_tmp_0_7 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 7];
+                const real_t q_tmp_0_8 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 8];
+                const real_t q_tmp_0_9 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 9];
+                const real_t q_tmp_1_0 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 10];
+                const real_t q_tmp_1_1 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 11];
+                const real_t q_tmp_1_2 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 12];
+                const real_t q_tmp_1_3 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 13];
+                const real_t q_tmp_1_4 = tmp_qloop_57;
+                const real_t q_tmp_1_5 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 15];
+                const real_t q_tmp_1_6 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 16];
+                const real_t q_tmp_1_7 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 17];
+                const real_t q_tmp_1_8 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 18];
+                const real_t q_tmp_1_9 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 19];
+                const real_t q_tmp_2_0 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 20];
+                const real_t q_tmp_2_1 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 21];
+                const real_t q_tmp_2_2 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 22];
+                const real_t q_tmp_2_3 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 23];
+                const real_t q_tmp_2_4 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 24];
+                const real_t q_tmp_2_5 = tmp_qloop_57;
+                const real_t q_tmp_2_6 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 25];
+                const real_t q_tmp_2_7 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 26];
+                const real_t q_tmp_2_8 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 27];
+                const real_t q_tmp_2_9 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 28];
+                const real_t q_tmp_3_0 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 29];
+                const real_t q_tmp_3_1 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 30];
+                const real_t q_tmp_3_2 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 31];
+                const real_t q_tmp_3_3 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 32];
+                const real_t q_tmp_3_4 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 33];
+                const real_t q_tmp_3_5 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 34];
+                const real_t q_tmp_3_6 = tmp_qloop_57;
+                const real_t q_tmp_3_7 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 35];
+                const real_t q_tmp_3_8 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 36];
+                const real_t q_tmp_3_9 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 37];
+                q_acc_0_0 = q_acc_0_0 + q_tmp_0_0;
+                q_acc_0_1 = q_acc_0_1 + q_tmp_0_1;
+                q_acc_0_2 = q_acc_0_2 + q_tmp_0_2;
+                q_acc_0_3 = q_acc_0_3 + q_tmp_0_3;
+                q_acc_0_4 = q_acc_0_4 + q_tmp_0_4;
+                q_acc_0_5 = q_acc_0_5 + q_tmp_0_5;
+                q_acc_0_6 = q_acc_0_6 + q_tmp_0_6;
+                q_acc_0_7 = q_acc_0_7 + q_tmp_0_7;
+                q_acc_0_8 = q_acc_0_8 + q_tmp_0_8;
+                q_acc_0_9 = q_acc_0_9 + q_tmp_0_9;
+                q_acc_1_0 = q_acc_1_0 + q_tmp_1_0;
+                q_acc_1_1 = q_acc_1_1 + q_tmp_1_1;
+                q_acc_1_2 = q_acc_1_2 + q_tmp_1_2;
+                q_acc_1_3 = q_acc_1_3 + q_tmp_1_3;
+                q_acc_1_4 = q_acc_1_4 + q_tmp_1_4;
+                q_acc_1_5 = q_acc_1_5 + q_tmp_1_5;
+                q_acc_1_6 = q_acc_1_6 + q_tmp_1_6;
+                q_acc_1_7 = q_acc_1_7 + q_tmp_1_7;
+                q_acc_1_8 = q_acc_1_8 + q_tmp_1_8;
+                q_acc_1_9 = q_acc_1_9 + q_tmp_1_9;
+                q_acc_2_0 = q_acc_2_0 + q_tmp_2_0;
+                q_acc_2_1 = q_acc_2_1 + q_tmp_2_1;
+                q_acc_2_2 = q_acc_2_2 + q_tmp_2_2;
+                q_acc_2_3 = q_acc_2_3 + q_tmp_2_3;
+                q_acc_2_4 = q_acc_2_4 + q_tmp_2_4;
+                q_acc_2_5 = q_acc_2_5 + q_tmp_2_5;
+                q_acc_2_6 = q_acc_2_6 + q_tmp_2_6;
+                q_acc_2_7 = q_acc_2_7 + q_tmp_2_7;
+                q_acc_2_8 = q_acc_2_8 + q_tmp_2_8;
+                q_acc_2_9 = q_acc_2_9 + q_tmp_2_9;
+                q_acc_3_0 = q_acc_3_0 + q_tmp_3_0;
+                q_acc_3_1 = q_acc_3_1 + q_tmp_3_1;
+                q_acc_3_2 = q_acc_3_2 + q_tmp_3_2;
+                q_acc_3_3 = q_acc_3_3 + q_tmp_3_3;
+                q_acc_3_4 = q_acc_3_4 + q_tmp_3_4;
+                q_acc_3_5 = q_acc_3_5 + q_tmp_3_5;
+                q_acc_3_6 = q_acc_3_6 + q_tmp_3_6;
+                q_acc_3_7 = q_acc_3_7 + q_tmp_3_7;
+                q_acc_3_8 = q_acc_3_8 + q_tmp_3_8;
+                q_acc_3_9 = q_acc_3_9 + q_tmp_3_9;
+             }
+             const real_t elMat_0_0 = q_acc_0_0;
+             const real_t elMat_0_1 = q_acc_0_1;
+             const real_t elMat_0_2 = q_acc_0_2;
+             const real_t elMat_0_3 = q_acc_0_3;
+             const real_t elMat_0_4 = q_acc_0_4;
+             const real_t elMat_0_5 = q_acc_0_5;
+             const real_t elMat_0_6 = q_acc_0_6;
+             const real_t elMat_0_7 = q_acc_0_7;
+             const real_t elMat_0_8 = q_acc_0_8;
+             const real_t elMat_0_9 = q_acc_0_9;
+             const real_t elMat_1_0 = q_acc_1_0;
+             const real_t elMat_1_1 = q_acc_1_1;
+             const real_t elMat_1_2 = q_acc_1_2;
+             const real_t elMat_1_3 = q_acc_1_3;
+             const real_t elMat_1_4 = q_acc_1_4;
+             const real_t elMat_1_5 = q_acc_1_5;
+             const real_t elMat_1_6 = q_acc_1_6;
+             const real_t elMat_1_7 = q_acc_1_7;
+             const real_t elMat_1_8 = q_acc_1_8;
+             const real_t elMat_1_9 = q_acc_1_9;
+             const real_t elMat_2_0 = q_acc_2_0;
+             const real_t elMat_2_1 = q_acc_2_1;
+             const real_t elMat_2_2 = q_acc_2_2;
+             const real_t elMat_2_3 = q_acc_2_3;
+             const real_t elMat_2_4 = q_acc_2_4;
+             const real_t elMat_2_5 = q_acc_2_5;
+             const real_t elMat_2_6 = q_acc_2_6;
+             const real_t elMat_2_7 = q_acc_2_7;
+             const real_t elMat_2_8 = q_acc_2_8;
+             const real_t elMat_2_9 = q_acc_2_9;
+             const real_t elMat_3_0 = q_acc_3_0;
+             const real_t elMat_3_1 = q_acc_3_1;
+             const real_t elMat_3_2 = q_acc_3_2;
+             const real_t elMat_3_3 = q_acc_3_3;
+             const real_t elMat_3_4 = q_acc_3_4;
+             const real_t elMat_3_5 = q_acc_3_5;
+             const real_t elMat_3_6 = q_acc_3_6;
+             const real_t elMat_3_7 = q_acc_3_7;
+             const real_t elMat_3_8 = q_acc_3_8;
+             const real_t elMat_3_9 = q_acc_3_9;
+         
+             std::vector< uint_t > _data_rowIdx( 4 );
+             std::vector< uint_t > _data_colIdx( 10 );
+             std::vector< real_t > _data_mat( 40 );
+         
+             _data_rowIdx[0] = ((uint64_t)(_data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]));
+             _data_rowIdx[1] = ((uint64_t)(_data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]));
+             _data_rowIdx[2] = ((uint64_t)(_data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]));
+             _data_rowIdx[3] = ((uint64_t)(_data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]));
+             _data_colIdx[0] = ((uint64_t)(_data_srcVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]));
+             _data_colIdx[1] = ((uint64_t)(_data_srcVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]));
+             _data_colIdx[2] = ((uint64_t)(_data_srcVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]));
+             _data_colIdx[3] = ((uint64_t)(_data_srcVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]));
+             _data_colIdx[4] = ((uint64_t)(_data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1]));
+             _data_colIdx[5] = ((uint64_t)(_data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge - 1)*(micro_edges_per_macro_edge + 1)) / (6)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]));
+             _data_colIdx[6] = ((uint64_t)(_data_srcEdge[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]));
+             _data_colIdx[7] = ((uint64_t)(_data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1]));
+             _data_colIdx[8] = ((uint64_t)(_data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 2*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1]));
+             _data_colIdx[9] = ((uint64_t)(_data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]));
+         
+             /* Apply basis transformation */
+         
+         
+         
+             _data_mat[0] = ((real_t)(elMat_0_0));
+             _data_mat[1] = ((real_t)(elMat_0_1));
+             _data_mat[2] = ((real_t)(elMat_0_2));
+             _data_mat[3] = ((real_t)(elMat_0_3));
+             _data_mat[4] = ((real_t)(elMat_0_4));
+             _data_mat[5] = ((real_t)(elMat_0_5));
+             _data_mat[6] = ((real_t)(elMat_0_6));
+             _data_mat[7] = ((real_t)(elMat_0_7));
+             _data_mat[8] = ((real_t)(elMat_0_8));
+             _data_mat[9] = ((real_t)(elMat_0_9));
+             _data_mat[10] = ((real_t)(elMat_1_0));
+             _data_mat[11] = ((real_t)(elMat_1_1));
+             _data_mat[12] = ((real_t)(elMat_1_2));
+             _data_mat[13] = ((real_t)(elMat_1_3));
+             _data_mat[14] = ((real_t)(elMat_1_4));
+             _data_mat[15] = ((real_t)(elMat_1_5));
+             _data_mat[16] = ((real_t)(elMat_1_6));
+             _data_mat[17] = ((real_t)(elMat_1_7));
+             _data_mat[18] = ((real_t)(elMat_1_8));
+             _data_mat[19] = ((real_t)(elMat_1_9));
+             _data_mat[20] = ((real_t)(elMat_2_0));
+             _data_mat[21] = ((real_t)(elMat_2_1));
+             _data_mat[22] = ((real_t)(elMat_2_2));
+             _data_mat[23] = ((real_t)(elMat_2_3));
+             _data_mat[24] = ((real_t)(elMat_2_4));
+             _data_mat[25] = ((real_t)(elMat_2_5));
+             _data_mat[26] = ((real_t)(elMat_2_6));
+             _data_mat[27] = ((real_t)(elMat_2_7));
+             _data_mat[28] = ((real_t)(elMat_2_8));
+             _data_mat[29] = ((real_t)(elMat_2_9));
+             _data_mat[30] = ((real_t)(elMat_3_0));
+             _data_mat[31] = ((real_t)(elMat_3_1));
+             _data_mat[32] = ((real_t)(elMat_3_2));
+             _data_mat[33] = ((real_t)(elMat_3_3));
+             _data_mat[34] = ((real_t)(elMat_3_4));
+             _data_mat[35] = ((real_t)(elMat_3_5));
+             _data_mat[36] = ((real_t)(elMat_3_6));
+             _data_mat[37] = ((real_t)(elMat_3_7));
+             _data_mat[38] = ((real_t)(elMat_3_8));
+             _data_mat[39] = ((real_t)(elMat_3_9));
+         
+         
+             mat->addValues( _data_rowIdx, _data_colIdx, _data_mat );
+          }
+       }
+       const real_t tmp_coords_jac_0_BLUE_DOWN = 1.0 / (micro_edges_per_macro_edge_float)*1.0;
+       const real_t tmp_coords_jac_1_BLUE_DOWN = macro_vertex_coord_id_0comp0 + tmp_coords_jac_0_BLUE_DOWN*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0);
+       const real_t tmp_coords_jac_2_BLUE_DOWN = macro_vertex_coord_id_0comp1 + tmp_coords_jac_0_BLUE_DOWN*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1);
+       const real_t tmp_coords_jac_3_BLUE_DOWN = macro_vertex_coord_id_0comp2 + tmp_coords_jac_0_BLUE_DOWN*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2);
+       const real_t tmp_coords_jac_4_BLUE_DOWN = tmp_coords_jac_0_BLUE_DOWN*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0);
+       const real_t tmp_coords_jac_5_BLUE_DOWN = macro_vertex_coord_id_0comp0 + tmp_coords_jac_4_BLUE_DOWN;
+       const real_t tmp_coords_jac_6_BLUE_DOWN = tmp_coords_jac_0_BLUE_DOWN*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1);
+       const real_t tmp_coords_jac_7_BLUE_DOWN = macro_vertex_coord_id_0comp1 + tmp_coords_jac_6_BLUE_DOWN;
+       const real_t tmp_coords_jac_8_BLUE_DOWN = tmp_coords_jac_0_BLUE_DOWN*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2);
+       const real_t tmp_coords_jac_9_BLUE_DOWN = macro_vertex_coord_id_0comp2 + tmp_coords_jac_8_BLUE_DOWN;
+       const real_t p_affine_const_0_0_BLUE_DOWN = tmp_coords_jac_1_BLUE_DOWN;
+       const real_t p_affine_const_0_1_BLUE_DOWN = tmp_coords_jac_2_BLUE_DOWN;
+       const real_t p_affine_const_0_2_BLUE_DOWN = tmp_coords_jac_3_BLUE_DOWN;
+       const real_t p_affine_const_1_0_BLUE_DOWN = tmp_coords_jac_5_BLUE_DOWN;
+       const real_t p_affine_const_1_1_BLUE_DOWN = tmp_coords_jac_7_BLUE_DOWN;
+       const real_t p_affine_const_1_2_BLUE_DOWN = tmp_coords_jac_9_BLUE_DOWN;
+       const real_t p_affine_const_2_0_BLUE_DOWN = tmp_coords_jac_0_BLUE_DOWN*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0) + tmp_coords_jac_5_BLUE_DOWN;
+       const real_t p_affine_const_2_1_BLUE_DOWN = tmp_coords_jac_0_BLUE_DOWN*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1) + tmp_coords_jac_7_BLUE_DOWN;
+       const real_t p_affine_const_2_2_BLUE_DOWN = tmp_coords_jac_0_BLUE_DOWN*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2) + tmp_coords_jac_9_BLUE_DOWN;
+       const real_t p_affine_const_3_0_BLUE_DOWN = tmp_coords_jac_1_BLUE_DOWN + tmp_coords_jac_4_BLUE_DOWN;
+       const real_t p_affine_const_3_1_BLUE_DOWN = tmp_coords_jac_2_BLUE_DOWN + tmp_coords_jac_6_BLUE_DOWN;
+       const real_t p_affine_const_3_2_BLUE_DOWN = tmp_coords_jac_3_BLUE_DOWN + tmp_coords_jac_8_BLUE_DOWN;
+       const real_t jac_affine_0_0_BLUE_DOWN = -p_affine_const_0_0_BLUE_DOWN + p_affine_const_1_0_BLUE_DOWN;
+       const real_t jac_affine_0_1_BLUE_DOWN = -p_affine_const_0_0_BLUE_DOWN + p_affine_const_2_0_BLUE_DOWN;
+       const real_t jac_affine_0_2_BLUE_DOWN = -p_affine_const_0_0_BLUE_DOWN + p_affine_const_3_0_BLUE_DOWN;
+       const real_t jac_affine_1_0_BLUE_DOWN = -p_affine_const_0_1_BLUE_DOWN + p_affine_const_1_1_BLUE_DOWN;
+       const real_t jac_affine_1_1_BLUE_DOWN = -p_affine_const_0_1_BLUE_DOWN + p_affine_const_2_1_BLUE_DOWN;
+       const real_t jac_affine_1_2_BLUE_DOWN = -p_affine_const_0_1_BLUE_DOWN + p_affine_const_3_1_BLUE_DOWN;
+       const real_t jac_affine_2_0_BLUE_DOWN = -p_affine_const_0_2_BLUE_DOWN + p_affine_const_1_2_BLUE_DOWN;
+       const real_t jac_affine_2_1_BLUE_DOWN = -p_affine_const_0_2_BLUE_DOWN + p_affine_const_2_2_BLUE_DOWN;
+       const real_t jac_affine_2_2_BLUE_DOWN = -p_affine_const_0_2_BLUE_DOWN + p_affine_const_3_2_BLUE_DOWN;
+       const real_t abs_det_jac_affine_BLUE_DOWN = abs(jac_affine_0_0_BLUE_DOWN*jac_affine_1_1_BLUE_DOWN*jac_affine_2_2_BLUE_DOWN - jac_affine_0_0_BLUE_DOWN*jac_affine_1_2_BLUE_DOWN*jac_affine_2_1_BLUE_DOWN - jac_affine_0_1_BLUE_DOWN*jac_affine_1_0_BLUE_DOWN*jac_affine_2_2_BLUE_DOWN + jac_affine_0_1_BLUE_DOWN*jac_affine_1_2_BLUE_DOWN*jac_affine_2_0_BLUE_DOWN + jac_affine_0_2_BLUE_DOWN*jac_affine_1_0_BLUE_DOWN*jac_affine_2_1_BLUE_DOWN - jac_affine_0_2_BLUE_DOWN*jac_affine_1_1_BLUE_DOWN*jac_affine_2_0_BLUE_DOWN);
+       {
+          /* CellType.BLUE_DOWN */
+          const real_t _data_phi_psi_jac_affine_det_0_0_BLUE_DOWN [] = {((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.010749089276961213)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0013747922567553051)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.01396287204173041)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.008164600589399525)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.012151214443257608)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.019083835042434261)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.072053489056043002)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0046416810200408439)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.017525267423213611)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.027523941260433657)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.044193869792483409)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0056523290877285)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0574070354280087)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.033567987580949914)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.049958575567593019)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.078461393265588306)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.29624114484395714)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.019083835042434251)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.072053489056042974)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.11316209633188964)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.02813947970791995)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0035989968838093011)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.036552673846023863)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.021373681684931475)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.031810029988819218)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.18862506775555832)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.012151214443257601)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.045878482755592566)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.07205348905604296)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0074529241534464254)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.00095321772406372263)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0096812133204938391)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0056609585582659784)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0084250932599439499)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.013231853551815916)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0032183281481346165)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.012151214443257603)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.019083835042434251)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-2.9012262911449775e-5)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.00014612615736184792)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.00047804109319682082)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0032416491456343029)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0021116678219306132)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.00052791366753715454)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*7.0977528354966774e-5)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*9.9895812682163066e-5)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*1.3430904167093961e-5)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*3.3577051293550935e-6)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.00015331944058422371)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.00077222451657154147)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0025262763269762738)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.017130957178208683)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.011159409734644826)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0027898350580443485)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.00037509087018302439)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.00052791366753715541)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*7.0977528354966354e-5)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*1.7744271574084403e-5)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.00061328158194601311)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0030889173045236238)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.010105168244399365)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.068524255492113287)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.044637916950180538)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0015003728252777238)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0021116678219306167)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.000283911881665389)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*7.0977528354965283e-5)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0045614398903685138)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.022974618879299673)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.075159794270401023)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.50966681808331993)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.33200601647520916)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.083000987173061064)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.015706073884687172)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0021116678219306002)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.00052791366753714337)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.02118185416019976)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.040792474062018545)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.049791196691139579)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.035867609546541376)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.059688031245203839)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.021562946853404222)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.071405876738584673)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.080243884747120436)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.26572828761452333)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.095997217930328324)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.005691937733975882)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.010961657115556597)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.013379772569609637)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.009638259175114022)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.016039226535213912)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0057943440608341223)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.019188018251946451)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.021562946853404225)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0714058767385847)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.025796145274243024)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.015755757300754607)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.03034277906728966)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.037036323866953338)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.026679503441931235)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.044397913749511943)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.053114031247306501)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.059688031245203839)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.19765740883375349)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0714058767385847)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0047578795027626341)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0091628275191950465)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.011184125448277639)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0080566017962316674)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.013407157762204741)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0048434807489961713)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.018024424659562992)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.059688031245203853)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.021562946853404232)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.00015688175714697789)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0014950153325289843)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0012666972383742025)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0015490159490981592)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0062931924029516256)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0020445450956193246)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0056480276621754888)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.00013641635559728395)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.00037684830314454006)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0001224312400849633)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.002351271046368435)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.022406596720860313)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.018984670973016902)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.023215932927530856)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.094319450236798913)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.030642694050274453)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.084650020197820364)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0020445450956193168)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0056480276621755114)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0018349426677638542)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0072373072709378001)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.068968409922504109)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.058435584226493004)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.071459579463428277)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.29031907828914638)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.26055618198886238)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0062931924029516022)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.017384857321768536)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0056480276621755391)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0026198528001873307)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.024966064738678271)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.021153258143552994)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.025867850064795264)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.10509340307518385)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.034142957672569287)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0022780900577755898)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0062931924029516507)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0020445450956193428)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0016747236096797923)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.022395383667253931)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0010823709889014185)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0036990864559166563)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.00050834301173610229)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.015588264867481133)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0037476086033569342)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.00081420248681843786)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.00019574418772167287)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0060024671806827717)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.032063320402672957)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.42876947450525699)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.020722468836717273)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.070820637834037012)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.009732450635762396)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.29844418988237825)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.071749615697017544)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.015588264867481126)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0037476086033569277)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.1149198753205366)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0010456048186450997)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.013982439217157605)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.00067577259615595462)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0023095050434207478)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.00031738126788423253)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0023397995892677865)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.00050834301173610208)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.00012221184720903605)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0037476086033569355)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0043492174836919605)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.058160280082415236)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0028108917803285017)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0096064397699850354)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0013201547416997409)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.040482354049473784)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0021144645423690485)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.00050834301173610142)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.015588264867481138)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0068956855714663416)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.010091290281029655)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0080216243244021178)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0035198334831929206)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.018978279386089755)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.056811998632973766)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.01396686284573566)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.015485631440181358)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0038070424489360009)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.01139648574059631)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.025298140458325055)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.037021827096001436)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.029428861968758362)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.012913181862031289)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.069625445155635055)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.20842567519062763)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.051240105769272605)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.056811998632973738)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.013966862845735664)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.041810186095187066)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0084509467915105906)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.012367292031926986)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0098308311254096271)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0043137009617327136)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.023258663351751644)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.017116965895609845)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.018978279386089748)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0046656873831529451)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.01396686284573564)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.034375305526338835)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.050305540032273111)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.039988161309129681)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.017546529657219402)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.094607584046545581)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.28321039153111127)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.077196575526473174)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.018978279386089758)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.056811998632973676)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.036989007988906066)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.024350339729610097)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.022721604194642659)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0020718315986862396)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.053354679030800815)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.058170268354931241)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0093518161026560475)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.22863973450271471)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.036757553494219546)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.040075149727639509)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0094107024991835538)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0061951865002202629)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.005780805406949952)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.00052711310369534133)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.013574438423676774)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.014799615333023134)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0023792787088414437)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.058170268354931248)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.009351816102656051)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.010195875266786407)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0086316433720857837)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0056823218562164577)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0053022450428696702)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.00048347637471763576)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.012450687019346486)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0021823116073744556)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.053354679030800829)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0085776318491057792)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0093518161026560475)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.053690642094179834)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.035345240285608669)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.032981082352521167)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0030073250106582576)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.077445898974953548)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.084435869696849797)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.3318773554937019)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.053354679030800836)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.058170268354931241)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.2830869924348563)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.050308558644386672)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.041516821634179475)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.06274193203760102)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.020160825588817252)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.025383152182066201)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.015152528090816651)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.23919668259056145)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.14278898169094956)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.17977609281010931)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.030040718507945225)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0053386601615906274)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0044056957238823311)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0066580689659201985)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.002139433116273644)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0026936176861649991)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0016079609562587173)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.025383152182066195)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.015152528090816651)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.019077538505445499)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.023860144794362503)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0042402848796628178)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0034992684300787832)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0052882386796338152)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0016992664113091131)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0012771392678196903)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.020160825588817249)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.012035048833865587)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.01515252809081665)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.039969943152159265)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0071032236832497221)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0058618906729116316)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0088587307923610938)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0028465703978647464)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0035839271208240476)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.033772932211040815)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.020160825588817245)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.025383152182066191)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.014935575584147695)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.007791142568055953)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0073254854313094774)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.015186461110532538)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.090150328303510344)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.012455650259246793)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.015731589118882311)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.029517331411893867)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.037280633286332542)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0051508911658584714)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0063024771210085937)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0032876870064389215)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0030911901634452068)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0064083451728372039)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.038041411821271319)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0052560043865672946)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0066383769370158769)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.012455650259246798)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.015731589118882314)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0021735602717637636)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.045615473279886819)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.023795310306631609)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.022373124026687209)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.046381715060167777)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.27533253531028662)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.048046617223388682)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.090150328303510385)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.11386060898348732)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.015731589118882311)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.036116528170846006)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.018840185867421855)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.017714155002223078)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.036723208116341576)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.21799741519439725)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.030119685775736597)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.07137746553252089)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.090150328303510371)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.012455650259246793)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.032896921427909828)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.020934012679446525)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.020127575524041673)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.033499901528319088)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0098838942808698073)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.075244795478138254)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.040011251730840761)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.067458477890573201)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.035870894765649017)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.27308043404340754)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.036694010925042916)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.023350297128803515)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.022450777887903339)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.037366589313281677)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.011024731463671476)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.083929839859876898)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.044629504659074608)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.075244795478138254)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.040011251730840761)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.30460043053460045)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0048199974818136015)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0030672137093527801)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0029490559946009505)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0049083450365209726)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0014481703295155801)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.005862376301973493)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0098838942808698056)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0052557386811928905)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.040011251730840761)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.009064443351184925)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.005768174157623188)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0055459678357496689)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.009230588957667556)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0027234159279729726)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.020733009548559916)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.018587561536304909)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0098838942808698056)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.075244795478138254)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.012773605317404142)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0093099638314587951)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.055932196812816262)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0011391519589580709)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0035913578872906952)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.00039530708258920854)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.034759025419540214)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.00061078662356131824)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.053705963564394235)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0059115099192464755)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0082672024196058687)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.0060254997396084128)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.036199865373541695)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.00073727030054430856)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0023243619853375876)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.00025584661404999347)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.022496381554864123)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.00039530708258920833)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.034759025419540221)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0038259870955407193)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.075107388466231287)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.054741559075980606)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.32887513974352289)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.006698087703317224)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.02111678772433076)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.20437923045390871)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0035913578872906935)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.31578513412249021)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.034759025419540214)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.00085418052598187596)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.00062256423341908954)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0037402277670030831)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-7.6175942132039452e-5)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.00024015678369014598)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*2.6434479799555231e-5)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*4.0843757608938361e-5)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0035913578872906957)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.00039530708258920849))};
+      
+          for (int64_t ctr_2 = 0; ctr_2 < micro_edges_per_macro_edge; ctr_2 += 1)
+          for (int64_t ctr_1 = 0; ctr_1 < -ctr_2 + micro_edges_per_macro_edge; ctr_1 += 1)
+          for (int64_t ctr_0 = 0; ctr_0 < -ctr_1 - ctr_2 + micro_edges_per_macro_edge - 1; ctr_0 += 1)
+          {
+         
+             const int64_t phantom_ctr_0 = ctr_0;
+             real_t _data_float_loop_ctr_array_dim_0[4];
+             _data_float_loop_ctr_array_dim_0[0] = (real_t) ctr_0+ 0;
+             _data_float_loop_ctr_array_dim_0[1] = (real_t) ctr_0+ 1;
+             _data_float_loop_ctr_array_dim_0[2] = (real_t) ctr_0+ 2;
+             _data_float_loop_ctr_array_dim_0[3] = (real_t) ctr_0+ 3;
+             real_t _data_float_loop_ctr_array_dim_1[4];
+             _data_float_loop_ctr_array_dim_1[0] = (real_t) ctr_1;
+             _data_float_loop_ctr_array_dim_1[1] = (real_t) ctr_1;
+             _data_float_loop_ctr_array_dim_1[2] = (real_t) ctr_1;
+             _data_float_loop_ctr_array_dim_1[3] = (real_t) ctr_1;
+             real_t _data_float_loop_ctr_array_dim_2[4];
+             _data_float_loop_ctr_array_dim_2[0] = (real_t) ctr_2;
+             _data_float_loop_ctr_array_dim_2[1] = (real_t) ctr_2;
+             _data_float_loop_ctr_array_dim_2[2] = (real_t) ctr_2;
+             _data_float_loop_ctr_array_dim_2[3] = (real_t) ctr_2;
+         
+             const real_t p_affine_0_0 = macro_vertex_coord_id_0comp0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0)*1.0*_data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0)*(1.0 + _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0)*1.0*_data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0];
+             const real_t p_affine_0_1 = macro_vertex_coord_id_0comp1 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1)*1.0*_data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1)*(1.0 + _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1)*1.0*_data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0];
+             const real_t p_affine_0_2 = macro_vertex_coord_id_0comp2 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2)*1.0*_data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2)*(1.0 + _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2)*1.0*_data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0];
+             const real_t p_affine_1_0 = macro_vertex_coord_id_0comp0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0)*1.0*_data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0)*1.0*_data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0)*(1.0 + _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0])*1.0;
+             const real_t p_affine_1_1 = macro_vertex_coord_id_0comp1 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1)*1.0*_data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1)*1.0*_data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1)*(1.0 + _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0])*1.0;
+             const real_t p_affine_1_2 = macro_vertex_coord_id_0comp2 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2)*1.0*_data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2)*1.0*_data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2)*(1.0 + _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0])*1.0;
+             const real_t p_affine_2_0 = macro_vertex_coord_id_0comp0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0)*(1.0 + _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0)*1.0*_data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0)*(1.0 + _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0])*1.0;
+             const real_t p_affine_2_1 = macro_vertex_coord_id_0comp1 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1)*(1.0 + _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1)*1.0*_data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1)*(1.0 + _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0])*1.0;
+             const real_t p_affine_2_2 = macro_vertex_coord_id_0comp2 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2)*(1.0 + _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2)*1.0*_data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2)*(1.0 + _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0])*1.0;
+             const real_t p_affine_3_0 = macro_vertex_coord_id_0comp0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0)*1.0*_data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0)*(1.0 + _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0)*(1.0 + _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0])*1.0;
+             const real_t p_affine_3_1 = macro_vertex_coord_id_0comp1 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1)*1.0*_data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1)*(1.0 + _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1)*(1.0 + _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0])*1.0;
+             const real_t p_affine_3_2 = macro_vertex_coord_id_0comp2 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2)*1.0*_data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2)*(1.0 + _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2)*(1.0 + _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0])*1.0;
+             const real_t k_dof_0 = _data_kVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))];
+             const real_t k_dof_1 = _data_kVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))];
+             const real_t k_dof_2 = _data_kVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1];
+             const real_t k_dof_3 = _data_kVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))];
+             const real_t k_dof_4 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))];
+             const real_t k_dof_5 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + 2*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))];
+             const real_t k_dof_6 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))];
+             const real_t k_dof_7 = _data_kEdge[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))];
+             const real_t k_dof_8 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge - 1)*(micro_edges_per_macro_edge + 1)) / (6)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))];
+             const real_t k_dof_9 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))];
+             real_t q_acc_0_0 = 0.0;
+             real_t q_acc_0_1 = 0.0;
+             real_t q_acc_0_2 = 0.0;
+             real_t q_acc_0_3 = 0.0;
+             real_t q_acc_0_4 = 0.0;
+             real_t q_acc_0_5 = 0.0;
+             real_t q_acc_0_6 = 0.0;
+             real_t q_acc_0_7 = 0.0;
+             real_t q_acc_0_8 = 0.0;
+             real_t q_acc_0_9 = 0.0;
+             real_t q_acc_1_0 = 0.0;
+             real_t q_acc_1_1 = 0.0;
+             real_t q_acc_1_2 = 0.0;
+             real_t q_acc_1_3 = 0.0;
+             real_t q_acc_1_4 = 0.0;
+             real_t q_acc_1_5 = 0.0;
+             real_t q_acc_1_6 = 0.0;
+             real_t q_acc_1_7 = 0.0;
+             real_t q_acc_1_8 = 0.0;
+             real_t q_acc_1_9 = 0.0;
+             real_t q_acc_2_0 = 0.0;
+             real_t q_acc_2_1 = 0.0;
+             real_t q_acc_2_2 = 0.0;
+             real_t q_acc_2_3 = 0.0;
+             real_t q_acc_2_4 = 0.0;
+             real_t q_acc_2_5 = 0.0;
+             real_t q_acc_2_6 = 0.0;
+             real_t q_acc_2_7 = 0.0;
+             real_t q_acc_2_8 = 0.0;
+             real_t q_acc_2_9 = 0.0;
+             real_t q_acc_3_0 = 0.0;
+             real_t q_acc_3_1 = 0.0;
+             real_t q_acc_3_2 = 0.0;
+             real_t q_acc_3_3 = 0.0;
+             real_t q_acc_3_4 = 0.0;
+             real_t q_acc_3_5 = 0.0;
+             real_t q_acc_3_6 = 0.0;
+             real_t q_acc_3_7 = 0.0;
+             real_t q_acc_3_8 = 0.0;
+             real_t q_acc_3_9 = 0.0;
+             for (int64_t q = 0; q < 11; q += 1)
+             {
+                const real_t tmp_qloop_0 = 4.0*_data_q_p_0[q];
+                const real_t tmp_qloop_1 = tmp_qloop_0*_data_q_p_1[q];
+                const real_t tmp_qloop_2 = tmp_qloop_0*_data_q_p_2[q];
+                const real_t tmp_qloop_3 = 4.0*_data_q_p_1[q]*_data_q_p_2[q];
+                const real_t tmp_qloop_4 = (_data_q_p_0[q]*_data_q_p_0[q]);
+                const real_t tmp_qloop_5 = tmp_qloop_4*2.0;
+                const real_t tmp_qloop_6 = (_data_q_p_1[q]*_data_q_p_1[q]);
+                const real_t tmp_qloop_7 = tmp_qloop_6*2.0;
+                const real_t tmp_qloop_8 = (_data_q_p_2[q]*_data_q_p_2[q]);
+                const real_t tmp_qloop_9 = tmp_qloop_8*2.0;
+                const real_t tmp_qloop_10 = tmp_qloop_1 + tmp_qloop_2;
+                const real_t tmp_qloop_11 = p_affine_0_0 + (-p_affine_0_0 + p_affine_1_0)*_data_q_p_0[q] + (-p_affine_0_0 + p_affine_2_0)*_data_q_p_1[q] + (-p_affine_0_0 + p_affine_3_0)*_data_q_p_2[q];
+                const real_t tmp_qloop_12 = p_affine_0_1 + (-p_affine_0_1 + p_affine_1_1)*_data_q_p_0[q] + (-p_affine_0_1 + p_affine_2_1)*_data_q_p_1[q] + (-p_affine_0_1 + p_affine_3_1)*_data_q_p_2[q];
+                const real_t tmp_qloop_13 = p_affine_0_2 + (-p_affine_0_2 + p_affine_1_2)*_data_q_p_0[q] + (-p_affine_0_2 + p_affine_2_2)*_data_q_p_1[q] + (-p_affine_0_2 + p_affine_3_2)*_data_q_p_2[q];
+                const real_t tmp_qloop_14 = (tmp_qloop_11*tmp_qloop_11);
+                const real_t tmp_qloop_15 = (tmp_qloop_12*tmp_qloop_12);
+                const real_t tmp_qloop_16 = (tmp_qloop_13*tmp_qloop_13);
+                const real_t tmp_qloop_17 = tmp_qloop_14 + tmp_qloop_15 + tmp_qloop_16;
+                const real_t tmp_qloop_18 = pow(tmp_qloop_17, -4.5000000000000000);
+                const real_t tmp_qloop_39 = -tmp_qloop_13 - tmp_qloop_31;
+                const real_t tmp_qloop_40 = -tmp_qloop_11 - tmp_qloop_20;
+                const real_t tmp_qloop_41 = -tmp_qloop_12 - tmp_qloop_27;
+                const real_t tmp_qloop_42 = radRayVertex*tmp_qloop_35 - tmp_qloop_37*(tmp_qloop_21*tmp_qloop_22*tmp_qloop_41 + tmp_qloop_25*tmp_qloop_32*tmp_qloop_40 - tmp_qloop_26*tmp_qloop_39 + tmp_qloop_28*tmp_qloop_29*tmp_qloop_39 - tmp_qloop_33*tmp_qloop_40 - tmp_qloop_34*tmp_qloop_41);
+                const real_t tmp_qloop_43 = -tmp_qloop_42;
+                const real_t tmp_qloop_44 = tmp_qloop_13*tmp_qloop_43 + tmp_qloop_17*tmp_qloop_38;
+                const real_t tmp_qloop_46 = tmp_qloop_11*tmp_qloop_43 + tmp_qloop_17*tmp_qloop_45;
+                const real_t tmp_qloop_48 = -tmp_qloop_12*tmp_qloop_42 - tmp_qloop_17*tmp_qloop_37*tmp_qloop_47;
+                const real_t tmp_qloop_49 = tmp_qloop_15*tmp_qloop_43 + tmp_qloop_17*(-tmp_qloop_12*tmp_qloop_37*tmp_qloop_47 + tmp_qloop_42);
+                const real_t tmp_qloop_50 = tmp_qloop_18*tmp_qloop_36;
+                const real_t tmp_qloop_51 = tmp_qloop_11*tmp_qloop_46;
+                const real_t tmp_qloop_52 = tmp_qloop_13*tmp_qloop_44;
+                const real_t tmp_qloop_53 = tmp_qloop_16*tmp_qloop_43 + tmp_qloop_17*(tmp_qloop_13*tmp_qloop_38 + tmp_qloop_42);
+                const real_t tmp_qloop_54 = tmp_qloop_12*tmp_qloop_48*tmp_qloop_50*1.0;
+                const real_t tmp_qloop_55 = -tmp_qloop_14*tmp_qloop_42 + tmp_qloop_17*(tmp_qloop_11*tmp_qloop_45 + tmp_qloop_42);
+                const real_t tmp_qloop_56 = (k_dof_0*(tmp_qloop_10 + tmp_qloop_3 + tmp_qloop_5 + tmp_qloop_7 + tmp_qloop_9 - 3.0*_data_q_p_0[q] - 3.0*_data_q_p_1[q] - 3.0*_data_q_p_2[q] + 1.0) + k_dof_1*(tmp_qloop_5 - _data_q_p_0[q]) + k_dof_2*(tmp_qloop_7 - _data_q_p_1[q]) + k_dof_3*(tmp_qloop_9 - _data_q_p_2[q]) + k_dof_4*tmp_qloop_3 + k_dof_5*tmp_qloop_2 + k_dof_6*tmp_qloop_1 + k_dof_7*(-tmp_qloop_2 - tmp_qloop_3 + tmp_qloop_8*-4.0 + 4.0*_data_q_p_2[q]) + k_dof_8*(-tmp_qloop_1 - tmp_qloop_3 + tmp_qloop_6*-4.0 + 4.0*_data_q_p_1[q]) + k_dof_9*(-tmp_qloop_10 + tmp_qloop_4*-4.0 + 4.0*_data_q_p_0[q]))*abs(tmp_qloop_11*tmp_qloop_12*tmp_qloop_13*tmp_qloop_18*tmp_qloop_36*tmp_qloop_44*tmp_qloop_46*tmp_qloop_48*-2.0 - tmp_qloop_18*tmp_qloop_36*tmp_qloop_49*tmp_qloop_53*tmp_qloop_55 + tmp_qloop_49*tmp_qloop_50*tmp_qloop_51*tmp_qloop_52*1.0 + tmp_qloop_51*tmp_qloop_53*tmp_qloop_54 + tmp_qloop_52*tmp_qloop_54*tmp_qloop_55)*_data_q_w[q];
+                const real_t tmp_qloop_57 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 14];
+                const real_t q_tmp_0_0 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q];
+                const real_t q_tmp_0_1 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 1];
+                const real_t q_tmp_0_2 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 2];
+                const real_t q_tmp_0_3 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 3];
+                const real_t q_tmp_0_4 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 4];
+                const real_t q_tmp_0_5 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 5];
+                const real_t q_tmp_0_6 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 6];
+                const real_t q_tmp_0_7 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 7];
+                const real_t q_tmp_0_8 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 8];
+                const real_t q_tmp_0_9 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 9];
+                const real_t q_tmp_1_0 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 10];
+                const real_t q_tmp_1_1 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 11];
+                const real_t q_tmp_1_2 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 12];
+                const real_t q_tmp_1_3 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 13];
+                const real_t q_tmp_1_4 = tmp_qloop_57;
+                const real_t q_tmp_1_5 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 15];
+                const real_t q_tmp_1_6 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 16];
+                const real_t q_tmp_1_7 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 17];
+                const real_t q_tmp_1_8 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 18];
+                const real_t q_tmp_1_9 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 19];
+                const real_t q_tmp_2_0 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 20];
+                const real_t q_tmp_2_1 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 21];
+                const real_t q_tmp_2_2 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 22];
+                const real_t q_tmp_2_3 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 23];
+                const real_t q_tmp_2_4 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 24];
+                const real_t q_tmp_2_5 = tmp_qloop_57;
+                const real_t q_tmp_2_6 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 25];
+                const real_t q_tmp_2_7 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 26];
+                const real_t q_tmp_2_8 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 27];
+                const real_t q_tmp_2_9 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 28];
+                const real_t q_tmp_3_0 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 29];
+                const real_t q_tmp_3_1 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 30];
+                const real_t q_tmp_3_2 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 31];
+                const real_t q_tmp_3_3 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 32];
+                const real_t q_tmp_3_4 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 33];
+                const real_t q_tmp_3_5 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 34];
+                const real_t q_tmp_3_6 = tmp_qloop_57;
+                const real_t q_tmp_3_7 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 35];
+                const real_t q_tmp_3_8 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 36];
+                const real_t q_tmp_3_9 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 37];
+                q_acc_0_0 = q_acc_0_0 + q_tmp_0_0;
+                q_acc_0_1 = q_acc_0_1 + q_tmp_0_1;
+                q_acc_0_2 = q_acc_0_2 + q_tmp_0_2;
+                q_acc_0_3 = q_acc_0_3 + q_tmp_0_3;
+                q_acc_0_4 = q_acc_0_4 + q_tmp_0_4;
+                q_acc_0_5 = q_acc_0_5 + q_tmp_0_5;
+                q_acc_0_6 = q_acc_0_6 + q_tmp_0_6;
+                q_acc_0_7 = q_acc_0_7 + q_tmp_0_7;
+                q_acc_0_8 = q_acc_0_8 + q_tmp_0_8;
+                q_acc_0_9 = q_acc_0_9 + q_tmp_0_9;
+                q_acc_1_0 = q_acc_1_0 + q_tmp_1_0;
+                q_acc_1_1 = q_acc_1_1 + q_tmp_1_1;
+                q_acc_1_2 = q_acc_1_2 + q_tmp_1_2;
+                q_acc_1_3 = q_acc_1_3 + q_tmp_1_3;
+                q_acc_1_4 = q_acc_1_4 + q_tmp_1_4;
+                q_acc_1_5 = q_acc_1_5 + q_tmp_1_5;
+                q_acc_1_6 = q_acc_1_6 + q_tmp_1_6;
+                q_acc_1_7 = q_acc_1_7 + q_tmp_1_7;
+                q_acc_1_8 = q_acc_1_8 + q_tmp_1_8;
+                q_acc_1_9 = q_acc_1_9 + q_tmp_1_9;
+                q_acc_2_0 = q_acc_2_0 + q_tmp_2_0;
+                q_acc_2_1 = q_acc_2_1 + q_tmp_2_1;
+                q_acc_2_2 = q_acc_2_2 + q_tmp_2_2;
+                q_acc_2_3 = q_acc_2_3 + q_tmp_2_3;
+                q_acc_2_4 = q_acc_2_4 + q_tmp_2_4;
+                q_acc_2_5 = q_acc_2_5 + q_tmp_2_5;
+                q_acc_2_6 = q_acc_2_6 + q_tmp_2_6;
+                q_acc_2_7 = q_acc_2_7 + q_tmp_2_7;
+                q_acc_2_8 = q_acc_2_8 + q_tmp_2_8;
+                q_acc_2_9 = q_acc_2_9 + q_tmp_2_9;
+                q_acc_3_0 = q_acc_3_0 + q_tmp_3_0;
+                q_acc_3_1 = q_acc_3_1 + q_tmp_3_1;
+                q_acc_3_2 = q_acc_3_2 + q_tmp_3_2;
+                q_acc_3_3 = q_acc_3_3 + q_tmp_3_3;
+                q_acc_3_4 = q_acc_3_4 + q_tmp_3_4;
+                q_acc_3_5 = q_acc_3_5 + q_tmp_3_5;
+                q_acc_3_6 = q_acc_3_6 + q_tmp_3_6;
+                q_acc_3_7 = q_acc_3_7 + q_tmp_3_7;
+                q_acc_3_8 = q_acc_3_8 + q_tmp_3_8;
+                q_acc_3_9 = q_acc_3_9 + q_tmp_3_9;
+             }
+             const real_t elMat_0_0 = q_acc_0_0;
+             const real_t elMat_0_1 = q_acc_0_1;
+             const real_t elMat_0_2 = q_acc_0_2;
+             const real_t elMat_0_3 = q_acc_0_3;
+             const real_t elMat_0_4 = q_acc_0_4;
+             const real_t elMat_0_5 = q_acc_0_5;
+             const real_t elMat_0_6 = q_acc_0_6;
+             const real_t elMat_0_7 = q_acc_0_7;
+             const real_t elMat_0_8 = q_acc_0_8;
+             const real_t elMat_0_9 = q_acc_0_9;
+             const real_t elMat_1_0 = q_acc_1_0;
+             const real_t elMat_1_1 = q_acc_1_1;
+             const real_t elMat_1_2 = q_acc_1_2;
+             const real_t elMat_1_3 = q_acc_1_3;
+             const real_t elMat_1_4 = q_acc_1_4;
+             const real_t elMat_1_5 = q_acc_1_5;
+             const real_t elMat_1_6 = q_acc_1_6;
+             const real_t elMat_1_7 = q_acc_1_7;
+             const real_t elMat_1_8 = q_acc_1_8;
+             const real_t elMat_1_9 = q_acc_1_9;
+             const real_t elMat_2_0 = q_acc_2_0;
+             const real_t elMat_2_1 = q_acc_2_1;
+             const real_t elMat_2_2 = q_acc_2_2;
+             const real_t elMat_2_3 = q_acc_2_3;
+             const real_t elMat_2_4 = q_acc_2_4;
+             const real_t elMat_2_5 = q_acc_2_5;
+             const real_t elMat_2_6 = q_acc_2_6;
+             const real_t elMat_2_7 = q_acc_2_7;
+             const real_t elMat_2_8 = q_acc_2_8;
+             const real_t elMat_2_9 = q_acc_2_9;
+             const real_t elMat_3_0 = q_acc_3_0;
+             const real_t elMat_3_1 = q_acc_3_1;
+             const real_t elMat_3_2 = q_acc_3_2;
+             const real_t elMat_3_3 = q_acc_3_3;
+             const real_t elMat_3_4 = q_acc_3_4;
+             const real_t elMat_3_5 = q_acc_3_5;
+             const real_t elMat_3_6 = q_acc_3_6;
+             const real_t elMat_3_7 = q_acc_3_7;
+             const real_t elMat_3_8 = q_acc_3_8;
+             const real_t elMat_3_9 = q_acc_3_9;
+         
+             std::vector< uint_t > _data_rowIdx( 4 );
+             std::vector< uint_t > _data_colIdx( 10 );
+             std::vector< real_t > _data_mat( 40 );
+         
+             _data_rowIdx[0] = ((uint64_t)(_data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]));
+             _data_rowIdx[1] = ((uint64_t)(_data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]));
+             _data_rowIdx[2] = ((uint64_t)(_data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]));
+             _data_rowIdx[3] = ((uint64_t)(_data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]));
+             _data_colIdx[0] = ((uint64_t)(_data_srcVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]));
+             _data_colIdx[1] = ((uint64_t)(_data_srcVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]));
+             _data_colIdx[2] = ((uint64_t)(_data_srcVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]));
+             _data_colIdx[3] = ((uint64_t)(_data_srcVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]));
+             _data_colIdx[4] = ((uint64_t)(_data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]));
+             _data_colIdx[5] = ((uint64_t)(_data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + 2*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]));
+             _data_colIdx[6] = ((uint64_t)(_data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]));
+             _data_colIdx[7] = ((uint64_t)(_data_srcEdge[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]));
+             _data_colIdx[8] = ((uint64_t)(_data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge - 1)*(micro_edges_per_macro_edge + 1)) / (6)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]));
+             _data_colIdx[9] = ((uint64_t)(_data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]));
+         
+             /* Apply basis transformation */
+         
+         
+         
+             _data_mat[0] = ((real_t)(elMat_0_0));
+             _data_mat[1] = ((real_t)(elMat_0_1));
+             _data_mat[2] = ((real_t)(elMat_0_2));
+             _data_mat[3] = ((real_t)(elMat_0_3));
+             _data_mat[4] = ((real_t)(elMat_0_4));
+             _data_mat[5] = ((real_t)(elMat_0_5));
+             _data_mat[6] = ((real_t)(elMat_0_6));
+             _data_mat[7] = ((real_t)(elMat_0_7));
+             _data_mat[8] = ((real_t)(elMat_0_8));
+             _data_mat[9] = ((real_t)(elMat_0_9));
+             _data_mat[10] = ((real_t)(elMat_1_0));
+             _data_mat[11] = ((real_t)(elMat_1_1));
+             _data_mat[12] = ((real_t)(elMat_1_2));
+             _data_mat[13] = ((real_t)(elMat_1_3));
+             _data_mat[14] = ((real_t)(elMat_1_4));
+             _data_mat[15] = ((real_t)(elMat_1_5));
+             _data_mat[16] = ((real_t)(elMat_1_6));
+             _data_mat[17] = ((real_t)(elMat_1_7));
+             _data_mat[18] = ((real_t)(elMat_1_8));
+             _data_mat[19] = ((real_t)(elMat_1_9));
+             _data_mat[20] = ((real_t)(elMat_2_0));
+             _data_mat[21] = ((real_t)(elMat_2_1));
+             _data_mat[22] = ((real_t)(elMat_2_2));
+             _data_mat[23] = ((real_t)(elMat_2_3));
+             _data_mat[24] = ((real_t)(elMat_2_4));
+             _data_mat[25] = ((real_t)(elMat_2_5));
+             _data_mat[26] = ((real_t)(elMat_2_6));
+             _data_mat[27] = ((real_t)(elMat_2_7));
+             _data_mat[28] = ((real_t)(elMat_2_8));
+             _data_mat[29] = ((real_t)(elMat_2_9));
+             _data_mat[30] = ((real_t)(elMat_3_0));
+             _data_mat[31] = ((real_t)(elMat_3_1));
+             _data_mat[32] = ((real_t)(elMat_3_2));
+             _data_mat[33] = ((real_t)(elMat_3_3));
+             _data_mat[34] = ((real_t)(elMat_3_4));
+             _data_mat[35] = ((real_t)(elMat_3_5));
+             _data_mat[36] = ((real_t)(elMat_3_6));
+             _data_mat[37] = ((real_t)(elMat_3_7));
+             _data_mat[38] = ((real_t)(elMat_3_8));
+             _data_mat[39] = ((real_t)(elMat_3_9));
+         
+         
+             mat->addValues( _data_rowIdx, _data_colIdx, _data_mat );
+          }
+       }
+       const real_t tmp_coords_jac_0_GREEN_UP = 1.0 / (micro_edges_per_macro_edge_float)*1.0;
+       const real_t tmp_coords_jac_1_GREEN_UP = macro_vertex_coord_id_0comp0 + tmp_coords_jac_0_GREEN_UP*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0);
+       const real_t tmp_coords_jac_2_GREEN_UP = macro_vertex_coord_id_0comp1 + tmp_coords_jac_0_GREEN_UP*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1);
+       const real_t tmp_coords_jac_3_GREEN_UP = macro_vertex_coord_id_0comp2 + tmp_coords_jac_0_GREEN_UP*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2);
+       const real_t tmp_coords_jac_4_GREEN_UP = tmp_coords_jac_0_GREEN_UP*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0);
+       const real_t tmp_coords_jac_5_GREEN_UP = tmp_coords_jac_0_GREEN_UP*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1);
+       const real_t tmp_coords_jac_6_GREEN_UP = tmp_coords_jac_0_GREEN_UP*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2);
+       const real_t p_affine_const_0_0_GREEN_UP = tmp_coords_jac_1_GREEN_UP;
+       const real_t p_affine_const_0_1_GREEN_UP = tmp_coords_jac_2_GREEN_UP;
+       const real_t p_affine_const_0_2_GREEN_UP = tmp_coords_jac_3_GREEN_UP;
+       const real_t p_affine_const_1_0_GREEN_UP = macro_vertex_coord_id_0comp0 + tmp_coords_jac_0_GREEN_UP*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0);
+       const real_t p_affine_const_1_1_GREEN_UP = macro_vertex_coord_id_0comp1 + tmp_coords_jac_0_GREEN_UP*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1);
+       const real_t p_affine_const_1_2_GREEN_UP = macro_vertex_coord_id_0comp2 + tmp_coords_jac_0_GREEN_UP*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2);
+       const real_t p_affine_const_2_0_GREEN_UP = macro_vertex_coord_id_0comp0 + tmp_coords_jac_4_GREEN_UP;
+       const real_t p_affine_const_2_1_GREEN_UP = macro_vertex_coord_id_0comp1 + tmp_coords_jac_5_GREEN_UP;
+       const real_t p_affine_const_2_2_GREEN_UP = macro_vertex_coord_id_0comp2 + tmp_coords_jac_6_GREEN_UP;
+       const real_t p_affine_const_3_0_GREEN_UP = tmp_coords_jac_1_GREEN_UP + tmp_coords_jac_4_GREEN_UP;
+       const real_t p_affine_const_3_1_GREEN_UP = tmp_coords_jac_2_GREEN_UP + tmp_coords_jac_5_GREEN_UP;
+       const real_t p_affine_const_3_2_GREEN_UP = tmp_coords_jac_3_GREEN_UP + tmp_coords_jac_6_GREEN_UP;
+       const real_t jac_affine_0_0_GREEN_UP = -p_affine_const_0_0_GREEN_UP + p_affine_const_1_0_GREEN_UP;
+       const real_t jac_affine_0_1_GREEN_UP = -p_affine_const_0_0_GREEN_UP + p_affine_const_2_0_GREEN_UP;
+       const real_t jac_affine_0_2_GREEN_UP = -p_affine_const_0_0_GREEN_UP + p_affine_const_3_0_GREEN_UP;
+       const real_t jac_affine_1_0_GREEN_UP = -p_affine_const_0_1_GREEN_UP + p_affine_const_1_1_GREEN_UP;
+       const real_t jac_affine_1_1_GREEN_UP = -p_affine_const_0_1_GREEN_UP + p_affine_const_2_1_GREEN_UP;
+       const real_t jac_affine_1_2_GREEN_UP = -p_affine_const_0_1_GREEN_UP + p_affine_const_3_1_GREEN_UP;
+       const real_t jac_affine_2_0_GREEN_UP = -p_affine_const_0_2_GREEN_UP + p_affine_const_1_2_GREEN_UP;
+       const real_t jac_affine_2_1_GREEN_UP = -p_affine_const_0_2_GREEN_UP + p_affine_const_2_2_GREEN_UP;
+       const real_t jac_affine_2_2_GREEN_UP = -p_affine_const_0_2_GREEN_UP + p_affine_const_3_2_GREEN_UP;
+       const real_t abs_det_jac_affine_GREEN_UP = abs(jac_affine_0_0_GREEN_UP*jac_affine_1_1_GREEN_UP*jac_affine_2_2_GREEN_UP - jac_affine_0_0_GREEN_UP*jac_affine_1_2_GREEN_UP*jac_affine_2_1_GREEN_UP - jac_affine_0_1_GREEN_UP*jac_affine_1_0_GREEN_UP*jac_affine_2_2_GREEN_UP + jac_affine_0_1_GREEN_UP*jac_affine_1_2_GREEN_UP*jac_affine_2_0_GREEN_UP + jac_affine_0_2_GREEN_UP*jac_affine_1_0_GREEN_UP*jac_affine_2_1_GREEN_UP - jac_affine_0_2_GREEN_UP*jac_affine_1_1_GREEN_UP*jac_affine_2_0_GREEN_UP);
+       {
+          /* CellType.GREEN_UP */
+          const real_t _data_phi_psi_jac_affine_det_0_0_GREEN_UP [] = {((real_t)(abs_det_jac_affine_GREEN_UP*-0.010749089276961213)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0013747922567553051)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.01396287204173041)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.008164600589399525)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.012151214443257608)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.019083835042434261)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.072053489056043002)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0046416810200408439)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.017525267423213611)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.027523941260433657)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.044193869792483409)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0056523290877285)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0574070354280087)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.033567987580949914)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.049958575567593019)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.078461393265588306)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.29624114484395714)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.019083835042434251)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.072053489056042974)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.11316209633188964)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.02813947970791995)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0035989968838093011)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.036552673846023863)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.021373681684931475)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.031810029988819218)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.18862506775555832)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.012151214443257601)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.045878482755592566)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.07205348905604296)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0074529241534464254)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.00095321772406372263)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0096812133204938391)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0056609585582659784)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0084250932599439499)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.013231853551815916)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0032183281481346165)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.012151214443257603)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.019083835042434251)), ((real_t)(abs_det_jac_affine_GREEN_UP*-2.9012262911449775e-5)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.00014612615736184792)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.00047804109319682082)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0032416491456343029)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0021116678219306132)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.00052791366753715454)), ((real_t)(abs_det_jac_affine_GREEN_UP*7.0977528354966774e-5)), ((real_t)(abs_det_jac_affine_GREEN_UP*9.9895812682163066e-5)), ((real_t)(abs_det_jac_affine_GREEN_UP*1.3430904167093961e-5)), ((real_t)(abs_det_jac_affine_GREEN_UP*3.3577051293550935e-6)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.00015331944058422371)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.00077222451657154147)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0025262763269762738)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.017130957178208683)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.011159409734644826)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0027898350580443485)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.00037509087018302439)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.00052791366753715541)), ((real_t)(abs_det_jac_affine_GREEN_UP*7.0977528354966354e-5)), ((real_t)(abs_det_jac_affine_GREEN_UP*1.7744271574084403e-5)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.00061328158194601311)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0030889173045236238)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.010105168244399365)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.068524255492113287)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.044637916950180538)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0015003728252777238)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0021116678219306167)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.000283911881665389)), ((real_t)(abs_det_jac_affine_GREEN_UP*7.0977528354965283e-5)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0045614398903685138)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.022974618879299673)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.075159794270401023)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.50966681808331993)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.33200601647520916)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.083000987173061064)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.015706073884687172)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0021116678219306002)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.00052791366753714337)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.02118185416019976)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.040792474062018545)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.049791196691139579)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.035867609546541376)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.059688031245203839)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.021562946853404222)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.071405876738584673)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.080243884747120436)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.26572828761452333)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.095997217930328324)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.005691937733975882)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.010961657115556597)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.013379772569609637)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.009638259175114022)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.016039226535213912)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0057943440608341223)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.019188018251946451)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.021562946853404225)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0714058767385847)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.025796145274243024)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.015755757300754607)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.03034277906728966)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.037036323866953338)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.026679503441931235)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.044397913749511943)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.053114031247306501)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.059688031245203839)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.19765740883375349)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0714058767385847)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0047578795027626341)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0091628275191950465)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.011184125448277639)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0080566017962316674)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.013407157762204741)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0048434807489961713)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.018024424659562992)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.059688031245203853)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.021562946853404232)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.00015688175714697789)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0014950153325289843)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0012666972383742025)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0015490159490981592)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0062931924029516256)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0020445450956193246)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0056480276621754888)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.00013641635559728395)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.00037684830314454006)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0001224312400849633)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.002351271046368435)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.022406596720860313)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.018984670973016902)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.023215932927530856)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.094319450236798913)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.030642694050274453)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.084650020197820364)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0020445450956193168)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0056480276621755114)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0018349426677638542)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0072373072709378001)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.068968409922504109)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.058435584226493004)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.071459579463428277)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.29031907828914638)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.26055618198886238)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0062931924029516022)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.017384857321768536)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0056480276621755391)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0026198528001873307)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.024966064738678271)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.021153258143552994)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.025867850064795264)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.10509340307518385)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.034142957672569287)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0022780900577755898)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0062931924029516507)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0020445450956193428)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0016747236096797923)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.022395383667253931)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0010823709889014185)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0036990864559166563)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.00050834301173610229)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.015588264867481133)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0037476086033569342)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.00081420248681843786)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.00019574418772167287)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0060024671806827717)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.032063320402672957)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.42876947450525699)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.020722468836717273)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.070820637834037012)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.009732450635762396)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.29844418988237825)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.071749615697017544)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.015588264867481126)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0037476086033569277)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.1149198753205366)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0010456048186450997)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.013982439217157605)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.00067577259615595462)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0023095050434207478)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.00031738126788423253)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0023397995892677865)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.00050834301173610208)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.00012221184720903605)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0037476086033569355)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0043492174836919605)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.058160280082415236)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0028108917803285017)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0096064397699850354)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0013201547416997409)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.040482354049473784)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0021144645423690485)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.00050834301173610142)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.015588264867481138)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0068956855714663416)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.010091290281029655)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0080216243244021178)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0035198334831929206)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.018978279386089755)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.056811998632973766)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.01396686284573566)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.015485631440181358)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0038070424489360009)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.01139648574059631)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.025298140458325055)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.037021827096001436)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.029428861968758362)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.012913181862031289)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.069625445155635055)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.20842567519062763)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.051240105769272605)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.056811998632973738)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.013966862845735664)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.041810186095187066)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0084509467915105906)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.012367292031926986)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0098308311254096271)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0043137009617327136)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.023258663351751644)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.017116965895609845)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.018978279386089748)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0046656873831529451)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.01396686284573564)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.034375305526338835)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.050305540032273111)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.039988161309129681)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.017546529657219402)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.094607584046545581)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.28321039153111127)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.077196575526473174)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.018978279386089758)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.056811998632973676)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.036989007988906066)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.024350339729610097)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.022721604194642659)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0020718315986862396)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.053354679030800815)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.058170268354931241)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0093518161026560475)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.22863973450271471)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.036757553494219546)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.040075149727639509)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0094107024991835538)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0061951865002202629)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.005780805406949952)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.00052711310369534133)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.013574438423676774)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.014799615333023134)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0023792787088414437)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.058170268354931248)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.009351816102656051)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.010195875266786407)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0086316433720857837)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0056823218562164577)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0053022450428696702)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.00048347637471763576)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.012450687019346486)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0021823116073744556)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.053354679030800829)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0085776318491057792)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0093518161026560475)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.053690642094179834)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.035345240285608669)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.032981082352521167)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0030073250106582576)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.077445898974953548)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.084435869696849797)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.3318773554937019)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.053354679030800836)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.058170268354931241)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.2830869924348563)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.050308558644386672)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.041516821634179475)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.06274193203760102)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.020160825588817252)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.025383152182066201)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.015152528090816651)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.23919668259056145)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.14278898169094956)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.17977609281010931)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.030040718507945225)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0053386601615906274)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0044056957238823311)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0066580689659201985)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.002139433116273644)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0026936176861649991)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0016079609562587173)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.025383152182066195)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.015152528090816651)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.019077538505445499)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.023860144794362503)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0042402848796628178)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0034992684300787832)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0052882386796338152)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0016992664113091131)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0012771392678196903)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.020160825588817249)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.012035048833865587)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.01515252809081665)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.039969943152159265)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0071032236832497221)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0058618906729116316)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0088587307923610938)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0028465703978647464)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0035839271208240476)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.033772932211040815)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.020160825588817245)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.025383152182066191)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.014935575584147695)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.007791142568055953)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0073254854313094774)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.015186461110532538)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.090150328303510344)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.012455650259246793)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.015731589118882311)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.029517331411893867)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.037280633286332542)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0051508911658584714)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0063024771210085937)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0032876870064389215)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0030911901634452068)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0064083451728372039)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.038041411821271319)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0052560043865672946)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0066383769370158769)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.012455650259246798)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.015731589118882314)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0021735602717637636)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.045615473279886819)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.023795310306631609)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.022373124026687209)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.046381715060167777)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.27533253531028662)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.048046617223388682)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.090150328303510385)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.11386060898348732)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.015731589118882311)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.036116528170846006)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.018840185867421855)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.017714155002223078)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.036723208116341576)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.21799741519439725)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.030119685775736597)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.07137746553252089)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.090150328303510371)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.012455650259246793)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.032896921427909828)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.020934012679446525)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.020127575524041673)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.033499901528319088)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0098838942808698073)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.075244795478138254)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.040011251730840761)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.067458477890573201)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.035870894765649017)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.27308043404340754)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.036694010925042916)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.023350297128803515)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.022450777887903339)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.037366589313281677)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.011024731463671476)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.083929839859876898)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.044629504659074608)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.075244795478138254)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.040011251730840761)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.30460043053460045)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0048199974818136015)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0030672137093527801)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0029490559946009505)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0049083450365209726)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0014481703295155801)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.005862376301973493)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0098838942808698056)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0052557386811928905)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.040011251730840761)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.009064443351184925)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.005768174157623188)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0055459678357496689)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.009230588957667556)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0027234159279729726)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.020733009548559916)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.018587561536304909)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0098838942808698056)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.075244795478138254)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.012773605317404142)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0093099638314587951)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.055932196812816262)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0011391519589580709)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0035913578872906952)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.00039530708258920854)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.034759025419540214)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.00061078662356131824)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.053705963564394235)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0059115099192464755)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0082672024196058687)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.0060254997396084128)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.036199865373541695)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.00073727030054430856)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0023243619853375876)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.00025584661404999347)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.022496381554864123)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.00039530708258920833)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.034759025419540221)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0038259870955407193)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.075107388466231287)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.054741559075980606)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.32887513974352289)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.006698087703317224)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.02111678772433076)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.20437923045390871)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0035913578872906935)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.31578513412249021)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.034759025419540214)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.00085418052598187596)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.00062256423341908954)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0037402277670030831)), ((real_t)(abs_det_jac_affine_GREEN_UP*-7.6175942132039452e-5)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.00024015678369014598)), ((real_t)(abs_det_jac_affine_GREEN_UP*2.6434479799555231e-5)), ((real_t)(abs_det_jac_affine_GREEN_UP*4.0843757608938361e-5)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0035913578872906957)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.00039530708258920849))};
+      
+          for (int64_t ctr_2 = 0; ctr_2 < micro_edges_per_macro_edge; ctr_2 += 1)
+          for (int64_t ctr_1 = 0; ctr_1 < -ctr_2 + micro_edges_per_macro_edge; ctr_1 += 1)
+          for (int64_t ctr_0 = 0; ctr_0 < -ctr_1 - ctr_2 + micro_edges_per_macro_edge - 1; ctr_0 += 1)
+          {
+         
+             const int64_t phantom_ctr_0 = ctr_0;
+             real_t _data_float_loop_ctr_array_dim_0[4];
+             _data_float_loop_ctr_array_dim_0[0] = (real_t) ctr_0+ 0;
+             _data_float_loop_ctr_array_dim_0[1] = (real_t) ctr_0+ 1;
+             _data_float_loop_ctr_array_dim_0[2] = (real_t) ctr_0+ 2;
+             _data_float_loop_ctr_array_dim_0[3] = (real_t) ctr_0+ 3;
+             real_t _data_float_loop_ctr_array_dim_1[4];
+             _data_float_loop_ctr_array_dim_1[0] = (real_t) ctr_1;
+             _data_float_loop_ctr_array_dim_1[1] = (real_t) ctr_1;
+             _data_float_loop_ctr_array_dim_1[2] = (real_t) ctr_1;
+             _data_float_loop_ctr_array_dim_1[3] = (real_t) ctr_1;
+             real_t _data_float_loop_ctr_array_dim_2[4];
+             _data_float_loop_ctr_array_dim_2[0] = (real_t) ctr_2;
+             _data_float_loop_ctr_array_dim_2[1] = (real_t) ctr_2;
+             _data_float_loop_ctr_array_dim_2[2] = (real_t) ctr_2;
+             _data_float_loop_ctr_array_dim_2[3] = (real_t) ctr_2;
+         
+             const real_t p_affine_0_0 = macro_vertex_coord_id_0comp0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0)*(1.0 + _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0)*1.0*_data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0)*1.0*_data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0];
+             const real_t p_affine_0_1 = macro_vertex_coord_id_0comp1 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1)*(1.0 + _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1)*1.0*_data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1)*1.0*_data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0];
+             const real_t p_affine_0_2 = macro_vertex_coord_id_0comp2 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2)*(1.0 + _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2)*1.0*_data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2)*1.0*_data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0];
+             const real_t p_affine_1_0 = macro_vertex_coord_id_0comp0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0)*1.0*_data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0)*(1.0 + _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0)*1.0*_data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0];
+             const real_t p_affine_1_1 = macro_vertex_coord_id_0comp1 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1)*1.0*_data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1)*(1.0 + _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1)*1.0*_data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0];
+             const real_t p_affine_1_2 = macro_vertex_coord_id_0comp2 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2)*1.0*_data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2)*(1.0 + _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2)*1.0*_data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0];
+             const real_t p_affine_2_0 = macro_vertex_coord_id_0comp0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0)*1.0*_data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0)*1.0*_data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0)*(1.0 + _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0])*1.0;
+             const real_t p_affine_2_1 = macro_vertex_coord_id_0comp1 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1)*1.0*_data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1)*1.0*_data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1)*(1.0 + _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0])*1.0;
+             const real_t p_affine_2_2 = macro_vertex_coord_id_0comp2 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2)*1.0*_data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2)*1.0*_data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2)*(1.0 + _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0])*1.0;
+             const real_t p_affine_3_0 = macro_vertex_coord_id_0comp0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0)*(1.0 + _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0)*1.0*_data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0)*(1.0 + _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0])*1.0;
+             const real_t p_affine_3_1 = macro_vertex_coord_id_0comp1 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1)*(1.0 + _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1)*1.0*_data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1)*(1.0 + _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0])*1.0;
+             const real_t p_affine_3_2 = macro_vertex_coord_id_0comp2 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2)*(1.0 + _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2)*1.0*_data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2)*(1.0 + _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0])*1.0;
+             const real_t k_dof_0 = _data_kVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1];
+             const real_t k_dof_1 = _data_kVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))];
+             const real_t k_dof_2 = _data_kVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))];
+             const real_t k_dof_3 = _data_kVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1];
+             const real_t k_dof_4 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))];
+             const real_t k_dof_5 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge - 1)*(micro_edges_per_macro_edge + 1)) / (6)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))];
+             const real_t k_dof_6 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))];
+             const real_t k_dof_7 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1];
+             const real_t k_dof_8 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 5*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))];
+             const real_t k_dof_9 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))];
+             real_t q_acc_0_0 = 0.0;
+             real_t q_acc_0_1 = 0.0;
+             real_t q_acc_0_2 = 0.0;
+             real_t q_acc_0_3 = 0.0;
+             real_t q_acc_0_4 = 0.0;
+             real_t q_acc_0_5 = 0.0;
+             real_t q_acc_0_6 = 0.0;
+             real_t q_acc_0_7 = 0.0;
+             real_t q_acc_0_8 = 0.0;
+             real_t q_acc_0_9 = 0.0;
+             real_t q_acc_1_0 = 0.0;
+             real_t q_acc_1_1 = 0.0;
+             real_t q_acc_1_2 = 0.0;
+             real_t q_acc_1_3 = 0.0;
+             real_t q_acc_1_4 = 0.0;
+             real_t q_acc_1_5 = 0.0;
+             real_t q_acc_1_6 = 0.0;
+             real_t q_acc_1_7 = 0.0;
+             real_t q_acc_1_8 = 0.0;
+             real_t q_acc_1_9 = 0.0;
+             real_t q_acc_2_0 = 0.0;
+             real_t q_acc_2_1 = 0.0;
+             real_t q_acc_2_2 = 0.0;
+             real_t q_acc_2_3 = 0.0;
+             real_t q_acc_2_4 = 0.0;
+             real_t q_acc_2_5 = 0.0;
+             real_t q_acc_2_6 = 0.0;
+             real_t q_acc_2_7 = 0.0;
+             real_t q_acc_2_8 = 0.0;
+             real_t q_acc_2_9 = 0.0;
+             real_t q_acc_3_0 = 0.0;
+             real_t q_acc_3_1 = 0.0;
+             real_t q_acc_3_2 = 0.0;
+             real_t q_acc_3_3 = 0.0;
+             real_t q_acc_3_4 = 0.0;
+             real_t q_acc_3_5 = 0.0;
+             real_t q_acc_3_6 = 0.0;
+             real_t q_acc_3_7 = 0.0;
+             real_t q_acc_3_8 = 0.0;
+             real_t q_acc_3_9 = 0.0;
+             for (int64_t q = 0; q < 11; q += 1)
+             {
+                const real_t tmp_qloop_0 = 4.0*_data_q_p_0[q];
+                const real_t tmp_qloop_1 = tmp_qloop_0*_data_q_p_1[q];
+                const real_t tmp_qloop_2 = tmp_qloop_0*_data_q_p_2[q];
+                const real_t tmp_qloop_3 = 4.0*_data_q_p_1[q]*_data_q_p_2[q];
+                const real_t tmp_qloop_4 = (_data_q_p_0[q]*_data_q_p_0[q]);
+                const real_t tmp_qloop_5 = tmp_qloop_4*2.0;
+                const real_t tmp_qloop_6 = (_data_q_p_1[q]*_data_q_p_1[q]);
+                const real_t tmp_qloop_7 = tmp_qloop_6*2.0;
+                const real_t tmp_qloop_8 = (_data_q_p_2[q]*_data_q_p_2[q]);
+                const real_t tmp_qloop_9 = tmp_qloop_8*2.0;
+                const real_t tmp_qloop_10 = tmp_qloop_1 + tmp_qloop_2;
+                const real_t tmp_qloop_11 = p_affine_0_0 + (-p_affine_0_0 + p_affine_1_0)*_data_q_p_0[q] + (-p_affine_0_0 + p_affine_2_0)*_data_q_p_1[q] + (-p_affine_0_0 + p_affine_3_0)*_data_q_p_2[q];
+                const real_t tmp_qloop_12 = p_affine_0_1 + (-p_affine_0_1 + p_affine_1_1)*_data_q_p_0[q] + (-p_affine_0_1 + p_affine_2_1)*_data_q_p_1[q] + (-p_affine_0_1 + p_affine_3_1)*_data_q_p_2[q];
+                const real_t tmp_qloop_13 = p_affine_0_2 + (-p_affine_0_2 + p_affine_1_2)*_data_q_p_0[q] + (-p_affine_0_2 + p_affine_2_2)*_data_q_p_1[q] + (-p_affine_0_2 + p_affine_3_2)*_data_q_p_2[q];
+                const real_t tmp_qloop_14 = (tmp_qloop_11*tmp_qloop_11);
+                const real_t tmp_qloop_15 = (tmp_qloop_12*tmp_qloop_12);
+                const real_t tmp_qloop_16 = (tmp_qloop_13*tmp_qloop_13);
+                const real_t tmp_qloop_17 = tmp_qloop_14 + tmp_qloop_15 + tmp_qloop_16;
+                const real_t tmp_qloop_18 = pow(tmp_qloop_17, -4.5000000000000000);
+                const real_t tmp_qloop_39 = -tmp_qloop_13 - tmp_qloop_31;
+                const real_t tmp_qloop_40 = -tmp_qloop_11 - tmp_qloop_20;
+                const real_t tmp_qloop_41 = -tmp_qloop_12 - tmp_qloop_27;
+                const real_t tmp_qloop_42 = radRayVertex*tmp_qloop_35 - tmp_qloop_37*(tmp_qloop_21*tmp_qloop_22*tmp_qloop_41 + tmp_qloop_25*tmp_qloop_32*tmp_qloop_40 - tmp_qloop_26*tmp_qloop_39 + tmp_qloop_28*tmp_qloop_29*tmp_qloop_39 - tmp_qloop_33*tmp_qloop_40 - tmp_qloop_34*tmp_qloop_41);
+                const real_t tmp_qloop_43 = -tmp_qloop_42;
+                const real_t tmp_qloop_44 = tmp_qloop_13*tmp_qloop_43 + tmp_qloop_17*tmp_qloop_38;
+                const real_t tmp_qloop_46 = tmp_qloop_11*tmp_qloop_43 + tmp_qloop_17*tmp_qloop_45;
+                const real_t tmp_qloop_48 = -tmp_qloop_12*tmp_qloop_42 - tmp_qloop_17*tmp_qloop_37*tmp_qloop_47;
+                const real_t tmp_qloop_49 = tmp_qloop_15*tmp_qloop_43 + tmp_qloop_17*(-tmp_qloop_12*tmp_qloop_37*tmp_qloop_47 + tmp_qloop_42);
+                const real_t tmp_qloop_50 = tmp_qloop_18*tmp_qloop_36;
+                const real_t tmp_qloop_51 = tmp_qloop_11*tmp_qloop_46;
+                const real_t tmp_qloop_52 = tmp_qloop_13*tmp_qloop_44;
+                const real_t tmp_qloop_53 = tmp_qloop_16*tmp_qloop_43 + tmp_qloop_17*(tmp_qloop_13*tmp_qloop_38 + tmp_qloop_42);
+                const real_t tmp_qloop_54 = tmp_qloop_12*tmp_qloop_48*tmp_qloop_50*1.0;
+                const real_t tmp_qloop_55 = -tmp_qloop_14*tmp_qloop_42 + tmp_qloop_17*(tmp_qloop_11*tmp_qloop_45 + tmp_qloop_42);
+                const real_t tmp_qloop_56 = (k_dof_0*(tmp_qloop_10 + tmp_qloop_3 + tmp_qloop_5 + tmp_qloop_7 + tmp_qloop_9 - 3.0*_data_q_p_0[q] - 3.0*_data_q_p_1[q] - 3.0*_data_q_p_2[q] + 1.0) + k_dof_1*(tmp_qloop_5 - _data_q_p_0[q]) + k_dof_2*(tmp_qloop_7 - _data_q_p_1[q]) + k_dof_3*(tmp_qloop_9 - _data_q_p_2[q]) + k_dof_4*tmp_qloop_3 + k_dof_5*tmp_qloop_2 + k_dof_6*tmp_qloop_1 + k_dof_7*(-tmp_qloop_2 - tmp_qloop_3 + tmp_qloop_8*-4.0 + 4.0*_data_q_p_2[q]) + k_dof_8*(-tmp_qloop_1 - tmp_qloop_3 + tmp_qloop_6*-4.0 + 4.0*_data_q_p_1[q]) + k_dof_9*(-tmp_qloop_10 + tmp_qloop_4*-4.0 + 4.0*_data_q_p_0[q]))*abs(tmp_qloop_11*tmp_qloop_12*tmp_qloop_13*tmp_qloop_18*tmp_qloop_36*tmp_qloop_44*tmp_qloop_46*tmp_qloop_48*-2.0 - tmp_qloop_18*tmp_qloop_36*tmp_qloop_49*tmp_qloop_53*tmp_qloop_55 + tmp_qloop_49*tmp_qloop_50*tmp_qloop_51*tmp_qloop_52*1.0 + tmp_qloop_51*tmp_qloop_53*tmp_qloop_54 + tmp_qloop_52*tmp_qloop_54*tmp_qloop_55)*_data_q_w[q];
+                const real_t tmp_qloop_57 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 14];
+                const real_t q_tmp_0_0 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q];
+                const real_t q_tmp_0_1 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 1];
+                const real_t q_tmp_0_2 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 2];
+                const real_t q_tmp_0_3 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 3];
+                const real_t q_tmp_0_4 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 4];
+                const real_t q_tmp_0_5 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 5];
+                const real_t q_tmp_0_6 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 6];
+                const real_t q_tmp_0_7 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 7];
+                const real_t q_tmp_0_8 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 8];
+                const real_t q_tmp_0_9 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 9];
+                const real_t q_tmp_1_0 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 10];
+                const real_t q_tmp_1_1 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 11];
+                const real_t q_tmp_1_2 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 12];
+                const real_t q_tmp_1_3 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 13];
+                const real_t q_tmp_1_4 = tmp_qloop_57;
+                const real_t q_tmp_1_5 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 15];
+                const real_t q_tmp_1_6 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 16];
+                const real_t q_tmp_1_7 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 17];
+                const real_t q_tmp_1_8 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 18];
+                const real_t q_tmp_1_9 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 19];
+                const real_t q_tmp_2_0 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 20];
+                const real_t q_tmp_2_1 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 21];
+                const real_t q_tmp_2_2 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 22];
+                const real_t q_tmp_2_3 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 23];
+                const real_t q_tmp_2_4 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 24];
+                const real_t q_tmp_2_5 = tmp_qloop_57;
+                const real_t q_tmp_2_6 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 25];
+                const real_t q_tmp_2_7 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 26];
+                const real_t q_tmp_2_8 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 27];
+                const real_t q_tmp_2_9 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 28];
+                const real_t q_tmp_3_0 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 29];
+                const real_t q_tmp_3_1 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 30];
+                const real_t q_tmp_3_2 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 31];
+                const real_t q_tmp_3_3 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 32];
+                const real_t q_tmp_3_4 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 33];
+                const real_t q_tmp_3_5 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 34];
+                const real_t q_tmp_3_6 = tmp_qloop_57;
+                const real_t q_tmp_3_7 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 35];
+                const real_t q_tmp_3_8 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 36];
+                const real_t q_tmp_3_9 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 37];
+                q_acc_0_0 = q_acc_0_0 + q_tmp_0_0;
+                q_acc_0_1 = q_acc_0_1 + q_tmp_0_1;
+                q_acc_0_2 = q_acc_0_2 + q_tmp_0_2;
+                q_acc_0_3 = q_acc_0_3 + q_tmp_0_3;
+                q_acc_0_4 = q_acc_0_4 + q_tmp_0_4;
+                q_acc_0_5 = q_acc_0_5 + q_tmp_0_5;
+                q_acc_0_6 = q_acc_0_6 + q_tmp_0_6;
+                q_acc_0_7 = q_acc_0_7 + q_tmp_0_7;
+                q_acc_0_8 = q_acc_0_8 + q_tmp_0_8;
+                q_acc_0_9 = q_acc_0_9 + q_tmp_0_9;
+                q_acc_1_0 = q_acc_1_0 + q_tmp_1_0;
+                q_acc_1_1 = q_acc_1_1 + q_tmp_1_1;
+                q_acc_1_2 = q_acc_1_2 + q_tmp_1_2;
+                q_acc_1_3 = q_acc_1_3 + q_tmp_1_3;
+                q_acc_1_4 = q_acc_1_4 + q_tmp_1_4;
+                q_acc_1_5 = q_acc_1_5 + q_tmp_1_5;
+                q_acc_1_6 = q_acc_1_6 + q_tmp_1_6;
+                q_acc_1_7 = q_acc_1_7 + q_tmp_1_7;
+                q_acc_1_8 = q_acc_1_8 + q_tmp_1_8;
+                q_acc_1_9 = q_acc_1_9 + q_tmp_1_9;
+                q_acc_2_0 = q_acc_2_0 + q_tmp_2_0;
+                q_acc_2_1 = q_acc_2_1 + q_tmp_2_1;
+                q_acc_2_2 = q_acc_2_2 + q_tmp_2_2;
+                q_acc_2_3 = q_acc_2_3 + q_tmp_2_3;
+                q_acc_2_4 = q_acc_2_4 + q_tmp_2_4;
+                q_acc_2_5 = q_acc_2_5 + q_tmp_2_5;
+                q_acc_2_6 = q_acc_2_6 + q_tmp_2_6;
+                q_acc_2_7 = q_acc_2_7 + q_tmp_2_7;
+                q_acc_2_8 = q_acc_2_8 + q_tmp_2_8;
+                q_acc_2_9 = q_acc_2_9 + q_tmp_2_9;
+                q_acc_3_0 = q_acc_3_0 + q_tmp_3_0;
+                q_acc_3_1 = q_acc_3_1 + q_tmp_3_1;
+                q_acc_3_2 = q_acc_3_2 + q_tmp_3_2;
+                q_acc_3_3 = q_acc_3_3 + q_tmp_3_3;
+                q_acc_3_4 = q_acc_3_4 + q_tmp_3_4;
+                q_acc_3_5 = q_acc_3_5 + q_tmp_3_5;
+                q_acc_3_6 = q_acc_3_6 + q_tmp_3_6;
+                q_acc_3_7 = q_acc_3_7 + q_tmp_3_7;
+                q_acc_3_8 = q_acc_3_8 + q_tmp_3_8;
+                q_acc_3_9 = q_acc_3_9 + q_tmp_3_9;
+             }
+             const real_t elMat_0_0 = q_acc_0_0;
+             const real_t elMat_0_1 = q_acc_0_1;
+             const real_t elMat_0_2 = q_acc_0_2;
+             const real_t elMat_0_3 = q_acc_0_3;
+             const real_t elMat_0_4 = q_acc_0_4;
+             const real_t elMat_0_5 = q_acc_0_5;
+             const real_t elMat_0_6 = q_acc_0_6;
+             const real_t elMat_0_7 = q_acc_0_7;
+             const real_t elMat_0_8 = q_acc_0_8;
+             const real_t elMat_0_9 = q_acc_0_9;
+             const real_t elMat_1_0 = q_acc_1_0;
+             const real_t elMat_1_1 = q_acc_1_1;
+             const real_t elMat_1_2 = q_acc_1_2;
+             const real_t elMat_1_3 = q_acc_1_3;
+             const real_t elMat_1_4 = q_acc_1_4;
+             const real_t elMat_1_5 = q_acc_1_5;
+             const real_t elMat_1_6 = q_acc_1_6;
+             const real_t elMat_1_7 = q_acc_1_7;
+             const real_t elMat_1_8 = q_acc_1_8;
+             const real_t elMat_1_9 = q_acc_1_9;
+             const real_t elMat_2_0 = q_acc_2_0;
+             const real_t elMat_2_1 = q_acc_2_1;
+             const real_t elMat_2_2 = q_acc_2_2;
+             const real_t elMat_2_3 = q_acc_2_3;
+             const real_t elMat_2_4 = q_acc_2_4;
+             const real_t elMat_2_5 = q_acc_2_5;
+             const real_t elMat_2_6 = q_acc_2_6;
+             const real_t elMat_2_7 = q_acc_2_7;
+             const real_t elMat_2_8 = q_acc_2_8;
+             const real_t elMat_2_9 = q_acc_2_9;
+             const real_t elMat_3_0 = q_acc_3_0;
+             const real_t elMat_3_1 = q_acc_3_1;
+             const real_t elMat_3_2 = q_acc_3_2;
+             const real_t elMat_3_3 = q_acc_3_3;
+             const real_t elMat_3_4 = q_acc_3_4;
+             const real_t elMat_3_5 = q_acc_3_5;
+             const real_t elMat_3_6 = q_acc_3_6;
+             const real_t elMat_3_7 = q_acc_3_7;
+             const real_t elMat_3_8 = q_acc_3_8;
+             const real_t elMat_3_9 = q_acc_3_9;
+         
+             std::vector< uint_t > _data_rowIdx( 4 );
+             std::vector< uint_t > _data_colIdx( 10 );
+             std::vector< real_t > _data_mat( 40 );
+         
+             _data_rowIdx[0] = ((uint64_t)(_data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]));
+             _data_rowIdx[1] = ((uint64_t)(_data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]));
+             _data_rowIdx[2] = ((uint64_t)(_data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]));
+             _data_rowIdx[3] = ((uint64_t)(_data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]));
+             _data_colIdx[0] = ((uint64_t)(_data_srcVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]));
+             _data_colIdx[1] = ((uint64_t)(_data_srcVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]));
+             _data_colIdx[2] = ((uint64_t)(_data_srcVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]));
+             _data_colIdx[3] = ((uint64_t)(_data_srcVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]));
+             _data_colIdx[4] = ((uint64_t)(_data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]));
+             _data_colIdx[5] = ((uint64_t)(_data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge - 1)*(micro_edges_per_macro_edge + 1)) / (6)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]));
+             _data_colIdx[6] = ((uint64_t)(_data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]));
+             _data_colIdx[7] = ((uint64_t)(_data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1]));
+             _data_colIdx[8] = ((uint64_t)(_data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 5*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]));
+             _data_colIdx[9] = ((uint64_t)(_data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]));
+         
+             /* Apply basis transformation */
+         
+         
+         
+             _data_mat[0] = ((real_t)(elMat_0_0));
+             _data_mat[1] = ((real_t)(elMat_0_1));
+             _data_mat[2] = ((real_t)(elMat_0_2));
+             _data_mat[3] = ((real_t)(elMat_0_3));
+             _data_mat[4] = ((real_t)(elMat_0_4));
+             _data_mat[5] = ((real_t)(elMat_0_5));
+             _data_mat[6] = ((real_t)(elMat_0_6));
+             _data_mat[7] = ((real_t)(elMat_0_7));
+             _data_mat[8] = ((real_t)(elMat_0_8));
+             _data_mat[9] = ((real_t)(elMat_0_9));
+             _data_mat[10] = ((real_t)(elMat_1_0));
+             _data_mat[11] = ((real_t)(elMat_1_1));
+             _data_mat[12] = ((real_t)(elMat_1_2));
+             _data_mat[13] = ((real_t)(elMat_1_3));
+             _data_mat[14] = ((real_t)(elMat_1_4));
+             _data_mat[15] = ((real_t)(elMat_1_5));
+             _data_mat[16] = ((real_t)(elMat_1_6));
+             _data_mat[17] = ((real_t)(elMat_1_7));
+             _data_mat[18] = ((real_t)(elMat_1_8));
+             _data_mat[19] = ((real_t)(elMat_1_9));
+             _data_mat[20] = ((real_t)(elMat_2_0));
+             _data_mat[21] = ((real_t)(elMat_2_1));
+             _data_mat[22] = ((real_t)(elMat_2_2));
+             _data_mat[23] = ((real_t)(elMat_2_3));
+             _data_mat[24] = ((real_t)(elMat_2_4));
+             _data_mat[25] = ((real_t)(elMat_2_5));
+             _data_mat[26] = ((real_t)(elMat_2_6));
+             _data_mat[27] = ((real_t)(elMat_2_7));
+             _data_mat[28] = ((real_t)(elMat_2_8));
+             _data_mat[29] = ((real_t)(elMat_2_9));
+             _data_mat[30] = ((real_t)(elMat_3_0));
+             _data_mat[31] = ((real_t)(elMat_3_1));
+             _data_mat[32] = ((real_t)(elMat_3_2));
+             _data_mat[33] = ((real_t)(elMat_3_3));
+             _data_mat[34] = ((real_t)(elMat_3_4));
+             _data_mat[35] = ((real_t)(elMat_3_5));
+             _data_mat[36] = ((real_t)(elMat_3_6));
+             _data_mat[37] = ((real_t)(elMat_3_7));
+             _data_mat[38] = ((real_t)(elMat_3_8));
+             _data_mat[39] = ((real_t)(elMat_3_9));
+         
+         
+             mat->addValues( _data_rowIdx, _data_colIdx, _data_mat );
+          }
+       }
+       const real_t tmp_coords_jac_0_GREEN_DOWN = 1.0 / (micro_edges_per_macro_edge_float)*1.0;
+       const real_t tmp_coords_jac_1_GREEN_DOWN = macro_vertex_coord_id_0comp0 + tmp_coords_jac_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0);
+       const real_t tmp_coords_jac_2_GREEN_DOWN = macro_vertex_coord_id_0comp1 + tmp_coords_jac_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1);
+       const real_t tmp_coords_jac_3_GREEN_DOWN = macro_vertex_coord_id_0comp2 + tmp_coords_jac_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2);
+       const real_t tmp_coords_jac_4_GREEN_DOWN = tmp_coords_jac_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0);
+       const real_t tmp_coords_jac_5_GREEN_DOWN = tmp_coords_jac_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1);
+       const real_t tmp_coords_jac_6_GREEN_DOWN = tmp_coords_jac_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2);
+       const real_t tmp_coords_jac_7_GREEN_DOWN = tmp_coords_jac_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0);
+       const real_t tmp_coords_jac_8_GREEN_DOWN = tmp_coords_jac_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1);
+       const real_t tmp_coords_jac_9_GREEN_DOWN = tmp_coords_jac_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2);
+       const real_t p_affine_const_0_0_GREEN_DOWN = tmp_coords_jac_1_GREEN_DOWN;
+       const real_t p_affine_const_0_1_GREEN_DOWN = tmp_coords_jac_2_GREEN_DOWN;
+       const real_t p_affine_const_0_2_GREEN_DOWN = tmp_coords_jac_3_GREEN_DOWN;
+       const real_t p_affine_const_1_0_GREEN_DOWN = tmp_coords_jac_1_GREEN_DOWN + tmp_coords_jac_4_GREEN_DOWN;
+       const real_t p_affine_const_1_1_GREEN_DOWN = tmp_coords_jac_2_GREEN_DOWN + tmp_coords_jac_5_GREEN_DOWN;
+       const real_t p_affine_const_1_2_GREEN_DOWN = tmp_coords_jac_3_GREEN_DOWN + tmp_coords_jac_6_GREEN_DOWN;
+       const real_t p_affine_const_2_0_GREEN_DOWN = macro_vertex_coord_id_0comp0 + tmp_coords_jac_4_GREEN_DOWN + tmp_coords_jac_7_GREEN_DOWN;
+       const real_t p_affine_const_2_1_GREEN_DOWN = macro_vertex_coord_id_0comp1 + tmp_coords_jac_5_GREEN_DOWN + tmp_coords_jac_8_GREEN_DOWN;
+       const real_t p_affine_const_2_2_GREEN_DOWN = macro_vertex_coord_id_0comp2 + tmp_coords_jac_6_GREEN_DOWN + tmp_coords_jac_9_GREEN_DOWN;
+       const real_t p_affine_const_3_0_GREEN_DOWN = tmp_coords_jac_1_GREEN_DOWN + tmp_coords_jac_7_GREEN_DOWN;
+       const real_t p_affine_const_3_1_GREEN_DOWN = tmp_coords_jac_2_GREEN_DOWN + tmp_coords_jac_8_GREEN_DOWN;
+       const real_t p_affine_const_3_2_GREEN_DOWN = tmp_coords_jac_3_GREEN_DOWN + tmp_coords_jac_9_GREEN_DOWN;
+       const real_t jac_affine_0_0_GREEN_DOWN = -p_affine_const_0_0_GREEN_DOWN + p_affine_const_1_0_GREEN_DOWN;
+       const real_t jac_affine_0_1_GREEN_DOWN = -p_affine_const_0_0_GREEN_DOWN + p_affine_const_2_0_GREEN_DOWN;
+       const real_t jac_affine_0_2_GREEN_DOWN = -p_affine_const_0_0_GREEN_DOWN + p_affine_const_3_0_GREEN_DOWN;
+       const real_t jac_affine_1_0_GREEN_DOWN = -p_affine_const_0_1_GREEN_DOWN + p_affine_const_1_1_GREEN_DOWN;
+       const real_t jac_affine_1_1_GREEN_DOWN = -p_affine_const_0_1_GREEN_DOWN + p_affine_const_2_1_GREEN_DOWN;
+       const real_t jac_affine_1_2_GREEN_DOWN = -p_affine_const_0_1_GREEN_DOWN + p_affine_const_3_1_GREEN_DOWN;
+       const real_t jac_affine_2_0_GREEN_DOWN = -p_affine_const_0_2_GREEN_DOWN + p_affine_const_1_2_GREEN_DOWN;
+       const real_t jac_affine_2_1_GREEN_DOWN = -p_affine_const_0_2_GREEN_DOWN + p_affine_const_2_2_GREEN_DOWN;
+       const real_t jac_affine_2_2_GREEN_DOWN = -p_affine_const_0_2_GREEN_DOWN + p_affine_const_3_2_GREEN_DOWN;
+       const real_t abs_det_jac_affine_GREEN_DOWN = abs(jac_affine_0_0_GREEN_DOWN*jac_affine_1_1_GREEN_DOWN*jac_affine_2_2_GREEN_DOWN - jac_affine_0_0_GREEN_DOWN*jac_affine_1_2_GREEN_DOWN*jac_affine_2_1_GREEN_DOWN - jac_affine_0_1_GREEN_DOWN*jac_affine_1_0_GREEN_DOWN*jac_affine_2_2_GREEN_DOWN + jac_affine_0_1_GREEN_DOWN*jac_affine_1_2_GREEN_DOWN*jac_affine_2_0_GREEN_DOWN + jac_affine_0_2_GREEN_DOWN*jac_affine_1_0_GREEN_DOWN*jac_affine_2_1_GREEN_DOWN - jac_affine_0_2_GREEN_DOWN*jac_affine_1_1_GREEN_DOWN*jac_affine_2_0_GREEN_DOWN);
+       {
+          /* CellType.GREEN_DOWN */
+          const real_t _data_phi_psi_jac_affine_det_0_0_GREEN_DOWN [] = {((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.010749089276961213)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0013747922567553051)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.01396287204173041)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.008164600589399525)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.012151214443257608)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.019083835042434261)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.072053489056043002)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0046416810200408439)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.017525267423213611)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.027523941260433657)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.044193869792483409)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0056523290877285)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0574070354280087)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.033567987580949914)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.049958575567593019)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.078461393265588306)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.29624114484395714)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.019083835042434251)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.072053489056042974)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.11316209633188964)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.02813947970791995)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0035989968838093011)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.036552673846023863)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.021373681684931475)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.031810029988819218)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.18862506775555832)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.012151214443257601)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.045878482755592566)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.07205348905604296)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0074529241534464254)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.00095321772406372263)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0096812133204938391)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0056609585582659784)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0084250932599439499)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.013231853551815916)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0032183281481346165)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.012151214443257603)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.019083835042434251)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-2.9012262911449775e-5)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.00014612615736184792)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.00047804109319682082)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0032416491456343029)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0021116678219306132)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.00052791366753715454)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*7.0977528354966774e-5)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*9.9895812682163066e-5)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*1.3430904167093961e-5)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*3.3577051293550935e-6)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.00015331944058422371)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.00077222451657154147)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0025262763269762738)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.017130957178208683)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.011159409734644826)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0027898350580443485)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.00037509087018302439)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.00052791366753715541)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*7.0977528354966354e-5)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*1.7744271574084403e-5)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.00061328158194601311)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0030889173045236238)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.010105168244399365)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.068524255492113287)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.044637916950180538)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0015003728252777238)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0021116678219306167)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.000283911881665389)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*7.0977528354965283e-5)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0045614398903685138)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.022974618879299673)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.075159794270401023)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.50966681808331993)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.33200601647520916)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.083000987173061064)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.015706073884687172)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0021116678219306002)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.00052791366753714337)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.02118185416019976)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.040792474062018545)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.049791196691139579)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.035867609546541376)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.059688031245203839)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.021562946853404222)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.071405876738584673)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.080243884747120436)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.26572828761452333)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.095997217930328324)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.005691937733975882)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.010961657115556597)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.013379772569609637)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.009638259175114022)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.016039226535213912)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0057943440608341223)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.019188018251946451)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.021562946853404225)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0714058767385847)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.025796145274243024)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.015755757300754607)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.03034277906728966)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.037036323866953338)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.026679503441931235)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.044397913749511943)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.053114031247306501)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.059688031245203839)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.19765740883375349)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0714058767385847)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0047578795027626341)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0091628275191950465)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.011184125448277639)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0080566017962316674)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.013407157762204741)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0048434807489961713)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.018024424659562992)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.059688031245203853)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.021562946853404232)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.00015688175714697789)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0014950153325289843)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0012666972383742025)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0015490159490981592)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0062931924029516256)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0020445450956193246)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0056480276621754888)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.00013641635559728395)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.00037684830314454006)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0001224312400849633)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.002351271046368435)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.022406596720860313)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.018984670973016902)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.023215932927530856)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.094319450236798913)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.030642694050274453)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.084650020197820364)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0020445450956193168)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0056480276621755114)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0018349426677638542)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0072373072709378001)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.068968409922504109)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.058435584226493004)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.071459579463428277)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.29031907828914638)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.26055618198886238)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0062931924029516022)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.017384857321768536)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0056480276621755391)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0026198528001873307)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.024966064738678271)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.021153258143552994)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.025867850064795264)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.10509340307518385)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.034142957672569287)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0022780900577755898)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0062931924029516507)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0020445450956193428)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0016747236096797923)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.022395383667253931)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0010823709889014185)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0036990864559166563)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.00050834301173610229)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.015588264867481133)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0037476086033569342)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.00081420248681843786)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.00019574418772167287)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0060024671806827717)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.032063320402672957)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.42876947450525699)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.020722468836717273)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.070820637834037012)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.009732450635762396)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.29844418988237825)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.071749615697017544)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.015588264867481126)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0037476086033569277)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.1149198753205366)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0010456048186450997)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.013982439217157605)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.00067577259615595462)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0023095050434207478)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.00031738126788423253)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0023397995892677865)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.00050834301173610208)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.00012221184720903605)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0037476086033569355)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0043492174836919605)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.058160280082415236)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0028108917803285017)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0096064397699850354)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0013201547416997409)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.040482354049473784)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0021144645423690485)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.00050834301173610142)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.015588264867481138)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0068956855714663416)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.010091290281029655)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0080216243244021178)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0035198334831929206)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.018978279386089755)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.056811998632973766)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.01396686284573566)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.015485631440181358)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0038070424489360009)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.01139648574059631)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.025298140458325055)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.037021827096001436)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.029428861968758362)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.012913181862031289)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.069625445155635055)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.20842567519062763)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.051240105769272605)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.056811998632973738)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.013966862845735664)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.041810186095187066)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0084509467915105906)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.012367292031926986)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0098308311254096271)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0043137009617327136)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.023258663351751644)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.017116965895609845)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.018978279386089748)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0046656873831529451)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.01396686284573564)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.034375305526338835)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.050305540032273111)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.039988161309129681)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.017546529657219402)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.094607584046545581)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.28321039153111127)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.077196575526473174)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.018978279386089758)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.056811998632973676)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.036989007988906066)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.024350339729610097)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.022721604194642659)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0020718315986862396)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.053354679030800815)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.058170268354931241)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0093518161026560475)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.22863973450271471)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.036757553494219546)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.040075149727639509)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0094107024991835538)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0061951865002202629)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.005780805406949952)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.00052711310369534133)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.013574438423676774)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.014799615333023134)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0023792787088414437)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.058170268354931248)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.009351816102656051)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.010195875266786407)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0086316433720857837)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0056823218562164577)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0053022450428696702)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.00048347637471763576)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.012450687019346486)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0021823116073744556)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.053354679030800829)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0085776318491057792)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0093518161026560475)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.053690642094179834)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.035345240285608669)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.032981082352521167)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0030073250106582576)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.077445898974953548)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.084435869696849797)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.3318773554937019)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.053354679030800836)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.058170268354931241)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.2830869924348563)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.050308558644386672)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.041516821634179475)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.06274193203760102)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.020160825588817252)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.025383152182066201)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.015152528090816651)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.23919668259056145)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.14278898169094956)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.17977609281010931)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.030040718507945225)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0053386601615906274)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0044056957238823311)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0066580689659201985)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.002139433116273644)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0026936176861649991)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0016079609562587173)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.025383152182066195)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.015152528090816651)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.019077538505445499)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.023860144794362503)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0042402848796628178)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0034992684300787832)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0052882386796338152)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0016992664113091131)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0012771392678196903)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.020160825588817249)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.012035048833865587)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.01515252809081665)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.039969943152159265)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0071032236832497221)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0058618906729116316)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0088587307923610938)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0028465703978647464)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0035839271208240476)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.033772932211040815)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.020160825588817245)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.025383152182066191)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.014935575584147695)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.007791142568055953)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0073254854313094774)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.015186461110532538)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.090150328303510344)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.012455650259246793)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.015731589118882311)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.029517331411893867)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.037280633286332542)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0051508911658584714)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0063024771210085937)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0032876870064389215)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0030911901634452068)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0064083451728372039)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.038041411821271319)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0052560043865672946)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0066383769370158769)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.012455650259246798)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.015731589118882314)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0021735602717637636)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.045615473279886819)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.023795310306631609)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.022373124026687209)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.046381715060167777)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.27533253531028662)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.048046617223388682)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.090150328303510385)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.11386060898348732)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.015731589118882311)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.036116528170846006)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.018840185867421855)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.017714155002223078)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.036723208116341576)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.21799741519439725)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.030119685775736597)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.07137746553252089)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.090150328303510371)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.012455650259246793)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.032896921427909828)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.020934012679446525)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.020127575524041673)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.033499901528319088)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0098838942808698073)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.075244795478138254)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.040011251730840761)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.067458477890573201)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.035870894765649017)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.27308043404340754)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.036694010925042916)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.023350297128803515)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.022450777887903339)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.037366589313281677)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.011024731463671476)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.083929839859876898)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.044629504659074608)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.075244795478138254)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.040011251730840761)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.30460043053460045)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0048199974818136015)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0030672137093527801)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0029490559946009505)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0049083450365209726)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0014481703295155801)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.005862376301973493)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0098838942808698056)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0052557386811928905)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.040011251730840761)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.009064443351184925)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.005768174157623188)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0055459678357496689)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.009230588957667556)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0027234159279729726)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.020733009548559916)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.018587561536304909)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0098838942808698056)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.075244795478138254)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.012773605317404142)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0093099638314587951)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.055932196812816262)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0011391519589580709)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0035913578872906952)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.00039530708258920854)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.034759025419540214)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.00061078662356131824)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.053705963564394235)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0059115099192464755)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0082672024196058687)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.0060254997396084128)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.036199865373541695)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.00073727030054430856)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0023243619853375876)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.00025584661404999347)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.022496381554864123)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.00039530708258920833)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.034759025419540221)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0038259870955407193)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.075107388466231287)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.054741559075980606)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.32887513974352289)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.006698087703317224)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.02111678772433076)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.20437923045390871)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0035913578872906935)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.31578513412249021)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.034759025419540214)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.00085418052598187596)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.00062256423341908954)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0037402277670030831)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-7.6175942132039452e-5)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.00024015678369014598)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*2.6434479799555231e-5)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*4.0843757608938361e-5)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0035913578872906957)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.00039530708258920849))};
+      
+          for (int64_t ctr_2 = 0; ctr_2 < micro_edges_per_macro_edge; ctr_2 += 1)
+          for (int64_t ctr_1 = 0; ctr_1 < -ctr_2 + micro_edges_per_macro_edge; ctr_1 += 1)
+          for (int64_t ctr_0 = 0; ctr_0 < -ctr_1 - ctr_2 + micro_edges_per_macro_edge - 1; ctr_0 += 1)
+          {
+         
+             const int64_t phantom_ctr_0 = ctr_0;
+             real_t _data_float_loop_ctr_array_dim_0[4];
+             _data_float_loop_ctr_array_dim_0[0] = (real_t) ctr_0+ 0;
+             _data_float_loop_ctr_array_dim_0[1] = (real_t) ctr_0+ 1;
+             _data_float_loop_ctr_array_dim_0[2] = (real_t) ctr_0+ 2;
+             _data_float_loop_ctr_array_dim_0[3] = (real_t) ctr_0+ 3;
+             real_t _data_float_loop_ctr_array_dim_1[4];
+             _data_float_loop_ctr_array_dim_1[0] = (real_t) ctr_1;
+             _data_float_loop_ctr_array_dim_1[1] = (real_t) ctr_1;
+             _data_float_loop_ctr_array_dim_1[2] = (real_t) ctr_1;
+             _data_float_loop_ctr_array_dim_1[3] = (real_t) ctr_1;
+             real_t _data_float_loop_ctr_array_dim_2[4];
+             _data_float_loop_ctr_array_dim_2[0] = (real_t) ctr_2;
+             _data_float_loop_ctr_array_dim_2[1] = (real_t) ctr_2;
+             _data_float_loop_ctr_array_dim_2[2] = (real_t) ctr_2;
+             _data_float_loop_ctr_array_dim_2[3] = (real_t) ctr_2;
+         
+             const real_t p_affine_0_0 = macro_vertex_coord_id_0comp0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0)*1.0*_data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0)*(1.0 + _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0)*1.0*_data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0];
+             const real_t p_affine_0_1 = macro_vertex_coord_id_0comp1 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1)*1.0*_data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1)*(1.0 + _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1)*1.0*_data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0];
+             const real_t p_affine_0_2 = macro_vertex_coord_id_0comp2 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2)*1.0*_data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2)*(1.0 + _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2)*1.0*_data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0];
+             const real_t p_affine_1_0 = macro_vertex_coord_id_0comp0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0)*(1.0 + _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0)*(1.0 + _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0)*1.0*_data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0];
+             const real_t p_affine_1_1 = macro_vertex_coord_id_0comp1 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1)*(1.0 + _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1)*(1.0 + _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1)*1.0*_data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0];
+             const real_t p_affine_1_2 = macro_vertex_coord_id_0comp2 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2)*(1.0 + _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2)*(1.0 + _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2)*1.0*_data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0];
+             const real_t p_affine_2_0 = macro_vertex_coord_id_0comp0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0)*(1.0 + _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0)*1.0*_data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0)*(1.0 + _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0])*1.0;
+             const real_t p_affine_2_1 = macro_vertex_coord_id_0comp1 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1)*(1.0 + _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1)*1.0*_data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1)*(1.0 + _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0])*1.0;
+             const real_t p_affine_2_2 = macro_vertex_coord_id_0comp2 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2)*(1.0 + _data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2)*1.0*_data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2)*(1.0 + _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0])*1.0;
+             const real_t p_affine_3_0 = macro_vertex_coord_id_0comp0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0)*1.0*_data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0)*(1.0 + _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0)*(1.0 + _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0])*1.0;
+             const real_t p_affine_3_1 = macro_vertex_coord_id_0comp1 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1)*1.0*_data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1)*(1.0 + _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1)*(1.0 + _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0])*1.0;
+             const real_t p_affine_3_2 = macro_vertex_coord_id_0comp2 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2)*1.0*_data_float_loop_ctr_array_dim_0[ctr_0 - phantom_ctr_0] + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2)*(1.0 + _data_float_loop_ctr_array_dim_1[ctr_0 - phantom_ctr_0])*1.0 + 1.0 / (micro_edges_per_macro_edge_float)*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2)*(1.0 + _data_float_loop_ctr_array_dim_2[ctr_0 - phantom_ctr_0])*1.0;
+             const real_t k_dof_0 = _data_kVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))];
+             const real_t k_dof_1 = _data_kVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1];
+             const real_t k_dof_2 = _data_kVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1];
+             const real_t k_dof_3 = _data_kVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))];
+             const real_t k_dof_4 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))];
+             const real_t k_dof_5 = _data_kEdge[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 5*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))];
+             const real_t k_dof_6 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1];
+             const real_t k_dof_7 = _data_kEdge[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))];
+             const real_t k_dof_8 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge - 1)*(micro_edges_per_macro_edge + 1)) / (6)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))];
+             const real_t k_dof_9 = _data_kEdge[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))];
+             real_t q_acc_0_0 = 0.0;
+             real_t q_acc_0_1 = 0.0;
+             real_t q_acc_0_2 = 0.0;
+             real_t q_acc_0_3 = 0.0;
+             real_t q_acc_0_4 = 0.0;
+             real_t q_acc_0_5 = 0.0;
+             real_t q_acc_0_6 = 0.0;
+             real_t q_acc_0_7 = 0.0;
+             real_t q_acc_0_8 = 0.0;
+             real_t q_acc_0_9 = 0.0;
+             real_t q_acc_1_0 = 0.0;
+             real_t q_acc_1_1 = 0.0;
+             real_t q_acc_1_2 = 0.0;
+             real_t q_acc_1_3 = 0.0;
+             real_t q_acc_1_4 = 0.0;
+             real_t q_acc_1_5 = 0.0;
+             real_t q_acc_1_6 = 0.0;
+             real_t q_acc_1_7 = 0.0;
+             real_t q_acc_1_8 = 0.0;
+             real_t q_acc_1_9 = 0.0;
+             real_t q_acc_2_0 = 0.0;
+             real_t q_acc_2_1 = 0.0;
+             real_t q_acc_2_2 = 0.0;
+             real_t q_acc_2_3 = 0.0;
+             real_t q_acc_2_4 = 0.0;
+             real_t q_acc_2_5 = 0.0;
+             real_t q_acc_2_6 = 0.0;
+             real_t q_acc_2_7 = 0.0;
+             real_t q_acc_2_8 = 0.0;
+             real_t q_acc_2_9 = 0.0;
+             real_t q_acc_3_0 = 0.0;
+             real_t q_acc_3_1 = 0.0;
+             real_t q_acc_3_2 = 0.0;
+             real_t q_acc_3_3 = 0.0;
+             real_t q_acc_3_4 = 0.0;
+             real_t q_acc_3_5 = 0.0;
+             real_t q_acc_3_6 = 0.0;
+             real_t q_acc_3_7 = 0.0;
+             real_t q_acc_3_8 = 0.0;
+             real_t q_acc_3_9 = 0.0;
+             for (int64_t q = 0; q < 11; q += 1)
+             {
+                const real_t tmp_qloop_0 = 4.0*_data_q_p_0[q];
+                const real_t tmp_qloop_1 = tmp_qloop_0*_data_q_p_1[q];
+                const real_t tmp_qloop_2 = tmp_qloop_0*_data_q_p_2[q];
+                const real_t tmp_qloop_3 = 4.0*_data_q_p_1[q]*_data_q_p_2[q];
+                const real_t tmp_qloop_4 = (_data_q_p_0[q]*_data_q_p_0[q]);
+                const real_t tmp_qloop_5 = tmp_qloop_4*2.0;
+                const real_t tmp_qloop_6 = (_data_q_p_1[q]*_data_q_p_1[q]);
+                const real_t tmp_qloop_7 = tmp_qloop_6*2.0;
+                const real_t tmp_qloop_8 = (_data_q_p_2[q]*_data_q_p_2[q]);
+                const real_t tmp_qloop_9 = tmp_qloop_8*2.0;
+                const real_t tmp_qloop_10 = tmp_qloop_1 + tmp_qloop_2;
+                const real_t tmp_qloop_11 = p_affine_0_0 + (-p_affine_0_0 + p_affine_1_0)*_data_q_p_0[q] + (-p_affine_0_0 + p_affine_2_0)*_data_q_p_1[q] + (-p_affine_0_0 + p_affine_3_0)*_data_q_p_2[q];
+                const real_t tmp_qloop_12 = p_affine_0_1 + (-p_affine_0_1 + p_affine_1_1)*_data_q_p_0[q] + (-p_affine_0_1 + p_affine_2_1)*_data_q_p_1[q] + (-p_affine_0_1 + p_affine_3_1)*_data_q_p_2[q];
+                const real_t tmp_qloop_13 = p_affine_0_2 + (-p_affine_0_2 + p_affine_1_2)*_data_q_p_0[q] + (-p_affine_0_2 + p_affine_2_2)*_data_q_p_1[q] + (-p_affine_0_2 + p_affine_3_2)*_data_q_p_2[q];
+                const real_t tmp_qloop_14 = (tmp_qloop_11*tmp_qloop_11);
+                const real_t tmp_qloop_15 = (tmp_qloop_12*tmp_qloop_12);
+                const real_t tmp_qloop_16 = (tmp_qloop_13*tmp_qloop_13);
+                const real_t tmp_qloop_17 = tmp_qloop_14 + tmp_qloop_15 + tmp_qloop_16;
+                const real_t tmp_qloop_18 = pow(tmp_qloop_17, -4.5000000000000000);
+                const real_t tmp_qloop_39 = -tmp_qloop_13 - tmp_qloop_31;
+                const real_t tmp_qloop_40 = -tmp_qloop_11 - tmp_qloop_20;
+                const real_t tmp_qloop_41 = -tmp_qloop_12 - tmp_qloop_27;
+                const real_t tmp_qloop_42 = radRayVertex*tmp_qloop_35 - tmp_qloop_37*(tmp_qloop_21*tmp_qloop_22*tmp_qloop_41 + tmp_qloop_25*tmp_qloop_32*tmp_qloop_40 - tmp_qloop_26*tmp_qloop_39 + tmp_qloop_28*tmp_qloop_29*tmp_qloop_39 - tmp_qloop_33*tmp_qloop_40 - tmp_qloop_34*tmp_qloop_41);
+                const real_t tmp_qloop_43 = -tmp_qloop_42;
+                const real_t tmp_qloop_44 = tmp_qloop_13*tmp_qloop_43 + tmp_qloop_17*tmp_qloop_38;
+                const real_t tmp_qloop_46 = tmp_qloop_11*tmp_qloop_43 + tmp_qloop_17*tmp_qloop_45;
+                const real_t tmp_qloop_48 = -tmp_qloop_12*tmp_qloop_42 - tmp_qloop_17*tmp_qloop_37*tmp_qloop_47;
+                const real_t tmp_qloop_49 = tmp_qloop_15*tmp_qloop_43 + tmp_qloop_17*(-tmp_qloop_12*tmp_qloop_37*tmp_qloop_47 + tmp_qloop_42);
+                const real_t tmp_qloop_50 = tmp_qloop_18*tmp_qloop_36;
+                const real_t tmp_qloop_51 = tmp_qloop_11*tmp_qloop_46;
+                const real_t tmp_qloop_52 = tmp_qloop_13*tmp_qloop_44;
+                const real_t tmp_qloop_53 = tmp_qloop_16*tmp_qloop_43 + tmp_qloop_17*(tmp_qloop_13*tmp_qloop_38 + tmp_qloop_42);
+                const real_t tmp_qloop_54 = tmp_qloop_12*tmp_qloop_48*tmp_qloop_50*1.0;
+                const real_t tmp_qloop_55 = -tmp_qloop_14*tmp_qloop_42 + tmp_qloop_17*(tmp_qloop_11*tmp_qloop_45 + tmp_qloop_42);
+                const real_t tmp_qloop_56 = (k_dof_0*(tmp_qloop_10 + tmp_qloop_3 + tmp_qloop_5 + tmp_qloop_7 + tmp_qloop_9 - 3.0*_data_q_p_0[q] - 3.0*_data_q_p_1[q] - 3.0*_data_q_p_2[q] + 1.0) + k_dof_1*(tmp_qloop_5 - _data_q_p_0[q]) + k_dof_2*(tmp_qloop_7 - _data_q_p_1[q]) + k_dof_3*(tmp_qloop_9 - _data_q_p_2[q]) + k_dof_4*tmp_qloop_3 + k_dof_5*tmp_qloop_2 + k_dof_6*tmp_qloop_1 + k_dof_7*(-tmp_qloop_2 - tmp_qloop_3 + tmp_qloop_8*-4.0 + 4.0*_data_q_p_2[q]) + k_dof_8*(-tmp_qloop_1 - tmp_qloop_3 + tmp_qloop_6*-4.0 + 4.0*_data_q_p_1[q]) + k_dof_9*(-tmp_qloop_10 + tmp_qloop_4*-4.0 + 4.0*_data_q_p_0[q]))*abs(tmp_qloop_11*tmp_qloop_12*tmp_qloop_13*tmp_qloop_18*tmp_qloop_36*tmp_qloop_44*tmp_qloop_46*tmp_qloop_48*-2.0 - tmp_qloop_18*tmp_qloop_36*tmp_qloop_49*tmp_qloop_53*tmp_qloop_55 + tmp_qloop_49*tmp_qloop_50*tmp_qloop_51*tmp_qloop_52*1.0 + tmp_qloop_51*tmp_qloop_53*tmp_qloop_54 + tmp_qloop_52*tmp_qloop_54*tmp_qloop_55)*_data_q_w[q];
+                const real_t tmp_qloop_57 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 14];
+                const real_t q_tmp_0_0 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q];
+                const real_t q_tmp_0_1 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 1];
+                const real_t q_tmp_0_2 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 2];
+                const real_t q_tmp_0_3 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 3];
+                const real_t q_tmp_0_4 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 4];
+                const real_t q_tmp_0_5 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 5];
+                const real_t q_tmp_0_6 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 6];
+                const real_t q_tmp_0_7 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 7];
+                const real_t q_tmp_0_8 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 8];
+                const real_t q_tmp_0_9 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 9];
+                const real_t q_tmp_1_0 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 10];
+                const real_t q_tmp_1_1 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 11];
+                const real_t q_tmp_1_2 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 12];
+                const real_t q_tmp_1_3 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 13];
+                const real_t q_tmp_1_4 = tmp_qloop_57;
+                const real_t q_tmp_1_5 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 15];
+                const real_t q_tmp_1_6 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 16];
+                const real_t q_tmp_1_7 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 17];
+                const real_t q_tmp_1_8 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 18];
+                const real_t q_tmp_1_9 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 19];
+                const real_t q_tmp_2_0 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 20];
+                const real_t q_tmp_2_1 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 21];
+                const real_t q_tmp_2_2 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 22];
+                const real_t q_tmp_2_3 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 23];
+                const real_t q_tmp_2_4 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 24];
+                const real_t q_tmp_2_5 = tmp_qloop_57;
+                const real_t q_tmp_2_6 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 25];
+                const real_t q_tmp_2_7 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 26];
+                const real_t q_tmp_2_8 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 27];
+                const real_t q_tmp_2_9 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 28];
+                const real_t q_tmp_3_0 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 29];
+                const real_t q_tmp_3_1 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 30];
+                const real_t q_tmp_3_2 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 31];
+                const real_t q_tmp_3_3 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 32];
+                const real_t q_tmp_3_4 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 33];
+                const real_t q_tmp_3_5 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 34];
+                const real_t q_tmp_3_6 = tmp_qloop_57;
+                const real_t q_tmp_3_7 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 35];
+                const real_t q_tmp_3_8 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 36];
+                const real_t q_tmp_3_9 = tmp_qloop_56*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 37];
+                q_acc_0_0 = q_acc_0_0 + q_tmp_0_0;
+                q_acc_0_1 = q_acc_0_1 + q_tmp_0_1;
+                q_acc_0_2 = q_acc_0_2 + q_tmp_0_2;
+                q_acc_0_3 = q_acc_0_3 + q_tmp_0_3;
+                q_acc_0_4 = q_acc_0_4 + q_tmp_0_4;
+                q_acc_0_5 = q_acc_0_5 + q_tmp_0_5;
+                q_acc_0_6 = q_acc_0_6 + q_tmp_0_6;
+                q_acc_0_7 = q_acc_0_7 + q_tmp_0_7;
+                q_acc_0_8 = q_acc_0_8 + q_tmp_0_8;
+                q_acc_0_9 = q_acc_0_9 + q_tmp_0_9;
+                q_acc_1_0 = q_acc_1_0 + q_tmp_1_0;
+                q_acc_1_1 = q_acc_1_1 + q_tmp_1_1;
+                q_acc_1_2 = q_acc_1_2 + q_tmp_1_2;
+                q_acc_1_3 = q_acc_1_3 + q_tmp_1_3;
+                q_acc_1_4 = q_acc_1_4 + q_tmp_1_4;
+                q_acc_1_5 = q_acc_1_5 + q_tmp_1_5;
+                q_acc_1_6 = q_acc_1_6 + q_tmp_1_6;
+                q_acc_1_7 = q_acc_1_7 + q_tmp_1_7;
+                q_acc_1_8 = q_acc_1_8 + q_tmp_1_8;
+                q_acc_1_9 = q_acc_1_9 + q_tmp_1_9;
+                q_acc_2_0 = q_acc_2_0 + q_tmp_2_0;
+                q_acc_2_1 = q_acc_2_1 + q_tmp_2_1;
+                q_acc_2_2 = q_acc_2_2 + q_tmp_2_2;
+                q_acc_2_3 = q_acc_2_3 + q_tmp_2_3;
+                q_acc_2_4 = q_acc_2_4 + q_tmp_2_4;
+                q_acc_2_5 = q_acc_2_5 + q_tmp_2_5;
+                q_acc_2_6 = q_acc_2_6 + q_tmp_2_6;
+                q_acc_2_7 = q_acc_2_7 + q_tmp_2_7;
+                q_acc_2_8 = q_acc_2_8 + q_tmp_2_8;
+                q_acc_2_9 = q_acc_2_9 + q_tmp_2_9;
+                q_acc_3_0 = q_acc_3_0 + q_tmp_3_0;
+                q_acc_3_1 = q_acc_3_1 + q_tmp_3_1;
+                q_acc_3_2 = q_acc_3_2 + q_tmp_3_2;
+                q_acc_3_3 = q_acc_3_3 + q_tmp_3_3;
+                q_acc_3_4 = q_acc_3_4 + q_tmp_3_4;
+                q_acc_3_5 = q_acc_3_5 + q_tmp_3_5;
+                q_acc_3_6 = q_acc_3_6 + q_tmp_3_6;
+                q_acc_3_7 = q_acc_3_7 + q_tmp_3_7;
+                q_acc_3_8 = q_acc_3_8 + q_tmp_3_8;
+                q_acc_3_9 = q_acc_3_9 + q_tmp_3_9;
+             }
+             const real_t elMat_0_0 = q_acc_0_0;
+             const real_t elMat_0_1 = q_acc_0_1;
+             const real_t elMat_0_2 = q_acc_0_2;
+             const real_t elMat_0_3 = q_acc_0_3;
+             const real_t elMat_0_4 = q_acc_0_4;
+             const real_t elMat_0_5 = q_acc_0_5;
+             const real_t elMat_0_6 = q_acc_0_6;
+             const real_t elMat_0_7 = q_acc_0_7;
+             const real_t elMat_0_8 = q_acc_0_8;
+             const real_t elMat_0_9 = q_acc_0_9;
+             const real_t elMat_1_0 = q_acc_1_0;
+             const real_t elMat_1_1 = q_acc_1_1;
+             const real_t elMat_1_2 = q_acc_1_2;
+             const real_t elMat_1_3 = q_acc_1_3;
+             const real_t elMat_1_4 = q_acc_1_4;
+             const real_t elMat_1_5 = q_acc_1_5;
+             const real_t elMat_1_6 = q_acc_1_6;
+             const real_t elMat_1_7 = q_acc_1_7;
+             const real_t elMat_1_8 = q_acc_1_8;
+             const real_t elMat_1_9 = q_acc_1_9;
+             const real_t elMat_2_0 = q_acc_2_0;
+             const real_t elMat_2_1 = q_acc_2_1;
+             const real_t elMat_2_2 = q_acc_2_2;
+             const real_t elMat_2_3 = q_acc_2_3;
+             const real_t elMat_2_4 = q_acc_2_4;
+             const real_t elMat_2_5 = q_acc_2_5;
+             const real_t elMat_2_6 = q_acc_2_6;
+             const real_t elMat_2_7 = q_acc_2_7;
+             const real_t elMat_2_8 = q_acc_2_8;
+             const real_t elMat_2_9 = q_acc_2_9;
+             const real_t elMat_3_0 = q_acc_3_0;
+             const real_t elMat_3_1 = q_acc_3_1;
+             const real_t elMat_3_2 = q_acc_3_2;
+             const real_t elMat_3_3 = q_acc_3_3;
+             const real_t elMat_3_4 = q_acc_3_4;
+             const real_t elMat_3_5 = q_acc_3_5;
+             const real_t elMat_3_6 = q_acc_3_6;
+             const real_t elMat_3_7 = q_acc_3_7;
+             const real_t elMat_3_8 = q_acc_3_8;
+             const real_t elMat_3_9 = q_acc_3_9;
+         
+             std::vector< uint_t > _data_rowIdx( 4 );
+             std::vector< uint_t > _data_colIdx( 10 );
+             std::vector< real_t > _data_mat( 40 );
+         
+             _data_rowIdx[0] = ((uint64_t)(_data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]));
+             _data_rowIdx[1] = ((uint64_t)(_data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]));
+             _data_rowIdx[2] = ((uint64_t)(_data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]));
+             _data_rowIdx[3] = ((uint64_t)(_data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]));
+             _data_colIdx[0] = ((uint64_t)(_data_srcVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]));
+             _data_colIdx[1] = ((uint64_t)(_data_srcVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]));
+             _data_colIdx[2] = ((uint64_t)(_data_srcVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]));
+             _data_colIdx[3] = ((uint64_t)(_data_srcVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]));
+             _data_colIdx[4] = ((uint64_t)(_data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]));
+             _data_colIdx[5] = ((uint64_t)(_data_srcEdge[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 5*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]));
+             _data_colIdx[6] = ((uint64_t)(_data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1]));
+             _data_colIdx[7] = ((uint64_t)(_data_srcEdge[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]));
+             _data_colIdx[8] = ((uint64_t)(_data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge - 1)*(micro_edges_per_macro_edge + 1)) / (6)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]));
+             _data_colIdx[9] = ((uint64_t)(_data_srcEdge[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]));
+         
+             /* Apply basis transformation */
+         
+         
+         
+             _data_mat[0] = ((real_t)(elMat_0_0));
+             _data_mat[1] = ((real_t)(elMat_0_1));
+             _data_mat[2] = ((real_t)(elMat_0_2));
+             _data_mat[3] = ((real_t)(elMat_0_3));
+             _data_mat[4] = ((real_t)(elMat_0_4));
+             _data_mat[5] = ((real_t)(elMat_0_5));
+             _data_mat[6] = ((real_t)(elMat_0_6));
+             _data_mat[7] = ((real_t)(elMat_0_7));
+             _data_mat[8] = ((real_t)(elMat_0_8));
+             _data_mat[9] = ((real_t)(elMat_0_9));
+             _data_mat[10] = ((real_t)(elMat_1_0));
+             _data_mat[11] = ((real_t)(elMat_1_1));
+             _data_mat[12] = ((real_t)(elMat_1_2));
+             _data_mat[13] = ((real_t)(elMat_1_3));
+             _data_mat[14] = ((real_t)(elMat_1_4));
+             _data_mat[15] = ((real_t)(elMat_1_5));
+             _data_mat[16] = ((real_t)(elMat_1_6));
+             _data_mat[17] = ((real_t)(elMat_1_7));
+             _data_mat[18] = ((real_t)(elMat_1_8));
+             _data_mat[19] = ((real_t)(elMat_1_9));
+             _data_mat[20] = ((real_t)(elMat_2_0));
+             _data_mat[21] = ((real_t)(elMat_2_1));
+             _data_mat[22] = ((real_t)(elMat_2_2));
+             _data_mat[23] = ((real_t)(elMat_2_3));
+             _data_mat[24] = ((real_t)(elMat_2_4));
+             _data_mat[25] = ((real_t)(elMat_2_5));
+             _data_mat[26] = ((real_t)(elMat_2_6));
+             _data_mat[27] = ((real_t)(elMat_2_7));
+             _data_mat[28] = ((real_t)(elMat_2_8));
+             _data_mat[29] = ((real_t)(elMat_2_9));
+             _data_mat[30] = ((real_t)(elMat_3_0));
+             _data_mat[31] = ((real_t)(elMat_3_1));
+             _data_mat[32] = ((real_t)(elMat_3_2));
+             _data_mat[33] = ((real_t)(elMat_3_3));
+             _data_mat[34] = ((real_t)(elMat_3_4));
+             _data_mat[35] = ((real_t)(elMat_3_5));
+             _data_mat[36] = ((real_t)(elMat_3_6));
+             _data_mat[37] = ((real_t)(elMat_3_7));
+             _data_mat[38] = ((real_t)(elMat_3_8));
+             _data_mat[39] = ((real_t)(elMat_3_9));
+         
+         
+             mat->addValues( _data_rowIdx, _data_colIdx, _data_mat );
+          }
+       }
+    }
+}
+} // namespace operatorgeneration
+
+} // namespace hyteg
diff --git a/operators/k_mass/noarch/P2ToP1ElementwiseKMass_apply_macro_2D.cpp b/operators/k_mass/noarch/P2ToP1ElementwiseKMass_apply_macro_2D.cpp
new file mode 100644
index 0000000000000000000000000000000000000000..2d6ad1e5edf9fe6fce47798cd4d8f8e5227fe976
--- /dev/null
+++ b/operators/k_mass/noarch/P2ToP1ElementwiseKMass_apply_macro_2D.cpp
@@ -0,0 +1,280 @@
+/*
+* Copyright (c) 2017-2024 Nils Kohl, Daniel Bauer, Fabian Böhm.
+*
+* This file is part of HyTeG
+* (see https://i10git.cs.fau.de/hyteg/hyteg).
+*
+* This program is free software: you can redistribute it and/or modify
+* it under the terms of the GNU General Public License as published by
+* the Free Software Foundation, either version 3 of the License, or
+* (at your option) any later version.
+*
+* This program is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+* GNU General Public License for more details.
+*
+* You should have received a copy of the GNU General Public License
+* along with this program. If not, see <http://www.gnu.org/licenses/>.
+*/
+
+/*
+* The entire file was generated with the HyTeG form generator.
+*
+* Avoid modifying this file. If buggy, consider fixing the generator itself.
+*/
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+#include "../P2ToP1ElementwiseKMass.hpp"
+
+#define FUNC_PREFIX  
+
+namespace hyteg {
+
+namespace operatorgeneration {
+
+void P2ToP1ElementwiseKMass::apply_macro_2D( real_t * RESTRICT  _data_dst, real_t * RESTRICT  _data_kEdge, real_t * RESTRICT  _data_kVertex, real_t * RESTRICT  _data_srcEdge, real_t * RESTRICT  _data_srcVertex, real_t macro_vertex_coord_id_0comp0, real_t macro_vertex_coord_id_0comp1, real_t macro_vertex_coord_id_1comp0, real_t macro_vertex_coord_id_1comp1, real_t macro_vertex_coord_id_2comp0, real_t macro_vertex_coord_id_2comp1, int64_t micro_edges_per_macro_edge, real_t micro_edges_per_macro_edge_float ) const
+{
+    {
+       const real_t _data_q_w [] = {-0.28125, 0.26041666666666669, 0.26041666666666669, 0.26041666666666669};
+   
+       const real_t _data_q_p_0 [] = {0.33333333333333331, 0.20000000000000001, 0.59999999999999998, 0.20000000000000001};
+   
+       const real_t _data_q_p_1 [] = {0.33333333333333331, 0.59999999999999998, 0.20000000000000001, 0.20000000000000001};
+   
+       const real_t tmp_coords_jac_0_GRAY = 1.0 / (micro_edges_per_macro_edge_float)*1.0;
+       const real_t p_affine_const_0_0_GRAY = macro_vertex_coord_id_0comp0;
+       const real_t p_affine_const_0_1_GRAY = macro_vertex_coord_id_0comp1;
+       const real_t p_affine_const_1_0_GRAY = macro_vertex_coord_id_0comp0 + tmp_coords_jac_0_GRAY*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0);
+       const real_t p_affine_const_1_1_GRAY = macro_vertex_coord_id_0comp1 + tmp_coords_jac_0_GRAY*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1);
+       const real_t p_affine_const_2_0_GRAY = macro_vertex_coord_id_0comp0 + tmp_coords_jac_0_GRAY*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0);
+       const real_t p_affine_const_2_1_GRAY = macro_vertex_coord_id_0comp1 + tmp_coords_jac_0_GRAY*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1);
+       const real_t jac_affine_0_0_GRAY = -p_affine_const_0_0_GRAY + p_affine_const_1_0_GRAY;
+       const real_t jac_affine_0_1_GRAY = -p_affine_const_0_0_GRAY + p_affine_const_2_0_GRAY;
+       const real_t jac_affine_1_0_GRAY = -p_affine_const_0_1_GRAY + p_affine_const_1_1_GRAY;
+       const real_t jac_affine_1_1_GRAY = -p_affine_const_0_1_GRAY + p_affine_const_2_1_GRAY;
+       const real_t abs_det_jac_affine_GRAY = abs(jac_affine_0_0_GRAY*jac_affine_1_1_GRAY - jac_affine_0_1_GRAY*jac_affine_1_0_GRAY);
+       {
+          /* FaceType.GRAY */
+          const real_t _data_phi_psi_jac_affine_det_0_0_GRAY [] = {((real_t)(abs_det_jac_affine_GRAY*-0.037037037037037063)), ((real_t)(abs_det_jac_affine_GRAY*-0.037037037037037042)), ((real_t)(abs_det_jac_affine_GRAY*-0.037037037037037042)), ((real_t)(abs_det_jac_affine_GRAY*0.14814814814814817)), ((real_t)(abs_det_jac_affine_GRAY*0.14814814814814817)), ((real_t)(abs_det_jac_affine_GRAY*0.14814814814814817)), ((real_t)(abs_det_jac_affine_GRAY*-0.037037037037037049)), ((real_t)(abs_det_jac_affine_GRAY*-0.037037037037037035)), ((real_t)(abs_det_jac_affine_GRAY*-0.037037037037037035)), ((real_t)(abs_det_jac_affine_GRAY*0.14814814814814814)), ((real_t)(abs_det_jac_affine_GRAY*0.14814814814814814)), ((real_t)(abs_det_jac_affine_GRAY*0.14814814814814814)), ((real_t)(abs_det_jac_affine_GRAY*-0.037037037037037049)), ((real_t)(abs_det_jac_affine_GRAY*-0.037037037037037035)), ((real_t)(abs_det_jac_affine_GRAY*-0.037037037037037035)), ((real_t)(abs_det_jac_affine_GRAY*0.14814814814814814)), ((real_t)(abs_det_jac_affine_GRAY*0.14814814814814814)), ((real_t)(abs_det_jac_affine_GRAY*0.14814814814814814)), ((real_t)(abs_det_jac_affine_GRAY*-0.023999999999999987)), ((real_t)(abs_det_jac_affine_GRAY*-0.024000000000000007)), ((real_t)(abs_det_jac_affine_GRAY*0.024000000000000007)), ((real_t)(abs_det_jac_affine_GRAY*0.09600000000000003)), ((real_t)(abs_det_jac_affine_GRAY*0.09600000000000003)), ((real_t)(abs_det_jac_affine_GRAY*0.032000000000000015)), ((real_t)(abs_det_jac_affine_GRAY*-0.02399999999999998)), ((real_t)(abs_det_jac_affine_GRAY*-0.024)), ((real_t)(abs_det_jac_affine_GRAY*0.024)), ((real_t)(abs_det_jac_affine_GRAY*0.096000000000000016)), ((real_t)(abs_det_jac_affine_GRAY*0.096000000000000002)), ((real_t)(abs_det_jac_affine_GRAY*0.032000000000000008)), ((real_t)(abs_det_jac_affine_GRAY*-0.071999999999999925)), ((real_t)(abs_det_jac_affine_GRAY*-0.071999999999999995)), ((real_t)(abs_det_jac_affine_GRAY*0.071999999999999995)), ((real_t)(abs_det_jac_affine_GRAY*0.28799999999999998)), ((real_t)(abs_det_jac_affine_GRAY*0.28799999999999998)), ((real_t)(abs_det_jac_affine_GRAY*0.096000000000000016)), ((real_t)(abs_det_jac_affine_GRAY*-0.02399999999999998)), ((real_t)(abs_det_jac_affine_GRAY*0.024)), ((real_t)(abs_det_jac_affine_GRAY*-0.024)), ((real_t)(abs_det_jac_affine_GRAY*0.096000000000000002)), ((real_t)(abs_det_jac_affine_GRAY*0.032000000000000008)), ((real_t)(abs_det_jac_affine_GRAY*0.096000000000000002)), ((real_t)(abs_det_jac_affine_GRAY*-0.071999999999999925)), ((real_t)(abs_det_jac_affine_GRAY*0.071999999999999995)), ((real_t)(abs_det_jac_affine_GRAY*-0.071999999999999995)), ((real_t)(abs_det_jac_affine_GRAY*0.28799999999999998)), ((real_t)(abs_det_jac_affine_GRAY*0.096000000000000016)), ((real_t)(abs_det_jac_affine_GRAY*0.28799999999999998)), ((real_t)(abs_det_jac_affine_GRAY*-0.02399999999999998)), ((real_t)(abs_det_jac_affine_GRAY*0.024)), ((real_t)(abs_det_jac_affine_GRAY*-0.024)), ((real_t)(abs_det_jac_affine_GRAY*0.096000000000000016)), ((real_t)(abs_det_jac_affine_GRAY*0.032000000000000008)), ((real_t)(abs_det_jac_affine_GRAY*0.096000000000000002)), ((real_t)(abs_det_jac_affine_GRAY*0.071999999999999939)), ((real_t)(abs_det_jac_affine_GRAY*-0.072000000000000008)), ((real_t)(abs_det_jac_affine_GRAY*-0.072000000000000008)), ((real_t)(abs_det_jac_affine_GRAY*0.09600000000000003)), ((real_t)(abs_det_jac_affine_GRAY*0.28800000000000003)), ((real_t)(abs_det_jac_affine_GRAY*0.28800000000000003)), ((real_t)(abs_det_jac_affine_GRAY*0.02399999999999998)), ((real_t)(abs_det_jac_affine_GRAY*-0.024)), ((real_t)(abs_det_jac_affine_GRAY*-0.024)), ((real_t)(abs_det_jac_affine_GRAY*0.032000000000000008)), ((real_t)(abs_det_jac_affine_GRAY*0.096000000000000002)), ((real_t)(abs_det_jac_affine_GRAY*0.096000000000000002)), ((real_t)(abs_det_jac_affine_GRAY*0.02399999999999998)), ((real_t)(abs_det_jac_affine_GRAY*-0.024)), ((real_t)(abs_det_jac_affine_GRAY*-0.024)), ((real_t)(abs_det_jac_affine_GRAY*0.032000000000000008)), ((real_t)(abs_det_jac_affine_GRAY*0.096000000000000002)), ((real_t)(abs_det_jac_affine_GRAY*0.096000000000000002))};
+      
+          for (int64_t ctr_1 = 0; ctr_1 < micro_edges_per_macro_edge; ctr_1 += 1)
+          for (int64_t ctr_0 = 0; ctr_0 < -ctr_1 + micro_edges_per_macro_edge; ctr_0 += 1)
+          {
+             const real_t src_dof_0 = _data_srcVertex[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2))];
+             const real_t src_dof_1 = _data_srcVertex[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + 1];
+             const real_t src_dof_2 = _data_srcVertex[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2))];
+             const real_t src_dof_3 = _data_srcEdge[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)) / (2))];
+             const real_t src_dof_4 = _data_srcEdge[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 2*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)) / (2))];
+             const real_t src_dof_5 = _data_srcEdge[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2))];
+             const real_t k_dof_0 = _data_kVertex[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2))];
+             const real_t k_dof_1 = _data_kVertex[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + 1];
+             const real_t k_dof_2 = _data_kVertex[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2))];
+             const real_t k_dof_3 = _data_kEdge[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)) / (2))];
+             const real_t k_dof_4 = _data_kEdge[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 2*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)) / (2))];
+             const real_t k_dof_5 = _data_kEdge[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2))];
+             real_t q_acc_0_0 = 0.0;
+             real_t q_acc_0_1 = 0.0;
+             real_t q_acc_0_2 = 0.0;
+             real_t q_acc_0_3 = 0.0;
+             real_t q_acc_0_4 = 0.0;
+             real_t q_acc_0_5 = 0.0;
+             real_t q_acc_1_0 = 0.0;
+             real_t q_acc_1_1 = 0.0;
+             real_t q_acc_1_2 = 0.0;
+             real_t q_acc_1_3 = 0.0;
+             real_t q_acc_1_4 = 0.0;
+             real_t q_acc_1_5 = 0.0;
+             real_t q_acc_2_0 = 0.0;
+             real_t q_acc_2_1 = 0.0;
+             real_t q_acc_2_2 = 0.0;
+             real_t q_acc_2_3 = 0.0;
+             real_t q_acc_2_4 = 0.0;
+             real_t q_acc_2_5 = 0.0;
+             for (int64_t q = 0; q < 4; q += 1)
+             {
+                const real_t tmp_qloop_0 = 4.0*_data_q_p_0[q]*_data_q_p_1[q];
+                const real_t tmp_qloop_1 = (_data_q_p_0[q]*_data_q_p_0[q]);
+                const real_t tmp_qloop_2 = tmp_qloop_1*2.0;
+                const real_t tmp_qloop_3 = (_data_q_p_1[q]*_data_q_p_1[q]);
+                const real_t tmp_qloop_4 = tmp_qloop_3*2.0;
+                const real_t tmp_qloop_5 = (k_dof_0*(tmp_qloop_0 + tmp_qloop_2 + tmp_qloop_4 - 3.0*_data_q_p_0[q] - 3.0*_data_q_p_1[q] + 1.0) + k_dof_1*(tmp_qloop_2 - _data_q_p_0[q]) + k_dof_2*(tmp_qloop_4 - _data_q_p_1[q]) + k_dof_3*tmp_qloop_0 + k_dof_4*(-tmp_qloop_0 + tmp_qloop_3*-4.0 + 4.0*_data_q_p_1[q]) + k_dof_5*(-tmp_qloop_0 + tmp_qloop_1*-4.0 + 4.0*_data_q_p_0[q]))*_data_q_w[q];
+                const real_t q_tmp_0_0 = tmp_qloop_5*_data_phi_psi_jac_affine_det_0_0_GRAY[18*q];
+                const real_t q_tmp_0_1 = tmp_qloop_5*_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 1];
+                const real_t q_tmp_0_2 = tmp_qloop_5*_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 2];
+                const real_t q_tmp_0_3 = tmp_qloop_5*_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 3];
+                const real_t q_tmp_0_4 = tmp_qloop_5*_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 4];
+                const real_t q_tmp_0_5 = tmp_qloop_5*_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 5];
+                const real_t q_tmp_1_0 = tmp_qloop_5*_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 6];
+                const real_t q_tmp_1_1 = tmp_qloop_5*_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 7];
+                const real_t q_tmp_1_2 = tmp_qloop_5*_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 8];
+                const real_t q_tmp_1_3 = tmp_qloop_5*_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 9];
+                const real_t q_tmp_1_4 = tmp_qloop_5*_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 10];
+                const real_t q_tmp_1_5 = tmp_qloop_5*_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 11];
+                const real_t q_tmp_2_0 = tmp_qloop_5*_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 12];
+                const real_t q_tmp_2_1 = tmp_qloop_5*_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 13];
+                const real_t q_tmp_2_2 = tmp_qloop_5*_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 14];
+                const real_t q_tmp_2_3 = tmp_qloop_5*_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 15];
+                const real_t q_tmp_2_4 = tmp_qloop_5*_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 16];
+                const real_t q_tmp_2_5 = tmp_qloop_5*_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 17];
+                q_acc_0_0 = q_acc_0_0 + q_tmp_0_0;
+                q_acc_0_1 = q_acc_0_1 + q_tmp_0_1;
+                q_acc_0_2 = q_acc_0_2 + q_tmp_0_2;
+                q_acc_0_3 = q_acc_0_3 + q_tmp_0_3;
+                q_acc_0_4 = q_acc_0_4 + q_tmp_0_4;
+                q_acc_0_5 = q_acc_0_5 + q_tmp_0_5;
+                q_acc_1_0 = q_acc_1_0 + q_tmp_1_0;
+                q_acc_1_1 = q_acc_1_1 + q_tmp_1_1;
+                q_acc_1_2 = q_acc_1_2 + q_tmp_1_2;
+                q_acc_1_3 = q_acc_1_3 + q_tmp_1_3;
+                q_acc_1_4 = q_acc_1_4 + q_tmp_1_4;
+                q_acc_1_5 = q_acc_1_5 + q_tmp_1_5;
+                q_acc_2_0 = q_acc_2_0 + q_tmp_2_0;
+                q_acc_2_1 = q_acc_2_1 + q_tmp_2_1;
+                q_acc_2_2 = q_acc_2_2 + q_tmp_2_2;
+                q_acc_2_3 = q_acc_2_3 + q_tmp_2_3;
+                q_acc_2_4 = q_acc_2_4 + q_tmp_2_4;
+                q_acc_2_5 = q_acc_2_5 + q_tmp_2_5;
+             }
+             const real_t elMatVec_0 = q_acc_0_0*src_dof_0 + q_acc_0_1*src_dof_1 + q_acc_0_2*src_dof_2 + q_acc_0_3*src_dof_3 + q_acc_0_4*src_dof_4 + q_acc_0_5*src_dof_5;
+             const real_t elMatVec_1 = q_acc_1_0*src_dof_0 + q_acc_1_1*src_dof_1 + q_acc_1_2*src_dof_2 + q_acc_1_3*src_dof_3 + q_acc_1_4*src_dof_4 + q_acc_1_5*src_dof_5;
+             const real_t elMatVec_2 = q_acc_2_0*src_dof_0 + q_acc_2_1*src_dof_1 + q_acc_2_2*src_dof_2 + q_acc_2_3*src_dof_3 + q_acc_2_4*src_dof_4 + q_acc_2_5*src_dof_5;
+             _data_dst[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2))] = elMatVec_0 + _data_dst[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2))];
+             _data_dst[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + 1] = elMatVec_1 + _data_dst[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + 1];
+             _data_dst[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2))] = elMatVec_2 + _data_dst[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2))];
+          }
+       }
+       const real_t tmp_coords_jac_0_BLUE = 1.0 / (micro_edges_per_macro_edge_float)*1.0;
+       const real_t tmp_coords_jac_1_BLUE = macro_vertex_coord_id_0comp0 + tmp_coords_jac_0_BLUE*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0);
+       const real_t tmp_coords_jac_2_BLUE = macro_vertex_coord_id_0comp1 + tmp_coords_jac_0_BLUE*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1);
+       const real_t tmp_coords_jac_3_BLUE = tmp_coords_jac_0_BLUE*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0);
+       const real_t tmp_coords_jac_4_BLUE = tmp_coords_jac_0_BLUE*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1);
+       const real_t p_affine_const_0_0_BLUE = tmp_coords_jac_1_BLUE;
+       const real_t p_affine_const_0_1_BLUE = tmp_coords_jac_2_BLUE;
+       const real_t p_affine_const_1_0_BLUE = macro_vertex_coord_id_0comp0 + tmp_coords_jac_3_BLUE;
+       const real_t p_affine_const_1_1_BLUE = macro_vertex_coord_id_0comp1 + tmp_coords_jac_4_BLUE;
+       const real_t p_affine_const_2_0_BLUE = tmp_coords_jac_1_BLUE + tmp_coords_jac_3_BLUE;
+       const real_t p_affine_const_2_1_BLUE = tmp_coords_jac_2_BLUE + tmp_coords_jac_4_BLUE;
+       const real_t jac_affine_0_0_BLUE = -p_affine_const_0_0_BLUE + p_affine_const_1_0_BLUE;
+       const real_t jac_affine_0_1_BLUE = -p_affine_const_0_0_BLUE + p_affine_const_2_0_BLUE;
+       const real_t jac_affine_1_0_BLUE = -p_affine_const_0_1_BLUE + p_affine_const_1_1_BLUE;
+       const real_t jac_affine_1_1_BLUE = -p_affine_const_0_1_BLUE + p_affine_const_2_1_BLUE;
+       const real_t abs_det_jac_affine_BLUE = abs(jac_affine_0_0_BLUE*jac_affine_1_1_BLUE - jac_affine_0_1_BLUE*jac_affine_1_0_BLUE);
+       {
+          /* FaceType.BLUE */
+          const real_t _data_phi_psi_jac_affine_det_0_0_BLUE [] = {((real_t)(abs_det_jac_affine_BLUE*-0.037037037037037063)), ((real_t)(abs_det_jac_affine_BLUE*-0.037037037037037042)), ((real_t)(abs_det_jac_affine_BLUE*-0.037037037037037042)), ((real_t)(abs_det_jac_affine_BLUE*0.14814814814814817)), ((real_t)(abs_det_jac_affine_BLUE*0.14814814814814817)), ((real_t)(abs_det_jac_affine_BLUE*0.14814814814814817)), ((real_t)(abs_det_jac_affine_BLUE*-0.037037037037037049)), ((real_t)(abs_det_jac_affine_BLUE*-0.037037037037037035)), ((real_t)(abs_det_jac_affine_BLUE*-0.037037037037037035)), ((real_t)(abs_det_jac_affine_BLUE*0.14814814814814814)), ((real_t)(abs_det_jac_affine_BLUE*0.14814814814814814)), ((real_t)(abs_det_jac_affine_BLUE*0.14814814814814814)), ((real_t)(abs_det_jac_affine_BLUE*-0.037037037037037049)), ((real_t)(abs_det_jac_affine_BLUE*-0.037037037037037035)), ((real_t)(abs_det_jac_affine_BLUE*-0.037037037037037035)), ((real_t)(abs_det_jac_affine_BLUE*0.14814814814814814)), ((real_t)(abs_det_jac_affine_BLUE*0.14814814814814814)), ((real_t)(abs_det_jac_affine_BLUE*0.14814814814814814)), ((real_t)(abs_det_jac_affine_BLUE*-0.023999999999999987)), ((real_t)(abs_det_jac_affine_BLUE*-0.024000000000000007)), ((real_t)(abs_det_jac_affine_BLUE*0.024000000000000007)), ((real_t)(abs_det_jac_affine_BLUE*0.09600000000000003)), ((real_t)(abs_det_jac_affine_BLUE*0.09600000000000003)), ((real_t)(abs_det_jac_affine_BLUE*0.032000000000000015)), ((real_t)(abs_det_jac_affine_BLUE*-0.02399999999999998)), ((real_t)(abs_det_jac_affine_BLUE*-0.024)), ((real_t)(abs_det_jac_affine_BLUE*0.024)), ((real_t)(abs_det_jac_affine_BLUE*0.096000000000000016)), ((real_t)(abs_det_jac_affine_BLUE*0.096000000000000002)), ((real_t)(abs_det_jac_affine_BLUE*0.032000000000000008)), ((real_t)(abs_det_jac_affine_BLUE*-0.071999999999999925)), ((real_t)(abs_det_jac_affine_BLUE*-0.071999999999999995)), ((real_t)(abs_det_jac_affine_BLUE*0.071999999999999995)), ((real_t)(abs_det_jac_affine_BLUE*0.28799999999999998)), ((real_t)(abs_det_jac_affine_BLUE*0.28799999999999998)), ((real_t)(abs_det_jac_affine_BLUE*0.096000000000000016)), ((real_t)(abs_det_jac_affine_BLUE*-0.02399999999999998)), ((real_t)(abs_det_jac_affine_BLUE*0.024)), ((real_t)(abs_det_jac_affine_BLUE*-0.024)), ((real_t)(abs_det_jac_affine_BLUE*0.096000000000000002)), ((real_t)(abs_det_jac_affine_BLUE*0.032000000000000008)), ((real_t)(abs_det_jac_affine_BLUE*0.096000000000000002)), ((real_t)(abs_det_jac_affine_BLUE*-0.071999999999999925)), ((real_t)(abs_det_jac_affine_BLUE*0.071999999999999995)), ((real_t)(abs_det_jac_affine_BLUE*-0.071999999999999995)), ((real_t)(abs_det_jac_affine_BLUE*0.28799999999999998)), ((real_t)(abs_det_jac_affine_BLUE*0.096000000000000016)), ((real_t)(abs_det_jac_affine_BLUE*0.28799999999999998)), ((real_t)(abs_det_jac_affine_BLUE*-0.02399999999999998)), ((real_t)(abs_det_jac_affine_BLUE*0.024)), ((real_t)(abs_det_jac_affine_BLUE*-0.024)), ((real_t)(abs_det_jac_affine_BLUE*0.096000000000000016)), ((real_t)(abs_det_jac_affine_BLUE*0.032000000000000008)), ((real_t)(abs_det_jac_affine_BLUE*0.096000000000000002)), ((real_t)(abs_det_jac_affine_BLUE*0.071999999999999939)), ((real_t)(abs_det_jac_affine_BLUE*-0.072000000000000008)), ((real_t)(abs_det_jac_affine_BLUE*-0.072000000000000008)), ((real_t)(abs_det_jac_affine_BLUE*0.09600000000000003)), ((real_t)(abs_det_jac_affine_BLUE*0.28800000000000003)), ((real_t)(abs_det_jac_affine_BLUE*0.28800000000000003)), ((real_t)(abs_det_jac_affine_BLUE*0.02399999999999998)), ((real_t)(abs_det_jac_affine_BLUE*-0.024)), ((real_t)(abs_det_jac_affine_BLUE*-0.024)), ((real_t)(abs_det_jac_affine_BLUE*0.032000000000000008)), ((real_t)(abs_det_jac_affine_BLUE*0.096000000000000002)), ((real_t)(abs_det_jac_affine_BLUE*0.096000000000000002)), ((real_t)(abs_det_jac_affine_BLUE*0.02399999999999998)), ((real_t)(abs_det_jac_affine_BLUE*-0.024)), ((real_t)(abs_det_jac_affine_BLUE*-0.024)), ((real_t)(abs_det_jac_affine_BLUE*0.032000000000000008)), ((real_t)(abs_det_jac_affine_BLUE*0.096000000000000002)), ((real_t)(abs_det_jac_affine_BLUE*0.096000000000000002))};
+      
+          for (int64_t ctr_1 = 0; ctr_1 < micro_edges_per_macro_edge; ctr_1 += 1)
+          for (int64_t ctr_0 = 0; ctr_0 < -ctr_1 + micro_edges_per_macro_edge - 1; ctr_0 += 1)
+          {
+             const real_t src_dof_0 = _data_srcVertex[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + 1];
+             const real_t src_dof_1 = _data_srcVertex[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2))];
+             const real_t src_dof_2 = _data_srcVertex[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 1];
+             const real_t src_dof_3 = _data_srcEdge[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2))];
+             const real_t src_dof_4 = _data_srcEdge[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 2*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)) / (2)) + 1];
+             const real_t src_dof_5 = _data_srcEdge[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)) / (2))];
+             const real_t k_dof_0 = _data_kVertex[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + 1];
+             const real_t k_dof_1 = _data_kVertex[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2))];
+             const real_t k_dof_2 = _data_kVertex[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 1];
+             const real_t k_dof_3 = _data_kEdge[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2))];
+             const real_t k_dof_4 = _data_kEdge[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 2*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)) / (2)) + 1];
+             const real_t k_dof_5 = _data_kEdge[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)) / (2))];
+             real_t q_acc_0_0 = 0.0;
+             real_t q_acc_0_1 = 0.0;
+             real_t q_acc_0_2 = 0.0;
+             real_t q_acc_0_3 = 0.0;
+             real_t q_acc_0_4 = 0.0;
+             real_t q_acc_0_5 = 0.0;
+             real_t q_acc_1_0 = 0.0;
+             real_t q_acc_1_1 = 0.0;
+             real_t q_acc_1_2 = 0.0;
+             real_t q_acc_1_3 = 0.0;
+             real_t q_acc_1_4 = 0.0;
+             real_t q_acc_1_5 = 0.0;
+             real_t q_acc_2_0 = 0.0;
+             real_t q_acc_2_1 = 0.0;
+             real_t q_acc_2_2 = 0.0;
+             real_t q_acc_2_3 = 0.0;
+             real_t q_acc_2_4 = 0.0;
+             real_t q_acc_2_5 = 0.0;
+             for (int64_t q = 0; q < 4; q += 1)
+             {
+                const real_t tmp_qloop_0 = 4.0*_data_q_p_0[q]*_data_q_p_1[q];
+                const real_t tmp_qloop_1 = (_data_q_p_0[q]*_data_q_p_0[q]);
+                const real_t tmp_qloop_2 = tmp_qloop_1*2.0;
+                const real_t tmp_qloop_3 = (_data_q_p_1[q]*_data_q_p_1[q]);
+                const real_t tmp_qloop_4 = tmp_qloop_3*2.0;
+                const real_t tmp_qloop_5 = (k_dof_0*(tmp_qloop_0 + tmp_qloop_2 + tmp_qloop_4 - 3.0*_data_q_p_0[q] - 3.0*_data_q_p_1[q] + 1.0) + k_dof_1*(tmp_qloop_2 - _data_q_p_0[q]) + k_dof_2*(tmp_qloop_4 - _data_q_p_1[q]) + k_dof_3*tmp_qloop_0 + k_dof_4*(-tmp_qloop_0 + tmp_qloop_3*-4.0 + 4.0*_data_q_p_1[q]) + k_dof_5*(-tmp_qloop_0 + tmp_qloop_1*-4.0 + 4.0*_data_q_p_0[q]))*_data_q_w[q];
+                const real_t q_tmp_0_0 = tmp_qloop_5*_data_phi_psi_jac_affine_det_0_0_BLUE[18*q];
+                const real_t q_tmp_0_1 = tmp_qloop_5*_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 1];
+                const real_t q_tmp_0_2 = tmp_qloop_5*_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 2];
+                const real_t q_tmp_0_3 = tmp_qloop_5*_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 3];
+                const real_t q_tmp_0_4 = tmp_qloop_5*_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 4];
+                const real_t q_tmp_0_5 = tmp_qloop_5*_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 5];
+                const real_t q_tmp_1_0 = tmp_qloop_5*_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 6];
+                const real_t q_tmp_1_1 = tmp_qloop_5*_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 7];
+                const real_t q_tmp_1_2 = tmp_qloop_5*_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 8];
+                const real_t q_tmp_1_3 = tmp_qloop_5*_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 9];
+                const real_t q_tmp_1_4 = tmp_qloop_5*_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 10];
+                const real_t q_tmp_1_5 = tmp_qloop_5*_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 11];
+                const real_t q_tmp_2_0 = tmp_qloop_5*_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 12];
+                const real_t q_tmp_2_1 = tmp_qloop_5*_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 13];
+                const real_t q_tmp_2_2 = tmp_qloop_5*_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 14];
+                const real_t q_tmp_2_3 = tmp_qloop_5*_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 15];
+                const real_t q_tmp_2_4 = tmp_qloop_5*_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 16];
+                const real_t q_tmp_2_5 = tmp_qloop_5*_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 17];
+                q_acc_0_0 = q_acc_0_0 + q_tmp_0_0;
+                q_acc_0_1 = q_acc_0_1 + q_tmp_0_1;
+                q_acc_0_2 = q_acc_0_2 + q_tmp_0_2;
+                q_acc_0_3 = q_acc_0_3 + q_tmp_0_3;
+                q_acc_0_4 = q_acc_0_4 + q_tmp_0_4;
+                q_acc_0_5 = q_acc_0_5 + q_tmp_0_5;
+                q_acc_1_0 = q_acc_1_0 + q_tmp_1_0;
+                q_acc_1_1 = q_acc_1_1 + q_tmp_1_1;
+                q_acc_1_2 = q_acc_1_2 + q_tmp_1_2;
+                q_acc_1_3 = q_acc_1_3 + q_tmp_1_3;
+                q_acc_1_4 = q_acc_1_4 + q_tmp_1_4;
+                q_acc_1_5 = q_acc_1_5 + q_tmp_1_5;
+                q_acc_2_0 = q_acc_2_0 + q_tmp_2_0;
+                q_acc_2_1 = q_acc_2_1 + q_tmp_2_1;
+                q_acc_2_2 = q_acc_2_2 + q_tmp_2_2;
+                q_acc_2_3 = q_acc_2_3 + q_tmp_2_3;
+                q_acc_2_4 = q_acc_2_4 + q_tmp_2_4;
+                q_acc_2_5 = q_acc_2_5 + q_tmp_2_5;
+             }
+             const real_t elMatVec_0 = q_acc_0_0*src_dof_0 + q_acc_0_1*src_dof_1 + q_acc_0_2*src_dof_2 + q_acc_0_3*src_dof_3 + q_acc_0_4*src_dof_4 + q_acc_0_5*src_dof_5;
+             const real_t elMatVec_1 = q_acc_1_0*src_dof_0 + q_acc_1_1*src_dof_1 + q_acc_1_2*src_dof_2 + q_acc_1_3*src_dof_3 + q_acc_1_4*src_dof_4 + q_acc_1_5*src_dof_5;
+             const real_t elMatVec_2 = q_acc_2_0*src_dof_0 + q_acc_2_1*src_dof_1 + q_acc_2_2*src_dof_2 + q_acc_2_3*src_dof_3 + q_acc_2_4*src_dof_4 + q_acc_2_5*src_dof_5;
+             _data_dst[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + 1] = elMatVec_0 + _data_dst[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + 1];
+             _data_dst[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2))] = elMatVec_1 + _data_dst[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2))];
+             _data_dst[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 1] = elMatVec_2 + _data_dst[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 1];
+          }
+       }
+    }
+}
+} // namespace operatorgeneration
+
+} // namespace hyteg
diff --git a/operators/k_mass/noarch/P2ToP1ElementwiseKMass_apply_macro_3D.cpp b/operators/k_mass/noarch/P2ToP1ElementwiseKMass_apply_macro_3D.cpp
new file mode 100644
index 0000000000000000000000000000000000000000..2b421bd0f83878dae82cb266426fc27bd5b23573
--- /dev/null
+++ b/operators/k_mass/noarch/P2ToP1ElementwiseKMass_apply_macro_3D.cpp
@@ -0,0 +1,1298 @@
+/*
+* Copyright (c) 2017-2024 Nils Kohl, Daniel Bauer, Fabian Böhm.
+*
+* This file is part of HyTeG
+* (see https://i10git.cs.fau.de/hyteg/hyteg).
+*
+* This program is free software: you can redistribute it and/or modify
+* it under the terms of the GNU General Public License as published by
+* the Free Software Foundation, either version 3 of the License, or
+* (at your option) any later version.
+*
+* This program is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+* GNU General Public License for more details.
+*
+* You should have received a copy of the GNU General Public License
+* along with this program. If not, see <http://www.gnu.org/licenses/>.
+*/
+
+/*
+* The entire file was generated with the HyTeG form generator.
+*
+* Avoid modifying this file. If buggy, consider fixing the generator itself.
+*/
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+#include "../P2ToP1ElementwiseKMass.hpp"
+
+#define FUNC_PREFIX  
+
+namespace hyteg {
+
+namespace operatorgeneration {
+
+void P2ToP1ElementwiseKMass::apply_macro_3D( real_t * RESTRICT  _data_dst, real_t * RESTRICT  _data_kEdge, real_t * RESTRICT  _data_kVertex, real_t * RESTRICT  _data_srcEdge, real_t * RESTRICT  _data_srcVertex, real_t macro_vertex_coord_id_0comp0, real_t macro_vertex_coord_id_0comp1, real_t macro_vertex_coord_id_0comp2, real_t macro_vertex_coord_id_1comp0, real_t macro_vertex_coord_id_1comp1, real_t macro_vertex_coord_id_1comp2, real_t macro_vertex_coord_id_2comp0, real_t macro_vertex_coord_id_2comp1, real_t macro_vertex_coord_id_2comp2, real_t macro_vertex_coord_id_3comp0, real_t macro_vertex_coord_id_3comp1, real_t macro_vertex_coord_id_3comp2, int64_t micro_edges_per_macro_edge, real_t micro_edges_per_macro_edge_float ) const
+{
+    {
+       const real_t _data_q_w [] = {-0.1333333333333333, 0.074999999999999983, 0.074999999999999983, 0.074999999999999983, 0.074999999999999983};
+   
+       const real_t _data_q_p_0 [] = {0.25, 0.16666666666666666, 0.16666666666666666, 0.5, 0.16666666666666666};
+   
+       const real_t _data_q_p_1 [] = {0.25, 0.16666666666666666, 0.5, 0.16666666666666666, 0.16666666666666666};
+   
+       const real_t _data_q_p_2 [] = {0.25, 0.5, 0.16666666666666666, 0.16666666666666666, 0.16666666666666666};
+   
+       const real_t tmp_coords_jac_0_WHITE_UP = 1.0 / (micro_edges_per_macro_edge_float)*1.0;
+       const real_t p_affine_const_0_0_WHITE_UP = macro_vertex_coord_id_0comp0;
+       const real_t p_affine_const_0_1_WHITE_UP = macro_vertex_coord_id_0comp1;
+       const real_t p_affine_const_0_2_WHITE_UP = macro_vertex_coord_id_0comp2;
+       const real_t p_affine_const_1_0_WHITE_UP = macro_vertex_coord_id_0comp0 + tmp_coords_jac_0_WHITE_UP*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0);
+       const real_t p_affine_const_1_1_WHITE_UP = macro_vertex_coord_id_0comp1 + tmp_coords_jac_0_WHITE_UP*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1);
+       const real_t p_affine_const_1_2_WHITE_UP = macro_vertex_coord_id_0comp2 + tmp_coords_jac_0_WHITE_UP*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2);
+       const real_t p_affine_const_2_0_WHITE_UP = macro_vertex_coord_id_0comp0 + tmp_coords_jac_0_WHITE_UP*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0);
+       const real_t p_affine_const_2_1_WHITE_UP = macro_vertex_coord_id_0comp1 + tmp_coords_jac_0_WHITE_UP*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1);
+       const real_t p_affine_const_2_2_WHITE_UP = macro_vertex_coord_id_0comp2 + tmp_coords_jac_0_WHITE_UP*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2);
+       const real_t p_affine_const_3_0_WHITE_UP = macro_vertex_coord_id_0comp0 + tmp_coords_jac_0_WHITE_UP*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0);
+       const real_t p_affine_const_3_1_WHITE_UP = macro_vertex_coord_id_0comp1 + tmp_coords_jac_0_WHITE_UP*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1);
+       const real_t p_affine_const_3_2_WHITE_UP = macro_vertex_coord_id_0comp2 + tmp_coords_jac_0_WHITE_UP*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2);
+       const real_t jac_affine_0_0_WHITE_UP = -p_affine_const_0_0_WHITE_UP + p_affine_const_1_0_WHITE_UP;
+       const real_t jac_affine_0_1_WHITE_UP = -p_affine_const_0_0_WHITE_UP + p_affine_const_2_0_WHITE_UP;
+       const real_t jac_affine_0_2_WHITE_UP = -p_affine_const_0_0_WHITE_UP + p_affine_const_3_0_WHITE_UP;
+       const real_t jac_affine_1_0_WHITE_UP = -p_affine_const_0_1_WHITE_UP + p_affine_const_1_1_WHITE_UP;
+       const real_t jac_affine_1_1_WHITE_UP = -p_affine_const_0_1_WHITE_UP + p_affine_const_2_1_WHITE_UP;
+       const real_t jac_affine_1_2_WHITE_UP = -p_affine_const_0_1_WHITE_UP + p_affine_const_3_1_WHITE_UP;
+       const real_t jac_affine_2_0_WHITE_UP = -p_affine_const_0_2_WHITE_UP + p_affine_const_1_2_WHITE_UP;
+       const real_t jac_affine_2_1_WHITE_UP = -p_affine_const_0_2_WHITE_UP + p_affine_const_2_2_WHITE_UP;
+       const real_t jac_affine_2_2_WHITE_UP = -p_affine_const_0_2_WHITE_UP + p_affine_const_3_2_WHITE_UP;
+       const real_t abs_det_jac_affine_WHITE_UP = abs(jac_affine_0_0_WHITE_UP*jac_affine_1_1_WHITE_UP*jac_affine_2_2_WHITE_UP - jac_affine_0_0_WHITE_UP*jac_affine_1_2_WHITE_UP*jac_affine_2_1_WHITE_UP - jac_affine_0_1_WHITE_UP*jac_affine_1_0_WHITE_UP*jac_affine_2_2_WHITE_UP + jac_affine_0_1_WHITE_UP*jac_affine_1_2_WHITE_UP*jac_affine_2_0_WHITE_UP + jac_affine_0_2_WHITE_UP*jac_affine_1_0_WHITE_UP*jac_affine_2_1_WHITE_UP - jac_affine_0_2_WHITE_UP*jac_affine_1_1_WHITE_UP*jac_affine_2_0_WHITE_UP);
+       {
+          /* CellType.WHITE_UP */
+          const real_t _data_phi_psi_jac_affine_det_0_0_WHITE_UP [] = {((real_t)(abs_det_jac_affine_WHITE_UP*-0.03125)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.03125)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.03125)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.03125)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0625)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0625)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0625)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0625)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0625)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0625)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.03125)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.03125)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.03125)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.03125)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0625)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0625)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0625)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0625)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0625)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0625)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.03125)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.03125)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.03125)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.03125)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0625)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0625)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0625)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0625)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0625)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.03125)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.03125)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.03125)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.03125)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0625)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0625)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0625)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0625)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0625)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.018518518518518524)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.018518518518518524)), 0.0, ((real_t)(abs_det_jac_affine_WHITE_UP*0.05555555555555558)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.05555555555555558)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.018518518518518524)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.055555555555555594)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.018518518518518535)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.018518518518518535)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.018518518518518507)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.018518518518518517)), 0.0, ((real_t)(abs_det_jac_affine_WHITE_UP*0.055555555555555552)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.055555555555555552)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.055555555555555566)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.018518518518518524)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.018518518518518524)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.018518518518518507)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.018518518518518517)), 0.0, ((real_t)(abs_det_jac_affine_WHITE_UP*0.055555555555555552)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.055555555555555566)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.018518518518518524)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.018518518518518524)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.055555555555555525)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.055555555555555552)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.055555555555555552)), 0.0, ((real_t)(abs_det_jac_affine_WHITE_UP*0.16666666666666666)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.16666666666666666)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.16666666666666671)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.05555555555555558)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.05555555555555558)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.018518518518518531)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.018518518518518521)), 0.0, ((real_t)(abs_det_jac_affine_WHITE_UP*-0.018518518518518521)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.055555555555555566)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.018518518518518521)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.055555555555555566)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.018518518518518531)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.055555555555555587)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.018518518518518531)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.018518518518518524)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.018518518518518517)), 0.0, ((real_t)(abs_det_jac_affine_WHITE_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.055555555555555552)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.055555555555555552)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.018518518518518524)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.055555555555555566)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.018518518518518524)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.05555555555555558)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.055555555555555552)), 0.0, ((real_t)(abs_det_jac_affine_WHITE_UP*-0.055555555555555552)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.16666666666666666)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.16666666666666666)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.05555555555555558)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.16666666666666671)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.05555555555555558)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.018518518518518524)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.018518518518518517)), 0.0, ((real_t)(abs_det_jac_affine_WHITE_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.055555555555555552)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.018518518518518524)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.055555555555555566)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.018518518518518524)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.018518518518518531)), 0.0, ((real_t)(abs_det_jac_affine_WHITE_UP*-0.018518518518518521)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.018518518518518521)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.018518518518518521)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.055555555555555566)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.055555555555555566)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.018518518518518531)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.018518518518518531)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.055555555555555587)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.05555555555555558)), 0.0, ((real_t)(abs_det_jac_affine_WHITE_UP*-0.055555555555555552)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.055555555555555552)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.055555555555555552)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.16666666666666666)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.16666666666666666)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.05555555555555558)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.05555555555555558)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.16666666666666671)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.018518518518518524)), 0.0, ((real_t)(abs_det_jac_affine_WHITE_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.055555555555555552)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.018518518518518524)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.018518518518518524)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.055555555555555566)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.018518518518518524)), 0.0, ((real_t)(abs_det_jac_affine_WHITE_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.055555555555555552)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.018518518518518524)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.018518518518518524)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.055555555555555566)), ((real_t)(abs_det_jac_affine_WHITE_UP*2.775557561562892e-17)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.055555555555555566)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.055555555555555566)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.055555555555555566)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.055555555555555566)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.055555555555555566)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.055555555555555566)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.16666666666666671)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.16666666666666671)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.16666666666666671)), ((real_t)(abs_det_jac_affine_WHITE_UP*9.2518585385429707e-18)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.055555555555555559)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.055555555555555559)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.055555555555555559)), ((real_t)(abs_det_jac_affine_WHITE_UP*9.2518585385429707e-18)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.055555555555555559)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.055555555555555559)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.055555555555555559)), ((real_t)(abs_det_jac_affine_WHITE_UP*9.2518585385429707e-18)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.055555555555555559)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.055555555555555559)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.055555555555555559))};
+      
+          for (int64_t ctr_2 = 0; ctr_2 < micro_edges_per_macro_edge; ctr_2 += 1)
+          for (int64_t ctr_1 = 0; ctr_1 < -ctr_2 + micro_edges_per_macro_edge; ctr_1 += 1)
+          for (int64_t ctr_0 = 0; ctr_0 < -ctr_1 - ctr_2 + micro_edges_per_macro_edge; ctr_0 += 1)
+          {
+             const real_t src_dof_0 = _data_srcVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))];
+             const real_t src_dof_1 = _data_srcVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1];
+             const real_t src_dof_2 = _data_srcVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))];
+             const real_t src_dof_3 = _data_srcVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))];
+             const real_t src_dof_4 = _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))];
+             const real_t src_dof_5 = _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 5*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))];
+             const real_t src_dof_6 = _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))];
+             const real_t src_dof_7 = _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))];
+             const real_t src_dof_8 = _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 2*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))];
+             const real_t src_dof_9 = _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))];
+             const real_t k_dof_0 = _data_kVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))];
+             const real_t k_dof_1 = _data_kVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1];
+             const real_t k_dof_2 = _data_kVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))];
+             const real_t k_dof_3 = _data_kVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))];
+             const real_t k_dof_4 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))];
+             const real_t k_dof_5 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 5*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))];
+             const real_t k_dof_6 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))];
+             const real_t k_dof_7 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))];
+             const real_t k_dof_8 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 2*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))];
+             const real_t k_dof_9 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))];
+             real_t q_acc_0_0 = 0.0;
+             real_t q_acc_0_1 = 0.0;
+             real_t q_acc_0_2 = 0.0;
+             real_t q_acc_0_3 = 0.0;
+             real_t q_acc_0_4 = 0.0;
+             real_t q_acc_0_5 = 0.0;
+             real_t q_acc_0_6 = 0.0;
+             real_t q_acc_0_7 = 0.0;
+             real_t q_acc_0_8 = 0.0;
+             real_t q_acc_0_9 = 0.0;
+             real_t q_acc_1_0 = 0.0;
+             real_t q_acc_1_1 = 0.0;
+             real_t q_acc_1_2 = 0.0;
+             real_t q_acc_1_3 = 0.0;
+             real_t q_acc_1_4 = 0.0;
+             real_t q_acc_1_5 = 0.0;
+             real_t q_acc_1_6 = 0.0;
+             real_t q_acc_1_7 = 0.0;
+             real_t q_acc_1_8 = 0.0;
+             real_t q_acc_1_9 = 0.0;
+             real_t q_acc_2_0 = 0.0;
+             real_t q_acc_2_1 = 0.0;
+             real_t q_acc_2_2 = 0.0;
+             real_t q_acc_2_3 = 0.0;
+             real_t q_acc_2_4 = 0.0;
+             real_t q_acc_2_5 = 0.0;
+             real_t q_acc_2_6 = 0.0;
+             real_t q_acc_2_7 = 0.0;
+             real_t q_acc_2_8 = 0.0;
+             real_t q_acc_2_9 = 0.0;
+             real_t q_acc_3_0 = 0.0;
+             real_t q_acc_3_1 = 0.0;
+             real_t q_acc_3_2 = 0.0;
+             real_t q_acc_3_3 = 0.0;
+             real_t q_acc_3_4 = 0.0;
+             real_t q_acc_3_5 = 0.0;
+             real_t q_acc_3_6 = 0.0;
+             real_t q_acc_3_7 = 0.0;
+             real_t q_acc_3_8 = 0.0;
+             real_t q_acc_3_9 = 0.0;
+             for (int64_t q = 0; q < 5; q += 1)
+             {
+                const real_t tmp_qloop_0 = 4.0*_data_q_p_0[q];
+                const real_t tmp_qloop_1 = tmp_qloop_0*_data_q_p_1[q];
+                const real_t tmp_qloop_2 = tmp_qloop_0*_data_q_p_2[q];
+                const real_t tmp_qloop_3 = 4.0*_data_q_p_1[q]*_data_q_p_2[q];
+                const real_t tmp_qloop_4 = (_data_q_p_0[q]*_data_q_p_0[q]);
+                const real_t tmp_qloop_5 = tmp_qloop_4*2.0;
+                const real_t tmp_qloop_6 = (_data_q_p_1[q]*_data_q_p_1[q]);
+                const real_t tmp_qloop_7 = tmp_qloop_6*2.0;
+                const real_t tmp_qloop_8 = (_data_q_p_2[q]*_data_q_p_2[q]);
+                const real_t tmp_qloop_9 = tmp_qloop_8*2.0;
+                const real_t tmp_qloop_10 = tmp_qloop_1 + tmp_qloop_2;
+                const real_t tmp_qloop_11 = (k_dof_0*(tmp_qloop_10 + tmp_qloop_3 + tmp_qloop_5 + tmp_qloop_7 + tmp_qloop_9 - 3.0*_data_q_p_0[q] - 3.0*_data_q_p_1[q] - 3.0*_data_q_p_2[q] + 1.0) + k_dof_1*(tmp_qloop_5 - _data_q_p_0[q]) + k_dof_2*(tmp_qloop_7 - _data_q_p_1[q]) + k_dof_3*(tmp_qloop_9 - _data_q_p_2[q]) + k_dof_4*tmp_qloop_3 + k_dof_5*tmp_qloop_2 + k_dof_6*tmp_qloop_1 + k_dof_7*(-tmp_qloop_2 - tmp_qloop_3 + tmp_qloop_8*-4.0 + 4.0*_data_q_p_2[q]) + k_dof_8*(-tmp_qloop_1 - tmp_qloop_3 + tmp_qloop_6*-4.0 + 4.0*_data_q_p_1[q]) + k_dof_9*(-tmp_qloop_10 + tmp_qloop_4*-4.0 + 4.0*_data_q_p_0[q]))*_data_q_w[q];
+                const real_t tmp_qloop_12 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 14];
+                const real_t q_tmp_0_0 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q];
+                const real_t q_tmp_0_1 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 1];
+                const real_t q_tmp_0_2 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 2];
+                const real_t q_tmp_0_3 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 3];
+                const real_t q_tmp_0_4 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 4];
+                const real_t q_tmp_0_5 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 5];
+                const real_t q_tmp_0_6 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 6];
+                const real_t q_tmp_0_7 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 7];
+                const real_t q_tmp_0_8 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 8];
+                const real_t q_tmp_0_9 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 9];
+                const real_t q_tmp_1_0 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 10];
+                const real_t q_tmp_1_1 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 11];
+                const real_t q_tmp_1_2 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 12];
+                const real_t q_tmp_1_3 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 13];
+                const real_t q_tmp_1_4 = tmp_qloop_12;
+                const real_t q_tmp_1_5 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 15];
+                const real_t q_tmp_1_6 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 16];
+                const real_t q_tmp_1_7 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 17];
+                const real_t q_tmp_1_8 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 18];
+                const real_t q_tmp_1_9 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 19];
+                const real_t q_tmp_2_0 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 20];
+                const real_t q_tmp_2_1 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 21];
+                const real_t q_tmp_2_2 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 22];
+                const real_t q_tmp_2_3 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 23];
+                const real_t q_tmp_2_4 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 24];
+                const real_t q_tmp_2_5 = tmp_qloop_12;
+                const real_t q_tmp_2_6 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 25];
+                const real_t q_tmp_2_7 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 26];
+                const real_t q_tmp_2_8 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 27];
+                const real_t q_tmp_2_9 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 28];
+                const real_t q_tmp_3_0 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 29];
+                const real_t q_tmp_3_1 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 30];
+                const real_t q_tmp_3_2 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 31];
+                const real_t q_tmp_3_3 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 32];
+                const real_t q_tmp_3_4 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 33];
+                const real_t q_tmp_3_5 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 34];
+                const real_t q_tmp_3_6 = tmp_qloop_12;
+                const real_t q_tmp_3_7 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 35];
+                const real_t q_tmp_3_8 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 36];
+                const real_t q_tmp_3_9 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 37];
+                q_acc_0_0 = q_acc_0_0 + q_tmp_0_0;
+                q_acc_0_1 = q_acc_0_1 + q_tmp_0_1;
+                q_acc_0_2 = q_acc_0_2 + q_tmp_0_2;
+                q_acc_0_3 = q_acc_0_3 + q_tmp_0_3;
+                q_acc_0_4 = q_acc_0_4 + q_tmp_0_4;
+                q_acc_0_5 = q_acc_0_5 + q_tmp_0_5;
+                q_acc_0_6 = q_acc_0_6 + q_tmp_0_6;
+                q_acc_0_7 = q_acc_0_7 + q_tmp_0_7;
+                q_acc_0_8 = q_acc_0_8 + q_tmp_0_8;
+                q_acc_0_9 = q_acc_0_9 + q_tmp_0_9;
+                q_acc_1_0 = q_acc_1_0 + q_tmp_1_0;
+                q_acc_1_1 = q_acc_1_1 + q_tmp_1_1;
+                q_acc_1_2 = q_acc_1_2 + q_tmp_1_2;
+                q_acc_1_3 = q_acc_1_3 + q_tmp_1_3;
+                q_acc_1_4 = q_acc_1_4 + q_tmp_1_4;
+                q_acc_1_5 = q_acc_1_5 + q_tmp_1_5;
+                q_acc_1_6 = q_acc_1_6 + q_tmp_1_6;
+                q_acc_1_7 = q_acc_1_7 + q_tmp_1_7;
+                q_acc_1_8 = q_acc_1_8 + q_tmp_1_8;
+                q_acc_1_9 = q_acc_1_9 + q_tmp_1_9;
+                q_acc_2_0 = q_acc_2_0 + q_tmp_2_0;
+                q_acc_2_1 = q_acc_2_1 + q_tmp_2_1;
+                q_acc_2_2 = q_acc_2_2 + q_tmp_2_2;
+                q_acc_2_3 = q_acc_2_3 + q_tmp_2_3;
+                q_acc_2_4 = q_acc_2_4 + q_tmp_2_4;
+                q_acc_2_5 = q_acc_2_5 + q_tmp_2_5;
+                q_acc_2_6 = q_acc_2_6 + q_tmp_2_6;
+                q_acc_2_7 = q_acc_2_7 + q_tmp_2_7;
+                q_acc_2_8 = q_acc_2_8 + q_tmp_2_8;
+                q_acc_2_9 = q_acc_2_9 + q_tmp_2_9;
+                q_acc_3_0 = q_acc_3_0 + q_tmp_3_0;
+                q_acc_3_1 = q_acc_3_1 + q_tmp_3_1;
+                q_acc_3_2 = q_acc_3_2 + q_tmp_3_2;
+                q_acc_3_3 = q_acc_3_3 + q_tmp_3_3;
+                q_acc_3_4 = q_acc_3_4 + q_tmp_3_4;
+                q_acc_3_5 = q_acc_3_5 + q_tmp_3_5;
+                q_acc_3_6 = q_acc_3_6 + q_tmp_3_6;
+                q_acc_3_7 = q_acc_3_7 + q_tmp_3_7;
+                q_acc_3_8 = q_acc_3_8 + q_tmp_3_8;
+                q_acc_3_9 = q_acc_3_9 + q_tmp_3_9;
+             }
+             const real_t elMatVec_0 = q_acc_0_0*src_dof_0 + q_acc_0_1*src_dof_1 + q_acc_0_2*src_dof_2 + q_acc_0_3*src_dof_3 + q_acc_0_4*src_dof_4 + q_acc_0_5*src_dof_5 + q_acc_0_6*src_dof_6 + q_acc_0_7*src_dof_7 + q_acc_0_8*src_dof_8 + q_acc_0_9*src_dof_9;
+             const real_t elMatVec_1 = q_acc_1_0*src_dof_0 + q_acc_1_1*src_dof_1 + q_acc_1_2*src_dof_2 + q_acc_1_3*src_dof_3 + q_acc_1_4*src_dof_4 + q_acc_1_5*src_dof_5 + q_acc_1_6*src_dof_6 + q_acc_1_7*src_dof_7 + q_acc_1_8*src_dof_8 + q_acc_1_9*src_dof_9;
+             const real_t elMatVec_2 = q_acc_2_0*src_dof_0 + q_acc_2_1*src_dof_1 + q_acc_2_2*src_dof_2 + q_acc_2_3*src_dof_3 + q_acc_2_4*src_dof_4 + q_acc_2_5*src_dof_5 + q_acc_2_6*src_dof_6 + q_acc_2_7*src_dof_7 + q_acc_2_8*src_dof_8 + q_acc_2_9*src_dof_9;
+             const real_t elMatVec_3 = q_acc_3_0*src_dof_0 + q_acc_3_1*src_dof_1 + q_acc_3_2*src_dof_2 + q_acc_3_3*src_dof_3 + q_acc_3_4*src_dof_4 + q_acc_3_5*src_dof_5 + q_acc_3_6*src_dof_6 + q_acc_3_7*src_dof_7 + q_acc_3_8*src_dof_8 + q_acc_3_9*src_dof_9;
+             _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))] = elMatVec_0 + _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))];
+             _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1] = elMatVec_1 + _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1];
+             _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))] = elMatVec_2 + _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))];
+             _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))] = elMatVec_3 + _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))];
+          }
+       }
+       const real_t tmp_coords_jac_0_WHITE_DOWN = 1.0 / (micro_edges_per_macro_edge_float)*1.0;
+       const real_t tmp_coords_jac_1_WHITE_DOWN = tmp_coords_jac_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0);
+       const real_t tmp_coords_jac_2_WHITE_DOWN = macro_vertex_coord_id_0comp0 + tmp_coords_jac_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0);
+       const real_t tmp_coords_jac_3_WHITE_DOWN = tmp_coords_jac_1_WHITE_DOWN + tmp_coords_jac_2_WHITE_DOWN;
+       const real_t tmp_coords_jac_4_WHITE_DOWN = tmp_coords_jac_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1);
+       const real_t tmp_coords_jac_5_WHITE_DOWN = macro_vertex_coord_id_0comp1 + tmp_coords_jac_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1);
+       const real_t tmp_coords_jac_6_WHITE_DOWN = tmp_coords_jac_4_WHITE_DOWN + tmp_coords_jac_5_WHITE_DOWN;
+       const real_t tmp_coords_jac_7_WHITE_DOWN = tmp_coords_jac_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2);
+       const real_t tmp_coords_jac_8_WHITE_DOWN = macro_vertex_coord_id_0comp2 + tmp_coords_jac_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2);
+       const real_t tmp_coords_jac_9_WHITE_DOWN = tmp_coords_jac_7_WHITE_DOWN + tmp_coords_jac_8_WHITE_DOWN;
+       const real_t tmp_coords_jac_10_WHITE_DOWN = tmp_coords_jac_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0);
+       const real_t tmp_coords_jac_11_WHITE_DOWN = tmp_coords_jac_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1);
+       const real_t tmp_coords_jac_12_WHITE_DOWN = tmp_coords_jac_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2);
+       const real_t p_affine_const_0_0_WHITE_DOWN = tmp_coords_jac_3_WHITE_DOWN;
+       const real_t p_affine_const_0_1_WHITE_DOWN = tmp_coords_jac_6_WHITE_DOWN;
+       const real_t p_affine_const_0_2_WHITE_DOWN = tmp_coords_jac_9_WHITE_DOWN;
+       const real_t p_affine_const_1_0_WHITE_DOWN = tmp_coords_jac_10_WHITE_DOWN + tmp_coords_jac_2_WHITE_DOWN;
+       const real_t p_affine_const_1_1_WHITE_DOWN = tmp_coords_jac_11_WHITE_DOWN + tmp_coords_jac_5_WHITE_DOWN;
+       const real_t p_affine_const_1_2_WHITE_DOWN = tmp_coords_jac_12_WHITE_DOWN + tmp_coords_jac_8_WHITE_DOWN;
+       const real_t p_affine_const_2_0_WHITE_DOWN = macro_vertex_coord_id_0comp0 + tmp_coords_jac_10_WHITE_DOWN + tmp_coords_jac_1_WHITE_DOWN;
+       const real_t p_affine_const_2_1_WHITE_DOWN = macro_vertex_coord_id_0comp1 + tmp_coords_jac_11_WHITE_DOWN + tmp_coords_jac_4_WHITE_DOWN;
+       const real_t p_affine_const_2_2_WHITE_DOWN = macro_vertex_coord_id_0comp2 + tmp_coords_jac_12_WHITE_DOWN + tmp_coords_jac_7_WHITE_DOWN;
+       const real_t p_affine_const_3_0_WHITE_DOWN = tmp_coords_jac_10_WHITE_DOWN + tmp_coords_jac_3_WHITE_DOWN;
+       const real_t p_affine_const_3_1_WHITE_DOWN = tmp_coords_jac_11_WHITE_DOWN + tmp_coords_jac_6_WHITE_DOWN;
+       const real_t p_affine_const_3_2_WHITE_DOWN = tmp_coords_jac_12_WHITE_DOWN + tmp_coords_jac_9_WHITE_DOWN;
+       const real_t jac_affine_0_0_WHITE_DOWN = -p_affine_const_0_0_WHITE_DOWN + p_affine_const_1_0_WHITE_DOWN;
+       const real_t jac_affine_0_1_WHITE_DOWN = -p_affine_const_0_0_WHITE_DOWN + p_affine_const_2_0_WHITE_DOWN;
+       const real_t jac_affine_0_2_WHITE_DOWN = -p_affine_const_0_0_WHITE_DOWN + p_affine_const_3_0_WHITE_DOWN;
+       const real_t jac_affine_1_0_WHITE_DOWN = -p_affine_const_0_1_WHITE_DOWN + p_affine_const_1_1_WHITE_DOWN;
+       const real_t jac_affine_1_1_WHITE_DOWN = -p_affine_const_0_1_WHITE_DOWN + p_affine_const_2_1_WHITE_DOWN;
+       const real_t jac_affine_1_2_WHITE_DOWN = -p_affine_const_0_1_WHITE_DOWN + p_affine_const_3_1_WHITE_DOWN;
+       const real_t jac_affine_2_0_WHITE_DOWN = -p_affine_const_0_2_WHITE_DOWN + p_affine_const_1_2_WHITE_DOWN;
+       const real_t jac_affine_2_1_WHITE_DOWN = -p_affine_const_0_2_WHITE_DOWN + p_affine_const_2_2_WHITE_DOWN;
+       const real_t jac_affine_2_2_WHITE_DOWN = -p_affine_const_0_2_WHITE_DOWN + p_affine_const_3_2_WHITE_DOWN;
+       const real_t abs_det_jac_affine_WHITE_DOWN = abs(jac_affine_0_0_WHITE_DOWN*jac_affine_1_1_WHITE_DOWN*jac_affine_2_2_WHITE_DOWN - jac_affine_0_0_WHITE_DOWN*jac_affine_1_2_WHITE_DOWN*jac_affine_2_1_WHITE_DOWN - jac_affine_0_1_WHITE_DOWN*jac_affine_1_0_WHITE_DOWN*jac_affine_2_2_WHITE_DOWN + jac_affine_0_1_WHITE_DOWN*jac_affine_1_2_WHITE_DOWN*jac_affine_2_0_WHITE_DOWN + jac_affine_0_2_WHITE_DOWN*jac_affine_1_0_WHITE_DOWN*jac_affine_2_1_WHITE_DOWN - jac_affine_0_2_WHITE_DOWN*jac_affine_1_1_WHITE_DOWN*jac_affine_2_0_WHITE_DOWN);
+       {
+          /* CellType.WHITE_DOWN */
+          const real_t _data_phi_psi_jac_affine_det_0_0_WHITE_DOWN [] = {((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.018518518518518524)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.018518518518518524)), 0.0, ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.05555555555555558)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.05555555555555558)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.018518518518518524)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.055555555555555594)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.018518518518518535)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.018518518518518535)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.018518518518518507)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.018518518518518517)), 0.0, ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.055555555555555552)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.055555555555555552)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.055555555555555566)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.018518518518518524)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.018518518518518524)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.018518518518518507)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.018518518518518517)), 0.0, ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.055555555555555552)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.055555555555555566)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.018518518518518524)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.018518518518518524)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.055555555555555525)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.055555555555555552)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.055555555555555552)), 0.0, ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.16666666666666666)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.16666666666666666)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.16666666666666671)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.05555555555555558)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.05555555555555558)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.018518518518518531)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.018518518518518521)), 0.0, ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.018518518518518521)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.055555555555555566)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.018518518518518521)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.055555555555555566)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.018518518518518531)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.055555555555555587)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.018518518518518531)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.018518518518518524)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.018518518518518517)), 0.0, ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.055555555555555552)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.055555555555555552)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.018518518518518524)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.055555555555555566)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.018518518518518524)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.05555555555555558)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.055555555555555552)), 0.0, ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.055555555555555552)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.16666666666666666)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.16666666666666666)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.05555555555555558)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.16666666666666671)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.05555555555555558)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.018518518518518524)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.018518518518518517)), 0.0, ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.055555555555555552)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.018518518518518524)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.055555555555555566)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.018518518518518524)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.018518518518518531)), 0.0, ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.018518518518518521)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.018518518518518521)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.018518518518518521)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.055555555555555566)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.055555555555555566)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.018518518518518531)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.018518518518518531)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.055555555555555587)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.05555555555555558)), 0.0, ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.055555555555555552)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.055555555555555552)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.055555555555555552)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.16666666666666666)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.16666666666666666)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.05555555555555558)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.05555555555555558)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.16666666666666671)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.018518518518518524)), 0.0, ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.055555555555555552)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.018518518518518524)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.018518518518518524)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.055555555555555566)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.018518518518518524)), 0.0, ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.055555555555555552)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.018518518518518524)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.018518518518518524)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.055555555555555566)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*2.775557561562892e-17)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.055555555555555566)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.055555555555555566)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.055555555555555566)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.055555555555555566)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.055555555555555566)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.055555555555555566)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.16666666666666671)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.16666666666666671)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.16666666666666671)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*9.2518585385429707e-18)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.055555555555555559)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.055555555555555559)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.055555555555555559)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*9.2518585385429707e-18)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.055555555555555559)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.055555555555555559)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.055555555555555559)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*9.2518585385429707e-18)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.055555555555555559)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.055555555555555559)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.055555555555555559))};
+      
+          for (int64_t ctr_2 = 0; ctr_2 < micro_edges_per_macro_edge; ctr_2 += 1)
+          for (int64_t ctr_1 = 0; ctr_1 < -ctr_2 + micro_edges_per_macro_edge; ctr_1 += 1)
+          for (int64_t ctr_0 = 0; ctr_0 < -ctr_1 - ctr_2 + micro_edges_per_macro_edge - 2; ctr_0 += 1)
+          {
+             const real_t src_dof_0 = _data_srcVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1];
+             const real_t src_dof_1 = _data_srcVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1];
+             const real_t src_dof_2 = _data_srcVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))];
+             const real_t src_dof_3 = _data_srcVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1];
+             const real_t src_dof_4 = _data_srcEdge[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))];
+             const real_t src_dof_5 = _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + 2*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6)) + 1];
+             const real_t src_dof_6 = _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))];
+             const real_t src_dof_7 = _data_srcEdge[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1];
+             const real_t src_dof_8 = _data_srcEdge[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 5*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))];
+             const real_t src_dof_9 = _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1];
+             const real_t k_dof_0 = _data_kVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1];
+             const real_t k_dof_1 = _data_kVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1];
+             const real_t k_dof_2 = _data_kVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))];
+             const real_t k_dof_3 = _data_kVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1];
+             const real_t k_dof_4 = _data_kEdge[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))];
+             const real_t k_dof_5 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + 2*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6)) + 1];
+             const real_t k_dof_6 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))];
+             const real_t k_dof_7 = _data_kEdge[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1];
+             const real_t k_dof_8 = _data_kEdge[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 5*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))];
+             const real_t k_dof_9 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1];
+             real_t q_acc_0_0 = 0.0;
+             real_t q_acc_0_1 = 0.0;
+             real_t q_acc_0_2 = 0.0;
+             real_t q_acc_0_3 = 0.0;
+             real_t q_acc_0_4 = 0.0;
+             real_t q_acc_0_5 = 0.0;
+             real_t q_acc_0_6 = 0.0;
+             real_t q_acc_0_7 = 0.0;
+             real_t q_acc_0_8 = 0.0;
+             real_t q_acc_0_9 = 0.0;
+             real_t q_acc_1_0 = 0.0;
+             real_t q_acc_1_1 = 0.0;
+             real_t q_acc_1_2 = 0.0;
+             real_t q_acc_1_3 = 0.0;
+             real_t q_acc_1_4 = 0.0;
+             real_t q_acc_1_5 = 0.0;
+             real_t q_acc_1_6 = 0.0;
+             real_t q_acc_1_7 = 0.0;
+             real_t q_acc_1_8 = 0.0;
+             real_t q_acc_1_9 = 0.0;
+             real_t q_acc_2_0 = 0.0;
+             real_t q_acc_2_1 = 0.0;
+             real_t q_acc_2_2 = 0.0;
+             real_t q_acc_2_3 = 0.0;
+             real_t q_acc_2_4 = 0.0;
+             real_t q_acc_2_5 = 0.0;
+             real_t q_acc_2_6 = 0.0;
+             real_t q_acc_2_7 = 0.0;
+             real_t q_acc_2_8 = 0.0;
+             real_t q_acc_2_9 = 0.0;
+             real_t q_acc_3_0 = 0.0;
+             real_t q_acc_3_1 = 0.0;
+             real_t q_acc_3_2 = 0.0;
+             real_t q_acc_3_3 = 0.0;
+             real_t q_acc_3_4 = 0.0;
+             real_t q_acc_3_5 = 0.0;
+             real_t q_acc_3_6 = 0.0;
+             real_t q_acc_3_7 = 0.0;
+             real_t q_acc_3_8 = 0.0;
+             real_t q_acc_3_9 = 0.0;
+             for (int64_t q = 0; q < 5; q += 1)
+             {
+                const real_t tmp_qloop_0 = 4.0*_data_q_p_0[q];
+                const real_t tmp_qloop_1 = tmp_qloop_0*_data_q_p_1[q];
+                const real_t tmp_qloop_2 = tmp_qloop_0*_data_q_p_2[q];
+                const real_t tmp_qloop_3 = 4.0*_data_q_p_1[q]*_data_q_p_2[q];
+                const real_t tmp_qloop_4 = (_data_q_p_0[q]*_data_q_p_0[q]);
+                const real_t tmp_qloop_5 = tmp_qloop_4*2.0;
+                const real_t tmp_qloop_6 = (_data_q_p_1[q]*_data_q_p_1[q]);
+                const real_t tmp_qloop_7 = tmp_qloop_6*2.0;
+                const real_t tmp_qloop_8 = (_data_q_p_2[q]*_data_q_p_2[q]);
+                const real_t tmp_qloop_9 = tmp_qloop_8*2.0;
+                const real_t tmp_qloop_10 = tmp_qloop_1 + tmp_qloop_2;
+                const real_t tmp_qloop_11 = (k_dof_0*(tmp_qloop_10 + tmp_qloop_3 + tmp_qloop_5 + tmp_qloop_7 + tmp_qloop_9 - 3.0*_data_q_p_0[q] - 3.0*_data_q_p_1[q] - 3.0*_data_q_p_2[q] + 1.0) + k_dof_1*(tmp_qloop_5 - _data_q_p_0[q]) + k_dof_2*(tmp_qloop_7 - _data_q_p_1[q]) + k_dof_3*(tmp_qloop_9 - _data_q_p_2[q]) + k_dof_4*tmp_qloop_3 + k_dof_5*tmp_qloop_2 + k_dof_6*tmp_qloop_1 + k_dof_7*(-tmp_qloop_2 - tmp_qloop_3 + tmp_qloop_8*-4.0 + 4.0*_data_q_p_2[q]) + k_dof_8*(-tmp_qloop_1 - tmp_qloop_3 + tmp_qloop_6*-4.0 + 4.0*_data_q_p_1[q]) + k_dof_9*(-tmp_qloop_10 + tmp_qloop_4*-4.0 + 4.0*_data_q_p_0[q]))*_data_q_w[q];
+                const real_t tmp_qloop_12 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 14];
+                const real_t q_tmp_0_0 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q];
+                const real_t q_tmp_0_1 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 1];
+                const real_t q_tmp_0_2 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 2];
+                const real_t q_tmp_0_3 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 3];
+                const real_t q_tmp_0_4 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 4];
+                const real_t q_tmp_0_5 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 5];
+                const real_t q_tmp_0_6 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 6];
+                const real_t q_tmp_0_7 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 7];
+                const real_t q_tmp_0_8 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 8];
+                const real_t q_tmp_0_9 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 9];
+                const real_t q_tmp_1_0 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 10];
+                const real_t q_tmp_1_1 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 11];
+                const real_t q_tmp_1_2 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 12];
+                const real_t q_tmp_1_3 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 13];
+                const real_t q_tmp_1_4 = tmp_qloop_12;
+                const real_t q_tmp_1_5 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 15];
+                const real_t q_tmp_1_6 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 16];
+                const real_t q_tmp_1_7 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 17];
+                const real_t q_tmp_1_8 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 18];
+                const real_t q_tmp_1_9 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 19];
+                const real_t q_tmp_2_0 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 20];
+                const real_t q_tmp_2_1 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 21];
+                const real_t q_tmp_2_2 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 22];
+                const real_t q_tmp_2_3 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 23];
+                const real_t q_tmp_2_4 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 24];
+                const real_t q_tmp_2_5 = tmp_qloop_12;
+                const real_t q_tmp_2_6 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 25];
+                const real_t q_tmp_2_7 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 26];
+                const real_t q_tmp_2_8 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 27];
+                const real_t q_tmp_2_9 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 28];
+                const real_t q_tmp_3_0 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 29];
+                const real_t q_tmp_3_1 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 30];
+                const real_t q_tmp_3_2 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 31];
+                const real_t q_tmp_3_3 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 32];
+                const real_t q_tmp_3_4 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 33];
+                const real_t q_tmp_3_5 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 34];
+                const real_t q_tmp_3_6 = tmp_qloop_12;
+                const real_t q_tmp_3_7 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 35];
+                const real_t q_tmp_3_8 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 36];
+                const real_t q_tmp_3_9 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 37];
+                q_acc_0_0 = q_acc_0_0 + q_tmp_0_0;
+                q_acc_0_1 = q_acc_0_1 + q_tmp_0_1;
+                q_acc_0_2 = q_acc_0_2 + q_tmp_0_2;
+                q_acc_0_3 = q_acc_0_3 + q_tmp_0_3;
+                q_acc_0_4 = q_acc_0_4 + q_tmp_0_4;
+                q_acc_0_5 = q_acc_0_5 + q_tmp_0_5;
+                q_acc_0_6 = q_acc_0_6 + q_tmp_0_6;
+                q_acc_0_7 = q_acc_0_7 + q_tmp_0_7;
+                q_acc_0_8 = q_acc_0_8 + q_tmp_0_8;
+                q_acc_0_9 = q_acc_0_9 + q_tmp_0_9;
+                q_acc_1_0 = q_acc_1_0 + q_tmp_1_0;
+                q_acc_1_1 = q_acc_1_1 + q_tmp_1_1;
+                q_acc_1_2 = q_acc_1_2 + q_tmp_1_2;
+                q_acc_1_3 = q_acc_1_3 + q_tmp_1_3;
+                q_acc_1_4 = q_acc_1_4 + q_tmp_1_4;
+                q_acc_1_5 = q_acc_1_5 + q_tmp_1_5;
+                q_acc_1_6 = q_acc_1_6 + q_tmp_1_6;
+                q_acc_1_7 = q_acc_1_7 + q_tmp_1_7;
+                q_acc_1_8 = q_acc_1_8 + q_tmp_1_8;
+                q_acc_1_9 = q_acc_1_9 + q_tmp_1_9;
+                q_acc_2_0 = q_acc_2_0 + q_tmp_2_0;
+                q_acc_2_1 = q_acc_2_1 + q_tmp_2_1;
+                q_acc_2_2 = q_acc_2_2 + q_tmp_2_2;
+                q_acc_2_3 = q_acc_2_3 + q_tmp_2_3;
+                q_acc_2_4 = q_acc_2_4 + q_tmp_2_4;
+                q_acc_2_5 = q_acc_2_5 + q_tmp_2_5;
+                q_acc_2_6 = q_acc_2_6 + q_tmp_2_6;
+                q_acc_2_7 = q_acc_2_7 + q_tmp_2_7;
+                q_acc_2_8 = q_acc_2_8 + q_tmp_2_8;
+                q_acc_2_9 = q_acc_2_9 + q_tmp_2_9;
+                q_acc_3_0 = q_acc_3_0 + q_tmp_3_0;
+                q_acc_3_1 = q_acc_3_1 + q_tmp_3_1;
+                q_acc_3_2 = q_acc_3_2 + q_tmp_3_2;
+                q_acc_3_3 = q_acc_3_3 + q_tmp_3_3;
+                q_acc_3_4 = q_acc_3_4 + q_tmp_3_4;
+                q_acc_3_5 = q_acc_3_5 + q_tmp_3_5;
+                q_acc_3_6 = q_acc_3_6 + q_tmp_3_6;
+                q_acc_3_7 = q_acc_3_7 + q_tmp_3_7;
+                q_acc_3_8 = q_acc_3_8 + q_tmp_3_8;
+                q_acc_3_9 = q_acc_3_9 + q_tmp_3_9;
+             }
+             const real_t elMatVec_0 = q_acc_0_0*src_dof_0 + q_acc_0_1*src_dof_1 + q_acc_0_2*src_dof_2 + q_acc_0_3*src_dof_3 + q_acc_0_4*src_dof_4 + q_acc_0_5*src_dof_5 + q_acc_0_6*src_dof_6 + q_acc_0_7*src_dof_7 + q_acc_0_8*src_dof_8 + q_acc_0_9*src_dof_9;
+             const real_t elMatVec_1 = q_acc_1_0*src_dof_0 + q_acc_1_1*src_dof_1 + q_acc_1_2*src_dof_2 + q_acc_1_3*src_dof_3 + q_acc_1_4*src_dof_4 + q_acc_1_5*src_dof_5 + q_acc_1_6*src_dof_6 + q_acc_1_7*src_dof_7 + q_acc_1_8*src_dof_8 + q_acc_1_9*src_dof_9;
+             const real_t elMatVec_2 = q_acc_2_0*src_dof_0 + q_acc_2_1*src_dof_1 + q_acc_2_2*src_dof_2 + q_acc_2_3*src_dof_3 + q_acc_2_4*src_dof_4 + q_acc_2_5*src_dof_5 + q_acc_2_6*src_dof_6 + q_acc_2_7*src_dof_7 + q_acc_2_8*src_dof_8 + q_acc_2_9*src_dof_9;
+             const real_t elMatVec_3 = q_acc_3_0*src_dof_0 + q_acc_3_1*src_dof_1 + q_acc_3_2*src_dof_2 + q_acc_3_3*src_dof_3 + q_acc_3_4*src_dof_4 + q_acc_3_5*src_dof_5 + q_acc_3_6*src_dof_6 + q_acc_3_7*src_dof_7 + q_acc_3_8*src_dof_8 + q_acc_3_9*src_dof_9;
+             _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1] = elMatVec_0 + _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1];
+             _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1] = elMatVec_1 + _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1];
+             _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))] = elMatVec_2 + _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))];
+             _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1] = elMatVec_3 + _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1];
+          }
+       }
+       const real_t tmp_coords_jac_0_BLUE_UP = 1.0 / (micro_edges_per_macro_edge_float)*1.0;
+       const real_t tmp_coords_jac_1_BLUE_UP = macro_vertex_coord_id_0comp0 + tmp_coords_jac_0_BLUE_UP*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0);
+       const real_t tmp_coords_jac_2_BLUE_UP = macro_vertex_coord_id_0comp1 + tmp_coords_jac_0_BLUE_UP*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1);
+       const real_t tmp_coords_jac_3_BLUE_UP = macro_vertex_coord_id_0comp2 + tmp_coords_jac_0_BLUE_UP*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2);
+       const real_t tmp_coords_jac_4_BLUE_UP = tmp_coords_jac_0_BLUE_UP*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0);
+       const real_t tmp_coords_jac_5_BLUE_UP = tmp_coords_jac_0_BLUE_UP*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1);
+       const real_t tmp_coords_jac_6_BLUE_UP = tmp_coords_jac_0_BLUE_UP*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2);
+       const real_t p_affine_const_0_0_BLUE_UP = tmp_coords_jac_1_BLUE_UP;
+       const real_t p_affine_const_0_1_BLUE_UP = tmp_coords_jac_2_BLUE_UP;
+       const real_t p_affine_const_0_2_BLUE_UP = tmp_coords_jac_3_BLUE_UP;
+       const real_t p_affine_const_1_0_BLUE_UP = macro_vertex_coord_id_0comp0 + tmp_coords_jac_4_BLUE_UP;
+       const real_t p_affine_const_1_1_BLUE_UP = macro_vertex_coord_id_0comp1 + tmp_coords_jac_5_BLUE_UP;
+       const real_t p_affine_const_1_2_BLUE_UP = macro_vertex_coord_id_0comp2 + tmp_coords_jac_6_BLUE_UP;
+       const real_t p_affine_const_2_0_BLUE_UP = tmp_coords_jac_1_BLUE_UP + tmp_coords_jac_4_BLUE_UP;
+       const real_t p_affine_const_2_1_BLUE_UP = tmp_coords_jac_2_BLUE_UP + tmp_coords_jac_5_BLUE_UP;
+       const real_t p_affine_const_2_2_BLUE_UP = tmp_coords_jac_3_BLUE_UP + tmp_coords_jac_6_BLUE_UP;
+       const real_t p_affine_const_3_0_BLUE_UP = tmp_coords_jac_0_BLUE_UP*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0) + tmp_coords_jac_1_BLUE_UP;
+       const real_t p_affine_const_3_1_BLUE_UP = tmp_coords_jac_0_BLUE_UP*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1) + tmp_coords_jac_2_BLUE_UP;
+       const real_t p_affine_const_3_2_BLUE_UP = tmp_coords_jac_0_BLUE_UP*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2) + tmp_coords_jac_3_BLUE_UP;
+       const real_t jac_affine_0_0_BLUE_UP = -p_affine_const_0_0_BLUE_UP + p_affine_const_1_0_BLUE_UP;
+       const real_t jac_affine_0_1_BLUE_UP = -p_affine_const_0_0_BLUE_UP + p_affine_const_2_0_BLUE_UP;
+       const real_t jac_affine_0_2_BLUE_UP = -p_affine_const_0_0_BLUE_UP + p_affine_const_3_0_BLUE_UP;
+       const real_t jac_affine_1_0_BLUE_UP = -p_affine_const_0_1_BLUE_UP + p_affine_const_1_1_BLUE_UP;
+       const real_t jac_affine_1_1_BLUE_UP = -p_affine_const_0_1_BLUE_UP + p_affine_const_2_1_BLUE_UP;
+       const real_t jac_affine_1_2_BLUE_UP = -p_affine_const_0_1_BLUE_UP + p_affine_const_3_1_BLUE_UP;
+       const real_t jac_affine_2_0_BLUE_UP = -p_affine_const_0_2_BLUE_UP + p_affine_const_1_2_BLUE_UP;
+       const real_t jac_affine_2_1_BLUE_UP = -p_affine_const_0_2_BLUE_UP + p_affine_const_2_2_BLUE_UP;
+       const real_t jac_affine_2_2_BLUE_UP = -p_affine_const_0_2_BLUE_UP + p_affine_const_3_2_BLUE_UP;
+       const real_t abs_det_jac_affine_BLUE_UP = abs(jac_affine_0_0_BLUE_UP*jac_affine_1_1_BLUE_UP*jac_affine_2_2_BLUE_UP - jac_affine_0_0_BLUE_UP*jac_affine_1_2_BLUE_UP*jac_affine_2_1_BLUE_UP - jac_affine_0_1_BLUE_UP*jac_affine_1_0_BLUE_UP*jac_affine_2_2_BLUE_UP + jac_affine_0_1_BLUE_UP*jac_affine_1_2_BLUE_UP*jac_affine_2_0_BLUE_UP + jac_affine_0_2_BLUE_UP*jac_affine_1_0_BLUE_UP*jac_affine_2_1_BLUE_UP - jac_affine_0_2_BLUE_UP*jac_affine_1_1_BLUE_UP*jac_affine_2_0_BLUE_UP);
+       {
+          /* CellType.BLUE_UP */
+          const real_t _data_phi_psi_jac_affine_det_0_0_BLUE_UP [] = {((real_t)(abs_det_jac_affine_BLUE_UP*-0.03125)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.03125)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.03125)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.03125)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0625)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0625)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0625)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0625)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0625)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0625)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.03125)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.03125)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.03125)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.03125)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0625)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0625)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0625)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0625)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0625)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0625)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.03125)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.03125)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.03125)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.03125)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0625)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0625)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0625)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0625)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0625)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.03125)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.03125)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.03125)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.03125)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0625)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0625)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0625)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0625)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0625)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.018518518518518524)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.018518518518518524)), 0.0, ((real_t)(abs_det_jac_affine_BLUE_UP*0.05555555555555558)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.05555555555555558)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.018518518518518524)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.055555555555555594)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.018518518518518535)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.018518518518518535)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.018518518518518507)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.018518518518518517)), 0.0, ((real_t)(abs_det_jac_affine_BLUE_UP*0.055555555555555552)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.055555555555555552)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.055555555555555566)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.018518518518518524)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.018518518518518524)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.018518518518518507)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.018518518518518517)), 0.0, ((real_t)(abs_det_jac_affine_BLUE_UP*0.055555555555555552)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.055555555555555566)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.018518518518518524)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.018518518518518524)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.055555555555555525)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.055555555555555552)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.055555555555555552)), 0.0, ((real_t)(abs_det_jac_affine_BLUE_UP*0.16666666666666666)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.16666666666666666)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.16666666666666671)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.05555555555555558)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.05555555555555558)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.018518518518518531)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.018518518518518521)), 0.0, ((real_t)(abs_det_jac_affine_BLUE_UP*-0.018518518518518521)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.055555555555555566)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.018518518518518521)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.055555555555555566)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.018518518518518531)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.055555555555555587)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.018518518518518531)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.018518518518518524)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.018518518518518517)), 0.0, ((real_t)(abs_det_jac_affine_BLUE_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.055555555555555552)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.055555555555555552)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.018518518518518524)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.055555555555555566)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.018518518518518524)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.05555555555555558)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.055555555555555552)), 0.0, ((real_t)(abs_det_jac_affine_BLUE_UP*-0.055555555555555552)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.16666666666666666)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.16666666666666666)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.05555555555555558)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.16666666666666671)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.05555555555555558)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.018518518518518524)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.018518518518518517)), 0.0, ((real_t)(abs_det_jac_affine_BLUE_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.055555555555555552)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.018518518518518524)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.055555555555555566)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.018518518518518524)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.018518518518518531)), 0.0, ((real_t)(abs_det_jac_affine_BLUE_UP*-0.018518518518518521)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.018518518518518521)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.018518518518518521)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.055555555555555566)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.055555555555555566)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.018518518518518531)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.018518518518518531)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.055555555555555587)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.05555555555555558)), 0.0, ((real_t)(abs_det_jac_affine_BLUE_UP*-0.055555555555555552)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.055555555555555552)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.055555555555555552)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.16666666666666666)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.16666666666666666)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.05555555555555558)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.05555555555555558)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.16666666666666671)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.018518518518518524)), 0.0, ((real_t)(abs_det_jac_affine_BLUE_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.055555555555555552)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.018518518518518524)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.018518518518518524)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.055555555555555566)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.018518518518518524)), 0.0, ((real_t)(abs_det_jac_affine_BLUE_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.055555555555555552)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.018518518518518524)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.018518518518518524)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.055555555555555566)), ((real_t)(abs_det_jac_affine_BLUE_UP*2.775557561562892e-17)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.055555555555555566)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.055555555555555566)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.055555555555555566)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.055555555555555566)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.055555555555555566)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.055555555555555566)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.16666666666666671)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.16666666666666671)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.16666666666666671)), ((real_t)(abs_det_jac_affine_BLUE_UP*9.2518585385429707e-18)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.055555555555555559)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.055555555555555559)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.055555555555555559)), ((real_t)(abs_det_jac_affine_BLUE_UP*9.2518585385429707e-18)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.055555555555555559)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.055555555555555559)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.055555555555555559)), ((real_t)(abs_det_jac_affine_BLUE_UP*9.2518585385429707e-18)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.055555555555555559)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.055555555555555559)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.055555555555555559))};
+      
+          for (int64_t ctr_2 = 0; ctr_2 < micro_edges_per_macro_edge; ctr_2 += 1)
+          for (int64_t ctr_1 = 0; ctr_1 < -ctr_2 + micro_edges_per_macro_edge; ctr_1 += 1)
+          for (int64_t ctr_0 = 0; ctr_0 < -ctr_1 - ctr_2 + micro_edges_per_macro_edge - 1; ctr_0 += 1)
+          {
+             const real_t src_dof_0 = _data_srcVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1];
+             const real_t src_dof_1 = _data_srcVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))];
+             const real_t src_dof_2 = _data_srcVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1];
+             const real_t src_dof_3 = _data_srcVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1];
+             const real_t src_dof_4 = _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1];
+             const real_t src_dof_5 = _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge - 1)*(micro_edges_per_macro_edge + 1)) / (6)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))];
+             const real_t src_dof_6 = _data_srcEdge[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))];
+             const real_t src_dof_7 = _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1];
+             const real_t src_dof_8 = _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 2*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1];
+             const real_t src_dof_9 = _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))];
+             const real_t k_dof_0 = _data_kVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1];
+             const real_t k_dof_1 = _data_kVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))];
+             const real_t k_dof_2 = _data_kVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1];
+             const real_t k_dof_3 = _data_kVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1];
+             const real_t k_dof_4 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1];
+             const real_t k_dof_5 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge - 1)*(micro_edges_per_macro_edge + 1)) / (6)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))];
+             const real_t k_dof_6 = _data_kEdge[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))];
+             const real_t k_dof_7 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1];
+             const real_t k_dof_8 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 2*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1];
+             const real_t k_dof_9 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))];
+             real_t q_acc_0_0 = 0.0;
+             real_t q_acc_0_1 = 0.0;
+             real_t q_acc_0_2 = 0.0;
+             real_t q_acc_0_3 = 0.0;
+             real_t q_acc_0_4 = 0.0;
+             real_t q_acc_0_5 = 0.0;
+             real_t q_acc_0_6 = 0.0;
+             real_t q_acc_0_7 = 0.0;
+             real_t q_acc_0_8 = 0.0;
+             real_t q_acc_0_9 = 0.0;
+             real_t q_acc_1_0 = 0.0;
+             real_t q_acc_1_1 = 0.0;
+             real_t q_acc_1_2 = 0.0;
+             real_t q_acc_1_3 = 0.0;
+             real_t q_acc_1_4 = 0.0;
+             real_t q_acc_1_5 = 0.0;
+             real_t q_acc_1_6 = 0.0;
+             real_t q_acc_1_7 = 0.0;
+             real_t q_acc_1_8 = 0.0;
+             real_t q_acc_1_9 = 0.0;
+             real_t q_acc_2_0 = 0.0;
+             real_t q_acc_2_1 = 0.0;
+             real_t q_acc_2_2 = 0.0;
+             real_t q_acc_2_3 = 0.0;
+             real_t q_acc_2_4 = 0.0;
+             real_t q_acc_2_5 = 0.0;
+             real_t q_acc_2_6 = 0.0;
+             real_t q_acc_2_7 = 0.0;
+             real_t q_acc_2_8 = 0.0;
+             real_t q_acc_2_9 = 0.0;
+             real_t q_acc_3_0 = 0.0;
+             real_t q_acc_3_1 = 0.0;
+             real_t q_acc_3_2 = 0.0;
+             real_t q_acc_3_3 = 0.0;
+             real_t q_acc_3_4 = 0.0;
+             real_t q_acc_3_5 = 0.0;
+             real_t q_acc_3_6 = 0.0;
+             real_t q_acc_3_7 = 0.0;
+             real_t q_acc_3_8 = 0.0;
+             real_t q_acc_3_9 = 0.0;
+             for (int64_t q = 0; q < 5; q += 1)
+             {
+                const real_t tmp_qloop_0 = 4.0*_data_q_p_0[q];
+                const real_t tmp_qloop_1 = tmp_qloop_0*_data_q_p_1[q];
+                const real_t tmp_qloop_2 = tmp_qloop_0*_data_q_p_2[q];
+                const real_t tmp_qloop_3 = 4.0*_data_q_p_1[q]*_data_q_p_2[q];
+                const real_t tmp_qloop_4 = (_data_q_p_0[q]*_data_q_p_0[q]);
+                const real_t tmp_qloop_5 = tmp_qloop_4*2.0;
+                const real_t tmp_qloop_6 = (_data_q_p_1[q]*_data_q_p_1[q]);
+                const real_t tmp_qloop_7 = tmp_qloop_6*2.0;
+                const real_t tmp_qloop_8 = (_data_q_p_2[q]*_data_q_p_2[q]);
+                const real_t tmp_qloop_9 = tmp_qloop_8*2.0;
+                const real_t tmp_qloop_10 = tmp_qloop_1 + tmp_qloop_2;
+                const real_t tmp_qloop_11 = (k_dof_0*(tmp_qloop_10 + tmp_qloop_3 + tmp_qloop_5 + tmp_qloop_7 + tmp_qloop_9 - 3.0*_data_q_p_0[q] - 3.0*_data_q_p_1[q] - 3.0*_data_q_p_2[q] + 1.0) + k_dof_1*(tmp_qloop_5 - _data_q_p_0[q]) + k_dof_2*(tmp_qloop_7 - _data_q_p_1[q]) + k_dof_3*(tmp_qloop_9 - _data_q_p_2[q]) + k_dof_4*tmp_qloop_3 + k_dof_5*tmp_qloop_2 + k_dof_6*tmp_qloop_1 + k_dof_7*(-tmp_qloop_2 - tmp_qloop_3 + tmp_qloop_8*-4.0 + 4.0*_data_q_p_2[q]) + k_dof_8*(-tmp_qloop_1 - tmp_qloop_3 + tmp_qloop_6*-4.0 + 4.0*_data_q_p_1[q]) + k_dof_9*(-tmp_qloop_10 + tmp_qloop_4*-4.0 + 4.0*_data_q_p_0[q]))*_data_q_w[q];
+                const real_t tmp_qloop_12 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 14];
+                const real_t q_tmp_0_0 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q];
+                const real_t q_tmp_0_1 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 1];
+                const real_t q_tmp_0_2 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 2];
+                const real_t q_tmp_0_3 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 3];
+                const real_t q_tmp_0_4 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 4];
+                const real_t q_tmp_0_5 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 5];
+                const real_t q_tmp_0_6 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 6];
+                const real_t q_tmp_0_7 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 7];
+                const real_t q_tmp_0_8 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 8];
+                const real_t q_tmp_0_9 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 9];
+                const real_t q_tmp_1_0 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 10];
+                const real_t q_tmp_1_1 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 11];
+                const real_t q_tmp_1_2 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 12];
+                const real_t q_tmp_1_3 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 13];
+                const real_t q_tmp_1_4 = tmp_qloop_12;
+                const real_t q_tmp_1_5 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 15];
+                const real_t q_tmp_1_6 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 16];
+                const real_t q_tmp_1_7 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 17];
+                const real_t q_tmp_1_8 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 18];
+                const real_t q_tmp_1_9 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 19];
+                const real_t q_tmp_2_0 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 20];
+                const real_t q_tmp_2_1 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 21];
+                const real_t q_tmp_2_2 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 22];
+                const real_t q_tmp_2_3 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 23];
+                const real_t q_tmp_2_4 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 24];
+                const real_t q_tmp_2_5 = tmp_qloop_12;
+                const real_t q_tmp_2_6 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 25];
+                const real_t q_tmp_2_7 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 26];
+                const real_t q_tmp_2_8 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 27];
+                const real_t q_tmp_2_9 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 28];
+                const real_t q_tmp_3_0 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 29];
+                const real_t q_tmp_3_1 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 30];
+                const real_t q_tmp_3_2 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 31];
+                const real_t q_tmp_3_3 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 32];
+                const real_t q_tmp_3_4 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 33];
+                const real_t q_tmp_3_5 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 34];
+                const real_t q_tmp_3_6 = tmp_qloop_12;
+                const real_t q_tmp_3_7 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 35];
+                const real_t q_tmp_3_8 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 36];
+                const real_t q_tmp_3_9 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 37];
+                q_acc_0_0 = q_acc_0_0 + q_tmp_0_0;
+                q_acc_0_1 = q_acc_0_1 + q_tmp_0_1;
+                q_acc_0_2 = q_acc_0_2 + q_tmp_0_2;
+                q_acc_0_3 = q_acc_0_3 + q_tmp_0_3;
+                q_acc_0_4 = q_acc_0_4 + q_tmp_0_4;
+                q_acc_0_5 = q_acc_0_5 + q_tmp_0_5;
+                q_acc_0_6 = q_acc_0_6 + q_tmp_0_6;
+                q_acc_0_7 = q_acc_0_7 + q_tmp_0_7;
+                q_acc_0_8 = q_acc_0_8 + q_tmp_0_8;
+                q_acc_0_9 = q_acc_0_9 + q_tmp_0_9;
+                q_acc_1_0 = q_acc_1_0 + q_tmp_1_0;
+                q_acc_1_1 = q_acc_1_1 + q_tmp_1_1;
+                q_acc_1_2 = q_acc_1_2 + q_tmp_1_2;
+                q_acc_1_3 = q_acc_1_3 + q_tmp_1_3;
+                q_acc_1_4 = q_acc_1_4 + q_tmp_1_4;
+                q_acc_1_5 = q_acc_1_5 + q_tmp_1_5;
+                q_acc_1_6 = q_acc_1_6 + q_tmp_1_6;
+                q_acc_1_7 = q_acc_1_7 + q_tmp_1_7;
+                q_acc_1_8 = q_acc_1_8 + q_tmp_1_8;
+                q_acc_1_9 = q_acc_1_9 + q_tmp_1_9;
+                q_acc_2_0 = q_acc_2_0 + q_tmp_2_0;
+                q_acc_2_1 = q_acc_2_1 + q_tmp_2_1;
+                q_acc_2_2 = q_acc_2_2 + q_tmp_2_2;
+                q_acc_2_3 = q_acc_2_3 + q_tmp_2_3;
+                q_acc_2_4 = q_acc_2_4 + q_tmp_2_4;
+                q_acc_2_5 = q_acc_2_5 + q_tmp_2_5;
+                q_acc_2_6 = q_acc_2_6 + q_tmp_2_6;
+                q_acc_2_7 = q_acc_2_7 + q_tmp_2_7;
+                q_acc_2_8 = q_acc_2_8 + q_tmp_2_8;
+                q_acc_2_9 = q_acc_2_9 + q_tmp_2_9;
+                q_acc_3_0 = q_acc_3_0 + q_tmp_3_0;
+                q_acc_3_1 = q_acc_3_1 + q_tmp_3_1;
+                q_acc_3_2 = q_acc_3_2 + q_tmp_3_2;
+                q_acc_3_3 = q_acc_3_3 + q_tmp_3_3;
+                q_acc_3_4 = q_acc_3_4 + q_tmp_3_4;
+                q_acc_3_5 = q_acc_3_5 + q_tmp_3_5;
+                q_acc_3_6 = q_acc_3_6 + q_tmp_3_6;
+                q_acc_3_7 = q_acc_3_7 + q_tmp_3_7;
+                q_acc_3_8 = q_acc_3_8 + q_tmp_3_8;
+                q_acc_3_9 = q_acc_3_9 + q_tmp_3_9;
+             }
+             const real_t elMatVec_0 = q_acc_0_0*src_dof_0 + q_acc_0_1*src_dof_1 + q_acc_0_2*src_dof_2 + q_acc_0_3*src_dof_3 + q_acc_0_4*src_dof_4 + q_acc_0_5*src_dof_5 + q_acc_0_6*src_dof_6 + q_acc_0_7*src_dof_7 + q_acc_0_8*src_dof_8 + q_acc_0_9*src_dof_9;
+             const real_t elMatVec_1 = q_acc_1_0*src_dof_0 + q_acc_1_1*src_dof_1 + q_acc_1_2*src_dof_2 + q_acc_1_3*src_dof_3 + q_acc_1_4*src_dof_4 + q_acc_1_5*src_dof_5 + q_acc_1_6*src_dof_6 + q_acc_1_7*src_dof_7 + q_acc_1_8*src_dof_8 + q_acc_1_9*src_dof_9;
+             const real_t elMatVec_2 = q_acc_2_0*src_dof_0 + q_acc_2_1*src_dof_1 + q_acc_2_2*src_dof_2 + q_acc_2_3*src_dof_3 + q_acc_2_4*src_dof_4 + q_acc_2_5*src_dof_5 + q_acc_2_6*src_dof_6 + q_acc_2_7*src_dof_7 + q_acc_2_8*src_dof_8 + q_acc_2_9*src_dof_9;
+             const real_t elMatVec_3 = q_acc_3_0*src_dof_0 + q_acc_3_1*src_dof_1 + q_acc_3_2*src_dof_2 + q_acc_3_3*src_dof_3 + q_acc_3_4*src_dof_4 + q_acc_3_5*src_dof_5 + q_acc_3_6*src_dof_6 + q_acc_3_7*src_dof_7 + q_acc_3_8*src_dof_8 + q_acc_3_9*src_dof_9;
+             _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1] = elMatVec_0 + _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1];
+             _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))] = elMatVec_1 + _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))];
+             _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1] = elMatVec_2 + _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1];
+             _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1] = elMatVec_3 + _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1];
+          }
+       }
+       const real_t tmp_coords_jac_0_BLUE_DOWN = 1.0 / (micro_edges_per_macro_edge_float)*1.0;
+       const real_t tmp_coords_jac_1_BLUE_DOWN = macro_vertex_coord_id_0comp0 + tmp_coords_jac_0_BLUE_DOWN*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0);
+       const real_t tmp_coords_jac_2_BLUE_DOWN = macro_vertex_coord_id_0comp1 + tmp_coords_jac_0_BLUE_DOWN*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1);
+       const real_t tmp_coords_jac_3_BLUE_DOWN = macro_vertex_coord_id_0comp2 + tmp_coords_jac_0_BLUE_DOWN*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2);
+       const real_t tmp_coords_jac_4_BLUE_DOWN = tmp_coords_jac_0_BLUE_DOWN*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0);
+       const real_t tmp_coords_jac_5_BLUE_DOWN = macro_vertex_coord_id_0comp0 + tmp_coords_jac_4_BLUE_DOWN;
+       const real_t tmp_coords_jac_6_BLUE_DOWN = tmp_coords_jac_0_BLUE_DOWN*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1);
+       const real_t tmp_coords_jac_7_BLUE_DOWN = macro_vertex_coord_id_0comp1 + tmp_coords_jac_6_BLUE_DOWN;
+       const real_t tmp_coords_jac_8_BLUE_DOWN = tmp_coords_jac_0_BLUE_DOWN*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2);
+       const real_t tmp_coords_jac_9_BLUE_DOWN = macro_vertex_coord_id_0comp2 + tmp_coords_jac_8_BLUE_DOWN;
+       const real_t p_affine_const_0_0_BLUE_DOWN = tmp_coords_jac_1_BLUE_DOWN;
+       const real_t p_affine_const_0_1_BLUE_DOWN = tmp_coords_jac_2_BLUE_DOWN;
+       const real_t p_affine_const_0_2_BLUE_DOWN = tmp_coords_jac_3_BLUE_DOWN;
+       const real_t p_affine_const_1_0_BLUE_DOWN = tmp_coords_jac_5_BLUE_DOWN;
+       const real_t p_affine_const_1_1_BLUE_DOWN = tmp_coords_jac_7_BLUE_DOWN;
+       const real_t p_affine_const_1_2_BLUE_DOWN = tmp_coords_jac_9_BLUE_DOWN;
+       const real_t p_affine_const_2_0_BLUE_DOWN = tmp_coords_jac_0_BLUE_DOWN*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0) + tmp_coords_jac_5_BLUE_DOWN;
+       const real_t p_affine_const_2_1_BLUE_DOWN = tmp_coords_jac_0_BLUE_DOWN*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1) + tmp_coords_jac_7_BLUE_DOWN;
+       const real_t p_affine_const_2_2_BLUE_DOWN = tmp_coords_jac_0_BLUE_DOWN*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2) + tmp_coords_jac_9_BLUE_DOWN;
+       const real_t p_affine_const_3_0_BLUE_DOWN = tmp_coords_jac_1_BLUE_DOWN + tmp_coords_jac_4_BLUE_DOWN;
+       const real_t p_affine_const_3_1_BLUE_DOWN = tmp_coords_jac_2_BLUE_DOWN + tmp_coords_jac_6_BLUE_DOWN;
+       const real_t p_affine_const_3_2_BLUE_DOWN = tmp_coords_jac_3_BLUE_DOWN + tmp_coords_jac_8_BLUE_DOWN;
+       const real_t jac_affine_0_0_BLUE_DOWN = -p_affine_const_0_0_BLUE_DOWN + p_affine_const_1_0_BLUE_DOWN;
+       const real_t jac_affine_0_1_BLUE_DOWN = -p_affine_const_0_0_BLUE_DOWN + p_affine_const_2_0_BLUE_DOWN;
+       const real_t jac_affine_0_2_BLUE_DOWN = -p_affine_const_0_0_BLUE_DOWN + p_affine_const_3_0_BLUE_DOWN;
+       const real_t jac_affine_1_0_BLUE_DOWN = -p_affine_const_0_1_BLUE_DOWN + p_affine_const_1_1_BLUE_DOWN;
+       const real_t jac_affine_1_1_BLUE_DOWN = -p_affine_const_0_1_BLUE_DOWN + p_affine_const_2_1_BLUE_DOWN;
+       const real_t jac_affine_1_2_BLUE_DOWN = -p_affine_const_0_1_BLUE_DOWN + p_affine_const_3_1_BLUE_DOWN;
+       const real_t jac_affine_2_0_BLUE_DOWN = -p_affine_const_0_2_BLUE_DOWN + p_affine_const_1_2_BLUE_DOWN;
+       const real_t jac_affine_2_1_BLUE_DOWN = -p_affine_const_0_2_BLUE_DOWN + p_affine_const_2_2_BLUE_DOWN;
+       const real_t jac_affine_2_2_BLUE_DOWN = -p_affine_const_0_2_BLUE_DOWN + p_affine_const_3_2_BLUE_DOWN;
+       const real_t abs_det_jac_affine_BLUE_DOWN = abs(jac_affine_0_0_BLUE_DOWN*jac_affine_1_1_BLUE_DOWN*jac_affine_2_2_BLUE_DOWN - jac_affine_0_0_BLUE_DOWN*jac_affine_1_2_BLUE_DOWN*jac_affine_2_1_BLUE_DOWN - jac_affine_0_1_BLUE_DOWN*jac_affine_1_0_BLUE_DOWN*jac_affine_2_2_BLUE_DOWN + jac_affine_0_1_BLUE_DOWN*jac_affine_1_2_BLUE_DOWN*jac_affine_2_0_BLUE_DOWN + jac_affine_0_2_BLUE_DOWN*jac_affine_1_0_BLUE_DOWN*jac_affine_2_1_BLUE_DOWN - jac_affine_0_2_BLUE_DOWN*jac_affine_1_1_BLUE_DOWN*jac_affine_2_0_BLUE_DOWN);
+       {
+          /* CellType.BLUE_DOWN */
+          const real_t _data_phi_psi_jac_affine_det_0_0_BLUE_DOWN [] = {((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.018518518518518524)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.018518518518518524)), 0.0, ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.05555555555555558)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.05555555555555558)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.018518518518518524)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.055555555555555594)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.018518518518518535)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.018518518518518535)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.018518518518518507)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.018518518518518517)), 0.0, ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.055555555555555552)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.055555555555555552)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.055555555555555566)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.018518518518518524)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.018518518518518524)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.018518518518518507)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.018518518518518517)), 0.0, ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.055555555555555552)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.055555555555555566)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.018518518518518524)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.018518518518518524)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.055555555555555525)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.055555555555555552)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.055555555555555552)), 0.0, ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.16666666666666666)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.16666666666666666)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.16666666666666671)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.05555555555555558)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.05555555555555558)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.018518518518518531)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.018518518518518521)), 0.0, ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.018518518518518521)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.055555555555555566)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.018518518518518521)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.055555555555555566)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.018518518518518531)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.055555555555555587)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.018518518518518531)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.018518518518518524)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.018518518518518517)), 0.0, ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.055555555555555552)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.055555555555555552)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.018518518518518524)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.055555555555555566)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.018518518518518524)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.05555555555555558)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.055555555555555552)), 0.0, ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.055555555555555552)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.16666666666666666)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.16666666666666666)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.05555555555555558)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.16666666666666671)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.05555555555555558)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.018518518518518524)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.018518518518518517)), 0.0, ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.055555555555555552)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.018518518518518524)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.055555555555555566)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.018518518518518524)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.018518518518518531)), 0.0, ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.018518518518518521)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.018518518518518521)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.018518518518518521)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.055555555555555566)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.055555555555555566)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.018518518518518531)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.018518518518518531)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.055555555555555587)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.05555555555555558)), 0.0, ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.055555555555555552)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.055555555555555552)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.055555555555555552)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.16666666666666666)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.16666666666666666)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.05555555555555558)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.05555555555555558)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.16666666666666671)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.018518518518518524)), 0.0, ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.055555555555555552)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.018518518518518524)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.018518518518518524)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.055555555555555566)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.018518518518518524)), 0.0, ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.055555555555555552)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.018518518518518524)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.018518518518518524)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.055555555555555566)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*2.775557561562892e-17)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.055555555555555566)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.055555555555555566)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.055555555555555566)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.055555555555555566)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.055555555555555566)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.055555555555555566)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.16666666666666671)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.16666666666666671)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.16666666666666671)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*9.2518585385429707e-18)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.055555555555555559)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.055555555555555559)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.055555555555555559)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*9.2518585385429707e-18)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.055555555555555559)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.055555555555555559)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.055555555555555559)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*9.2518585385429707e-18)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.055555555555555559)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.055555555555555559)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.055555555555555559))};
+      
+          for (int64_t ctr_2 = 0; ctr_2 < micro_edges_per_macro_edge; ctr_2 += 1)
+          for (int64_t ctr_1 = 0; ctr_1 < -ctr_2 + micro_edges_per_macro_edge; ctr_1 += 1)
+          for (int64_t ctr_0 = 0; ctr_0 < -ctr_1 - ctr_2 + micro_edges_per_macro_edge - 1; ctr_0 += 1)
+          {
+             const real_t src_dof_0 = _data_srcVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))];
+             const real_t src_dof_1 = _data_srcVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))];
+             const real_t src_dof_2 = _data_srcVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1];
+             const real_t src_dof_3 = _data_srcVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))];
+             const real_t src_dof_4 = _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))];
+             const real_t src_dof_5 = _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + 2*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))];
+             const real_t src_dof_6 = _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))];
+             const real_t src_dof_7 = _data_srcEdge[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))];
+             const real_t src_dof_8 = _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge - 1)*(micro_edges_per_macro_edge + 1)) / (6)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))];
+             const real_t src_dof_9 = _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))];
+             const real_t k_dof_0 = _data_kVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))];
+             const real_t k_dof_1 = _data_kVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))];
+             const real_t k_dof_2 = _data_kVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1];
+             const real_t k_dof_3 = _data_kVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))];
+             const real_t k_dof_4 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))];
+             const real_t k_dof_5 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + 2*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))];
+             const real_t k_dof_6 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))];
+             const real_t k_dof_7 = _data_kEdge[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))];
+             const real_t k_dof_8 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge - 1)*(micro_edges_per_macro_edge + 1)) / (6)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))];
+             const real_t k_dof_9 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))];
+             real_t q_acc_0_0 = 0.0;
+             real_t q_acc_0_1 = 0.0;
+             real_t q_acc_0_2 = 0.0;
+             real_t q_acc_0_3 = 0.0;
+             real_t q_acc_0_4 = 0.0;
+             real_t q_acc_0_5 = 0.0;
+             real_t q_acc_0_6 = 0.0;
+             real_t q_acc_0_7 = 0.0;
+             real_t q_acc_0_8 = 0.0;
+             real_t q_acc_0_9 = 0.0;
+             real_t q_acc_1_0 = 0.0;
+             real_t q_acc_1_1 = 0.0;
+             real_t q_acc_1_2 = 0.0;
+             real_t q_acc_1_3 = 0.0;
+             real_t q_acc_1_4 = 0.0;
+             real_t q_acc_1_5 = 0.0;
+             real_t q_acc_1_6 = 0.0;
+             real_t q_acc_1_7 = 0.0;
+             real_t q_acc_1_8 = 0.0;
+             real_t q_acc_1_9 = 0.0;
+             real_t q_acc_2_0 = 0.0;
+             real_t q_acc_2_1 = 0.0;
+             real_t q_acc_2_2 = 0.0;
+             real_t q_acc_2_3 = 0.0;
+             real_t q_acc_2_4 = 0.0;
+             real_t q_acc_2_5 = 0.0;
+             real_t q_acc_2_6 = 0.0;
+             real_t q_acc_2_7 = 0.0;
+             real_t q_acc_2_8 = 0.0;
+             real_t q_acc_2_9 = 0.0;
+             real_t q_acc_3_0 = 0.0;
+             real_t q_acc_3_1 = 0.0;
+             real_t q_acc_3_2 = 0.0;
+             real_t q_acc_3_3 = 0.0;
+             real_t q_acc_3_4 = 0.0;
+             real_t q_acc_3_5 = 0.0;
+             real_t q_acc_3_6 = 0.0;
+             real_t q_acc_3_7 = 0.0;
+             real_t q_acc_3_8 = 0.0;
+             real_t q_acc_3_9 = 0.0;
+             for (int64_t q = 0; q < 5; q += 1)
+             {
+                const real_t tmp_qloop_0 = 4.0*_data_q_p_0[q];
+                const real_t tmp_qloop_1 = tmp_qloop_0*_data_q_p_1[q];
+                const real_t tmp_qloop_2 = tmp_qloop_0*_data_q_p_2[q];
+                const real_t tmp_qloop_3 = 4.0*_data_q_p_1[q]*_data_q_p_2[q];
+                const real_t tmp_qloop_4 = (_data_q_p_0[q]*_data_q_p_0[q]);
+                const real_t tmp_qloop_5 = tmp_qloop_4*2.0;
+                const real_t tmp_qloop_6 = (_data_q_p_1[q]*_data_q_p_1[q]);
+                const real_t tmp_qloop_7 = tmp_qloop_6*2.0;
+                const real_t tmp_qloop_8 = (_data_q_p_2[q]*_data_q_p_2[q]);
+                const real_t tmp_qloop_9 = tmp_qloop_8*2.0;
+                const real_t tmp_qloop_10 = tmp_qloop_1 + tmp_qloop_2;
+                const real_t tmp_qloop_11 = (k_dof_0*(tmp_qloop_10 + tmp_qloop_3 + tmp_qloop_5 + tmp_qloop_7 + tmp_qloop_9 - 3.0*_data_q_p_0[q] - 3.0*_data_q_p_1[q] - 3.0*_data_q_p_2[q] + 1.0) + k_dof_1*(tmp_qloop_5 - _data_q_p_0[q]) + k_dof_2*(tmp_qloop_7 - _data_q_p_1[q]) + k_dof_3*(tmp_qloop_9 - _data_q_p_2[q]) + k_dof_4*tmp_qloop_3 + k_dof_5*tmp_qloop_2 + k_dof_6*tmp_qloop_1 + k_dof_7*(-tmp_qloop_2 - tmp_qloop_3 + tmp_qloop_8*-4.0 + 4.0*_data_q_p_2[q]) + k_dof_8*(-tmp_qloop_1 - tmp_qloop_3 + tmp_qloop_6*-4.0 + 4.0*_data_q_p_1[q]) + k_dof_9*(-tmp_qloop_10 + tmp_qloop_4*-4.0 + 4.0*_data_q_p_0[q]))*_data_q_w[q];
+                const real_t tmp_qloop_12 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 14];
+                const real_t q_tmp_0_0 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q];
+                const real_t q_tmp_0_1 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 1];
+                const real_t q_tmp_0_2 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 2];
+                const real_t q_tmp_0_3 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 3];
+                const real_t q_tmp_0_4 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 4];
+                const real_t q_tmp_0_5 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 5];
+                const real_t q_tmp_0_6 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 6];
+                const real_t q_tmp_0_7 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 7];
+                const real_t q_tmp_0_8 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 8];
+                const real_t q_tmp_0_9 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 9];
+                const real_t q_tmp_1_0 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 10];
+                const real_t q_tmp_1_1 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 11];
+                const real_t q_tmp_1_2 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 12];
+                const real_t q_tmp_1_3 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 13];
+                const real_t q_tmp_1_4 = tmp_qloop_12;
+                const real_t q_tmp_1_5 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 15];
+                const real_t q_tmp_1_6 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 16];
+                const real_t q_tmp_1_7 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 17];
+                const real_t q_tmp_1_8 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 18];
+                const real_t q_tmp_1_9 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 19];
+                const real_t q_tmp_2_0 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 20];
+                const real_t q_tmp_2_1 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 21];
+                const real_t q_tmp_2_2 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 22];
+                const real_t q_tmp_2_3 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 23];
+                const real_t q_tmp_2_4 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 24];
+                const real_t q_tmp_2_5 = tmp_qloop_12;
+                const real_t q_tmp_2_6 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 25];
+                const real_t q_tmp_2_7 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 26];
+                const real_t q_tmp_2_8 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 27];
+                const real_t q_tmp_2_9 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 28];
+                const real_t q_tmp_3_0 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 29];
+                const real_t q_tmp_3_1 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 30];
+                const real_t q_tmp_3_2 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 31];
+                const real_t q_tmp_3_3 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 32];
+                const real_t q_tmp_3_4 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 33];
+                const real_t q_tmp_3_5 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 34];
+                const real_t q_tmp_3_6 = tmp_qloop_12;
+                const real_t q_tmp_3_7 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 35];
+                const real_t q_tmp_3_8 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 36];
+                const real_t q_tmp_3_9 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 37];
+                q_acc_0_0 = q_acc_0_0 + q_tmp_0_0;
+                q_acc_0_1 = q_acc_0_1 + q_tmp_0_1;
+                q_acc_0_2 = q_acc_0_2 + q_tmp_0_2;
+                q_acc_0_3 = q_acc_0_3 + q_tmp_0_3;
+                q_acc_0_4 = q_acc_0_4 + q_tmp_0_4;
+                q_acc_0_5 = q_acc_0_5 + q_tmp_0_5;
+                q_acc_0_6 = q_acc_0_6 + q_tmp_0_6;
+                q_acc_0_7 = q_acc_0_7 + q_tmp_0_7;
+                q_acc_0_8 = q_acc_0_8 + q_tmp_0_8;
+                q_acc_0_9 = q_acc_0_9 + q_tmp_0_9;
+                q_acc_1_0 = q_acc_1_0 + q_tmp_1_0;
+                q_acc_1_1 = q_acc_1_1 + q_tmp_1_1;
+                q_acc_1_2 = q_acc_1_2 + q_tmp_1_2;
+                q_acc_1_3 = q_acc_1_3 + q_tmp_1_3;
+                q_acc_1_4 = q_acc_1_4 + q_tmp_1_4;
+                q_acc_1_5 = q_acc_1_5 + q_tmp_1_5;
+                q_acc_1_6 = q_acc_1_6 + q_tmp_1_6;
+                q_acc_1_7 = q_acc_1_7 + q_tmp_1_7;
+                q_acc_1_8 = q_acc_1_8 + q_tmp_1_8;
+                q_acc_1_9 = q_acc_1_9 + q_tmp_1_9;
+                q_acc_2_0 = q_acc_2_0 + q_tmp_2_0;
+                q_acc_2_1 = q_acc_2_1 + q_tmp_2_1;
+                q_acc_2_2 = q_acc_2_2 + q_tmp_2_2;
+                q_acc_2_3 = q_acc_2_3 + q_tmp_2_3;
+                q_acc_2_4 = q_acc_2_4 + q_tmp_2_4;
+                q_acc_2_5 = q_acc_2_5 + q_tmp_2_5;
+                q_acc_2_6 = q_acc_2_6 + q_tmp_2_6;
+                q_acc_2_7 = q_acc_2_7 + q_tmp_2_7;
+                q_acc_2_8 = q_acc_2_8 + q_tmp_2_8;
+                q_acc_2_9 = q_acc_2_9 + q_tmp_2_9;
+                q_acc_3_0 = q_acc_3_0 + q_tmp_3_0;
+                q_acc_3_1 = q_acc_3_1 + q_tmp_3_1;
+                q_acc_3_2 = q_acc_3_2 + q_tmp_3_2;
+                q_acc_3_3 = q_acc_3_3 + q_tmp_3_3;
+                q_acc_3_4 = q_acc_3_4 + q_tmp_3_4;
+                q_acc_3_5 = q_acc_3_5 + q_tmp_3_5;
+                q_acc_3_6 = q_acc_3_6 + q_tmp_3_6;
+                q_acc_3_7 = q_acc_3_7 + q_tmp_3_7;
+                q_acc_3_8 = q_acc_3_8 + q_tmp_3_8;
+                q_acc_3_9 = q_acc_3_9 + q_tmp_3_9;
+             }
+             const real_t elMatVec_0 = q_acc_0_0*src_dof_0 + q_acc_0_1*src_dof_1 + q_acc_0_2*src_dof_2 + q_acc_0_3*src_dof_3 + q_acc_0_4*src_dof_4 + q_acc_0_5*src_dof_5 + q_acc_0_6*src_dof_6 + q_acc_0_7*src_dof_7 + q_acc_0_8*src_dof_8 + q_acc_0_9*src_dof_9;
+             const real_t elMatVec_1 = q_acc_1_0*src_dof_0 + q_acc_1_1*src_dof_1 + q_acc_1_2*src_dof_2 + q_acc_1_3*src_dof_3 + q_acc_1_4*src_dof_4 + q_acc_1_5*src_dof_5 + q_acc_1_6*src_dof_6 + q_acc_1_7*src_dof_7 + q_acc_1_8*src_dof_8 + q_acc_1_9*src_dof_9;
+             const real_t elMatVec_2 = q_acc_2_0*src_dof_0 + q_acc_2_1*src_dof_1 + q_acc_2_2*src_dof_2 + q_acc_2_3*src_dof_3 + q_acc_2_4*src_dof_4 + q_acc_2_5*src_dof_5 + q_acc_2_6*src_dof_6 + q_acc_2_7*src_dof_7 + q_acc_2_8*src_dof_8 + q_acc_2_9*src_dof_9;
+             const real_t elMatVec_3 = q_acc_3_0*src_dof_0 + q_acc_3_1*src_dof_1 + q_acc_3_2*src_dof_2 + q_acc_3_3*src_dof_3 + q_acc_3_4*src_dof_4 + q_acc_3_5*src_dof_5 + q_acc_3_6*src_dof_6 + q_acc_3_7*src_dof_7 + q_acc_3_8*src_dof_8 + q_acc_3_9*src_dof_9;
+             _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))] = elMatVec_0 + _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))];
+             _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))] = elMatVec_1 + _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))];
+             _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1] = elMatVec_2 + _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1];
+             _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))] = elMatVec_3 + _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))];
+          }
+       }
+       const real_t tmp_coords_jac_0_GREEN_UP = 1.0 / (micro_edges_per_macro_edge_float)*1.0;
+       const real_t tmp_coords_jac_1_GREEN_UP = macro_vertex_coord_id_0comp0 + tmp_coords_jac_0_GREEN_UP*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0);
+       const real_t tmp_coords_jac_2_GREEN_UP = macro_vertex_coord_id_0comp1 + tmp_coords_jac_0_GREEN_UP*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1);
+       const real_t tmp_coords_jac_3_GREEN_UP = macro_vertex_coord_id_0comp2 + tmp_coords_jac_0_GREEN_UP*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2);
+       const real_t tmp_coords_jac_4_GREEN_UP = tmp_coords_jac_0_GREEN_UP*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0);
+       const real_t tmp_coords_jac_5_GREEN_UP = tmp_coords_jac_0_GREEN_UP*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1);
+       const real_t tmp_coords_jac_6_GREEN_UP = tmp_coords_jac_0_GREEN_UP*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2);
+       const real_t p_affine_const_0_0_GREEN_UP = tmp_coords_jac_1_GREEN_UP;
+       const real_t p_affine_const_0_1_GREEN_UP = tmp_coords_jac_2_GREEN_UP;
+       const real_t p_affine_const_0_2_GREEN_UP = tmp_coords_jac_3_GREEN_UP;
+       const real_t p_affine_const_1_0_GREEN_UP = macro_vertex_coord_id_0comp0 + tmp_coords_jac_0_GREEN_UP*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0);
+       const real_t p_affine_const_1_1_GREEN_UP = macro_vertex_coord_id_0comp1 + tmp_coords_jac_0_GREEN_UP*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1);
+       const real_t p_affine_const_1_2_GREEN_UP = macro_vertex_coord_id_0comp2 + tmp_coords_jac_0_GREEN_UP*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2);
+       const real_t p_affine_const_2_0_GREEN_UP = macro_vertex_coord_id_0comp0 + tmp_coords_jac_4_GREEN_UP;
+       const real_t p_affine_const_2_1_GREEN_UP = macro_vertex_coord_id_0comp1 + tmp_coords_jac_5_GREEN_UP;
+       const real_t p_affine_const_2_2_GREEN_UP = macro_vertex_coord_id_0comp2 + tmp_coords_jac_6_GREEN_UP;
+       const real_t p_affine_const_3_0_GREEN_UP = tmp_coords_jac_1_GREEN_UP + tmp_coords_jac_4_GREEN_UP;
+       const real_t p_affine_const_3_1_GREEN_UP = tmp_coords_jac_2_GREEN_UP + tmp_coords_jac_5_GREEN_UP;
+       const real_t p_affine_const_3_2_GREEN_UP = tmp_coords_jac_3_GREEN_UP + tmp_coords_jac_6_GREEN_UP;
+       const real_t jac_affine_0_0_GREEN_UP = -p_affine_const_0_0_GREEN_UP + p_affine_const_1_0_GREEN_UP;
+       const real_t jac_affine_0_1_GREEN_UP = -p_affine_const_0_0_GREEN_UP + p_affine_const_2_0_GREEN_UP;
+       const real_t jac_affine_0_2_GREEN_UP = -p_affine_const_0_0_GREEN_UP + p_affine_const_3_0_GREEN_UP;
+       const real_t jac_affine_1_0_GREEN_UP = -p_affine_const_0_1_GREEN_UP + p_affine_const_1_1_GREEN_UP;
+       const real_t jac_affine_1_1_GREEN_UP = -p_affine_const_0_1_GREEN_UP + p_affine_const_2_1_GREEN_UP;
+       const real_t jac_affine_1_2_GREEN_UP = -p_affine_const_0_1_GREEN_UP + p_affine_const_3_1_GREEN_UP;
+       const real_t jac_affine_2_0_GREEN_UP = -p_affine_const_0_2_GREEN_UP + p_affine_const_1_2_GREEN_UP;
+       const real_t jac_affine_2_1_GREEN_UP = -p_affine_const_0_2_GREEN_UP + p_affine_const_2_2_GREEN_UP;
+       const real_t jac_affine_2_2_GREEN_UP = -p_affine_const_0_2_GREEN_UP + p_affine_const_3_2_GREEN_UP;
+       const real_t abs_det_jac_affine_GREEN_UP = abs(jac_affine_0_0_GREEN_UP*jac_affine_1_1_GREEN_UP*jac_affine_2_2_GREEN_UP - jac_affine_0_0_GREEN_UP*jac_affine_1_2_GREEN_UP*jac_affine_2_1_GREEN_UP - jac_affine_0_1_GREEN_UP*jac_affine_1_0_GREEN_UP*jac_affine_2_2_GREEN_UP + jac_affine_0_1_GREEN_UP*jac_affine_1_2_GREEN_UP*jac_affine_2_0_GREEN_UP + jac_affine_0_2_GREEN_UP*jac_affine_1_0_GREEN_UP*jac_affine_2_1_GREEN_UP - jac_affine_0_2_GREEN_UP*jac_affine_1_1_GREEN_UP*jac_affine_2_0_GREEN_UP);
+       {
+          /* CellType.GREEN_UP */
+          const real_t _data_phi_psi_jac_affine_det_0_0_GREEN_UP [] = {((real_t)(abs_det_jac_affine_GREEN_UP*-0.03125)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.03125)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.03125)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.03125)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0625)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0625)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0625)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0625)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0625)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0625)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.03125)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.03125)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.03125)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.03125)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0625)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0625)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0625)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0625)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0625)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0625)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.03125)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.03125)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.03125)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.03125)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0625)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0625)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0625)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0625)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0625)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.03125)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.03125)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.03125)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.03125)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0625)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0625)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0625)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0625)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0625)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.018518518518518524)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.018518518518518524)), 0.0, ((real_t)(abs_det_jac_affine_GREEN_UP*0.05555555555555558)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.05555555555555558)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.018518518518518524)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.055555555555555594)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.018518518518518535)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.018518518518518535)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.018518518518518507)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.018518518518518517)), 0.0, ((real_t)(abs_det_jac_affine_GREEN_UP*0.055555555555555552)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.055555555555555552)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.055555555555555566)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.018518518518518524)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.018518518518518524)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.018518518518518507)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.018518518518518517)), 0.0, ((real_t)(abs_det_jac_affine_GREEN_UP*0.055555555555555552)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.055555555555555566)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.018518518518518524)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.018518518518518524)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.055555555555555525)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.055555555555555552)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.055555555555555552)), 0.0, ((real_t)(abs_det_jac_affine_GREEN_UP*0.16666666666666666)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.16666666666666666)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.16666666666666671)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.05555555555555558)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.05555555555555558)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.018518518518518531)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.018518518518518521)), 0.0, ((real_t)(abs_det_jac_affine_GREEN_UP*-0.018518518518518521)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.055555555555555566)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.018518518518518521)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.055555555555555566)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.018518518518518531)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.055555555555555587)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.018518518518518531)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.018518518518518524)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.018518518518518517)), 0.0, ((real_t)(abs_det_jac_affine_GREEN_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.055555555555555552)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.055555555555555552)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.018518518518518524)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.055555555555555566)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.018518518518518524)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.05555555555555558)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.055555555555555552)), 0.0, ((real_t)(abs_det_jac_affine_GREEN_UP*-0.055555555555555552)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.16666666666666666)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.16666666666666666)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.05555555555555558)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.16666666666666671)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.05555555555555558)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.018518518518518524)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.018518518518518517)), 0.0, ((real_t)(abs_det_jac_affine_GREEN_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.055555555555555552)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.018518518518518524)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.055555555555555566)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.018518518518518524)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.018518518518518531)), 0.0, ((real_t)(abs_det_jac_affine_GREEN_UP*-0.018518518518518521)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.018518518518518521)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.018518518518518521)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.055555555555555566)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.055555555555555566)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.018518518518518531)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.018518518518518531)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.055555555555555587)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.05555555555555558)), 0.0, ((real_t)(abs_det_jac_affine_GREEN_UP*-0.055555555555555552)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.055555555555555552)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.055555555555555552)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.16666666666666666)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.16666666666666666)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.05555555555555558)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.05555555555555558)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.16666666666666671)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.018518518518518524)), 0.0, ((real_t)(abs_det_jac_affine_GREEN_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.055555555555555552)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.018518518518518524)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.018518518518518524)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.055555555555555566)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.018518518518518524)), 0.0, ((real_t)(abs_det_jac_affine_GREEN_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.055555555555555552)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.018518518518518524)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.018518518518518524)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.055555555555555566)), ((real_t)(abs_det_jac_affine_GREEN_UP*2.775557561562892e-17)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.055555555555555566)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.055555555555555566)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.055555555555555566)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.055555555555555566)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.055555555555555566)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.055555555555555566)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.16666666666666671)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.16666666666666671)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.16666666666666671)), ((real_t)(abs_det_jac_affine_GREEN_UP*9.2518585385429707e-18)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.055555555555555559)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.055555555555555559)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.055555555555555559)), ((real_t)(abs_det_jac_affine_GREEN_UP*9.2518585385429707e-18)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.055555555555555559)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.055555555555555559)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.055555555555555559)), ((real_t)(abs_det_jac_affine_GREEN_UP*9.2518585385429707e-18)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.055555555555555559)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.055555555555555559)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.055555555555555559))};
+      
+          for (int64_t ctr_2 = 0; ctr_2 < micro_edges_per_macro_edge; ctr_2 += 1)
+          for (int64_t ctr_1 = 0; ctr_1 < -ctr_2 + micro_edges_per_macro_edge; ctr_1 += 1)
+          for (int64_t ctr_0 = 0; ctr_0 < -ctr_1 - ctr_2 + micro_edges_per_macro_edge - 1; ctr_0 += 1)
+          {
+             const real_t src_dof_0 = _data_srcVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1];
+             const real_t src_dof_1 = _data_srcVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))];
+             const real_t src_dof_2 = _data_srcVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))];
+             const real_t src_dof_3 = _data_srcVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1];
+             const real_t src_dof_4 = _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))];
+             const real_t src_dof_5 = _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge - 1)*(micro_edges_per_macro_edge + 1)) / (6)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))];
+             const real_t src_dof_6 = _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))];
+             const real_t src_dof_7 = _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1];
+             const real_t src_dof_8 = _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 5*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))];
+             const real_t src_dof_9 = _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))];
+             const real_t k_dof_0 = _data_kVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1];
+             const real_t k_dof_1 = _data_kVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))];
+             const real_t k_dof_2 = _data_kVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))];
+             const real_t k_dof_3 = _data_kVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1];
+             const real_t k_dof_4 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))];
+             const real_t k_dof_5 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge - 1)*(micro_edges_per_macro_edge + 1)) / (6)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))];
+             const real_t k_dof_6 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))];
+             const real_t k_dof_7 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1];
+             const real_t k_dof_8 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 5*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))];
+             const real_t k_dof_9 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))];
+             real_t q_acc_0_0 = 0.0;
+             real_t q_acc_0_1 = 0.0;
+             real_t q_acc_0_2 = 0.0;
+             real_t q_acc_0_3 = 0.0;
+             real_t q_acc_0_4 = 0.0;
+             real_t q_acc_0_5 = 0.0;
+             real_t q_acc_0_6 = 0.0;
+             real_t q_acc_0_7 = 0.0;
+             real_t q_acc_0_8 = 0.0;
+             real_t q_acc_0_9 = 0.0;
+             real_t q_acc_1_0 = 0.0;
+             real_t q_acc_1_1 = 0.0;
+             real_t q_acc_1_2 = 0.0;
+             real_t q_acc_1_3 = 0.0;
+             real_t q_acc_1_4 = 0.0;
+             real_t q_acc_1_5 = 0.0;
+             real_t q_acc_1_6 = 0.0;
+             real_t q_acc_1_7 = 0.0;
+             real_t q_acc_1_8 = 0.0;
+             real_t q_acc_1_9 = 0.0;
+             real_t q_acc_2_0 = 0.0;
+             real_t q_acc_2_1 = 0.0;
+             real_t q_acc_2_2 = 0.0;
+             real_t q_acc_2_3 = 0.0;
+             real_t q_acc_2_4 = 0.0;
+             real_t q_acc_2_5 = 0.0;
+             real_t q_acc_2_6 = 0.0;
+             real_t q_acc_2_7 = 0.0;
+             real_t q_acc_2_8 = 0.0;
+             real_t q_acc_2_9 = 0.0;
+             real_t q_acc_3_0 = 0.0;
+             real_t q_acc_3_1 = 0.0;
+             real_t q_acc_3_2 = 0.0;
+             real_t q_acc_3_3 = 0.0;
+             real_t q_acc_3_4 = 0.0;
+             real_t q_acc_3_5 = 0.0;
+             real_t q_acc_3_6 = 0.0;
+             real_t q_acc_3_7 = 0.0;
+             real_t q_acc_3_8 = 0.0;
+             real_t q_acc_3_9 = 0.0;
+             for (int64_t q = 0; q < 5; q += 1)
+             {
+                const real_t tmp_qloop_0 = 4.0*_data_q_p_0[q];
+                const real_t tmp_qloop_1 = tmp_qloop_0*_data_q_p_1[q];
+                const real_t tmp_qloop_2 = tmp_qloop_0*_data_q_p_2[q];
+                const real_t tmp_qloop_3 = 4.0*_data_q_p_1[q]*_data_q_p_2[q];
+                const real_t tmp_qloop_4 = (_data_q_p_0[q]*_data_q_p_0[q]);
+                const real_t tmp_qloop_5 = tmp_qloop_4*2.0;
+                const real_t tmp_qloop_6 = (_data_q_p_1[q]*_data_q_p_1[q]);
+                const real_t tmp_qloop_7 = tmp_qloop_6*2.0;
+                const real_t tmp_qloop_8 = (_data_q_p_2[q]*_data_q_p_2[q]);
+                const real_t tmp_qloop_9 = tmp_qloop_8*2.0;
+                const real_t tmp_qloop_10 = tmp_qloop_1 + tmp_qloop_2;
+                const real_t tmp_qloop_11 = (k_dof_0*(tmp_qloop_10 + tmp_qloop_3 + tmp_qloop_5 + tmp_qloop_7 + tmp_qloop_9 - 3.0*_data_q_p_0[q] - 3.0*_data_q_p_1[q] - 3.0*_data_q_p_2[q] + 1.0) + k_dof_1*(tmp_qloop_5 - _data_q_p_0[q]) + k_dof_2*(tmp_qloop_7 - _data_q_p_1[q]) + k_dof_3*(tmp_qloop_9 - _data_q_p_2[q]) + k_dof_4*tmp_qloop_3 + k_dof_5*tmp_qloop_2 + k_dof_6*tmp_qloop_1 + k_dof_7*(-tmp_qloop_2 - tmp_qloop_3 + tmp_qloop_8*-4.0 + 4.0*_data_q_p_2[q]) + k_dof_8*(-tmp_qloop_1 - tmp_qloop_3 + tmp_qloop_6*-4.0 + 4.0*_data_q_p_1[q]) + k_dof_9*(-tmp_qloop_10 + tmp_qloop_4*-4.0 + 4.0*_data_q_p_0[q]))*_data_q_w[q];
+                const real_t tmp_qloop_12 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 14];
+                const real_t q_tmp_0_0 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q];
+                const real_t q_tmp_0_1 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 1];
+                const real_t q_tmp_0_2 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 2];
+                const real_t q_tmp_0_3 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 3];
+                const real_t q_tmp_0_4 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 4];
+                const real_t q_tmp_0_5 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 5];
+                const real_t q_tmp_0_6 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 6];
+                const real_t q_tmp_0_7 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 7];
+                const real_t q_tmp_0_8 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 8];
+                const real_t q_tmp_0_9 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 9];
+                const real_t q_tmp_1_0 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 10];
+                const real_t q_tmp_1_1 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 11];
+                const real_t q_tmp_1_2 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 12];
+                const real_t q_tmp_1_3 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 13];
+                const real_t q_tmp_1_4 = tmp_qloop_12;
+                const real_t q_tmp_1_5 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 15];
+                const real_t q_tmp_1_6 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 16];
+                const real_t q_tmp_1_7 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 17];
+                const real_t q_tmp_1_8 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 18];
+                const real_t q_tmp_1_9 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 19];
+                const real_t q_tmp_2_0 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 20];
+                const real_t q_tmp_2_1 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 21];
+                const real_t q_tmp_2_2 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 22];
+                const real_t q_tmp_2_3 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 23];
+                const real_t q_tmp_2_4 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 24];
+                const real_t q_tmp_2_5 = tmp_qloop_12;
+                const real_t q_tmp_2_6 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 25];
+                const real_t q_tmp_2_7 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 26];
+                const real_t q_tmp_2_8 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 27];
+                const real_t q_tmp_2_9 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 28];
+                const real_t q_tmp_3_0 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 29];
+                const real_t q_tmp_3_1 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 30];
+                const real_t q_tmp_3_2 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 31];
+                const real_t q_tmp_3_3 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 32];
+                const real_t q_tmp_3_4 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 33];
+                const real_t q_tmp_3_5 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 34];
+                const real_t q_tmp_3_6 = tmp_qloop_12;
+                const real_t q_tmp_3_7 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 35];
+                const real_t q_tmp_3_8 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 36];
+                const real_t q_tmp_3_9 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 37];
+                q_acc_0_0 = q_acc_0_0 + q_tmp_0_0;
+                q_acc_0_1 = q_acc_0_1 + q_tmp_0_1;
+                q_acc_0_2 = q_acc_0_2 + q_tmp_0_2;
+                q_acc_0_3 = q_acc_0_3 + q_tmp_0_3;
+                q_acc_0_4 = q_acc_0_4 + q_tmp_0_4;
+                q_acc_0_5 = q_acc_0_5 + q_tmp_0_5;
+                q_acc_0_6 = q_acc_0_6 + q_tmp_0_6;
+                q_acc_0_7 = q_acc_0_7 + q_tmp_0_7;
+                q_acc_0_8 = q_acc_0_8 + q_tmp_0_8;
+                q_acc_0_9 = q_acc_0_9 + q_tmp_0_9;
+                q_acc_1_0 = q_acc_1_0 + q_tmp_1_0;
+                q_acc_1_1 = q_acc_1_1 + q_tmp_1_1;
+                q_acc_1_2 = q_acc_1_2 + q_tmp_1_2;
+                q_acc_1_3 = q_acc_1_3 + q_tmp_1_3;
+                q_acc_1_4 = q_acc_1_4 + q_tmp_1_4;
+                q_acc_1_5 = q_acc_1_5 + q_tmp_1_5;
+                q_acc_1_6 = q_acc_1_6 + q_tmp_1_6;
+                q_acc_1_7 = q_acc_1_7 + q_tmp_1_7;
+                q_acc_1_8 = q_acc_1_8 + q_tmp_1_8;
+                q_acc_1_9 = q_acc_1_9 + q_tmp_1_9;
+                q_acc_2_0 = q_acc_2_0 + q_tmp_2_0;
+                q_acc_2_1 = q_acc_2_1 + q_tmp_2_1;
+                q_acc_2_2 = q_acc_2_2 + q_tmp_2_2;
+                q_acc_2_3 = q_acc_2_3 + q_tmp_2_3;
+                q_acc_2_4 = q_acc_2_4 + q_tmp_2_4;
+                q_acc_2_5 = q_acc_2_5 + q_tmp_2_5;
+                q_acc_2_6 = q_acc_2_6 + q_tmp_2_6;
+                q_acc_2_7 = q_acc_2_7 + q_tmp_2_7;
+                q_acc_2_8 = q_acc_2_8 + q_tmp_2_8;
+                q_acc_2_9 = q_acc_2_9 + q_tmp_2_9;
+                q_acc_3_0 = q_acc_3_0 + q_tmp_3_0;
+                q_acc_3_1 = q_acc_3_1 + q_tmp_3_1;
+                q_acc_3_2 = q_acc_3_2 + q_tmp_3_2;
+                q_acc_3_3 = q_acc_3_3 + q_tmp_3_3;
+                q_acc_3_4 = q_acc_3_4 + q_tmp_3_4;
+                q_acc_3_5 = q_acc_3_5 + q_tmp_3_5;
+                q_acc_3_6 = q_acc_3_6 + q_tmp_3_6;
+                q_acc_3_7 = q_acc_3_7 + q_tmp_3_7;
+                q_acc_3_8 = q_acc_3_8 + q_tmp_3_8;
+                q_acc_3_9 = q_acc_3_9 + q_tmp_3_9;
+             }
+             const real_t elMatVec_0 = q_acc_0_0*src_dof_0 + q_acc_0_1*src_dof_1 + q_acc_0_2*src_dof_2 + q_acc_0_3*src_dof_3 + q_acc_0_4*src_dof_4 + q_acc_0_5*src_dof_5 + q_acc_0_6*src_dof_6 + q_acc_0_7*src_dof_7 + q_acc_0_8*src_dof_8 + q_acc_0_9*src_dof_9;
+             const real_t elMatVec_1 = q_acc_1_0*src_dof_0 + q_acc_1_1*src_dof_1 + q_acc_1_2*src_dof_2 + q_acc_1_3*src_dof_3 + q_acc_1_4*src_dof_4 + q_acc_1_5*src_dof_5 + q_acc_1_6*src_dof_6 + q_acc_1_7*src_dof_7 + q_acc_1_8*src_dof_8 + q_acc_1_9*src_dof_9;
+             const real_t elMatVec_2 = q_acc_2_0*src_dof_0 + q_acc_2_1*src_dof_1 + q_acc_2_2*src_dof_2 + q_acc_2_3*src_dof_3 + q_acc_2_4*src_dof_4 + q_acc_2_5*src_dof_5 + q_acc_2_6*src_dof_6 + q_acc_2_7*src_dof_7 + q_acc_2_8*src_dof_8 + q_acc_2_9*src_dof_9;
+             const real_t elMatVec_3 = q_acc_3_0*src_dof_0 + q_acc_3_1*src_dof_1 + q_acc_3_2*src_dof_2 + q_acc_3_3*src_dof_3 + q_acc_3_4*src_dof_4 + q_acc_3_5*src_dof_5 + q_acc_3_6*src_dof_6 + q_acc_3_7*src_dof_7 + q_acc_3_8*src_dof_8 + q_acc_3_9*src_dof_9;
+             _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1] = elMatVec_0 + _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1];
+             _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))] = elMatVec_1 + _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))];
+             _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))] = elMatVec_2 + _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))];
+             _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1] = elMatVec_3 + _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1];
+          }
+       }
+       const real_t tmp_coords_jac_0_GREEN_DOWN = 1.0 / (micro_edges_per_macro_edge_float)*1.0;
+       const real_t tmp_coords_jac_1_GREEN_DOWN = macro_vertex_coord_id_0comp0 + tmp_coords_jac_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0);
+       const real_t tmp_coords_jac_2_GREEN_DOWN = macro_vertex_coord_id_0comp1 + tmp_coords_jac_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1);
+       const real_t tmp_coords_jac_3_GREEN_DOWN = macro_vertex_coord_id_0comp2 + tmp_coords_jac_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2);
+       const real_t tmp_coords_jac_4_GREEN_DOWN = tmp_coords_jac_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0);
+       const real_t tmp_coords_jac_5_GREEN_DOWN = tmp_coords_jac_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1);
+       const real_t tmp_coords_jac_6_GREEN_DOWN = tmp_coords_jac_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2);
+       const real_t tmp_coords_jac_7_GREEN_DOWN = tmp_coords_jac_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0);
+       const real_t tmp_coords_jac_8_GREEN_DOWN = tmp_coords_jac_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1);
+       const real_t tmp_coords_jac_9_GREEN_DOWN = tmp_coords_jac_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2);
+       const real_t p_affine_const_0_0_GREEN_DOWN = tmp_coords_jac_1_GREEN_DOWN;
+       const real_t p_affine_const_0_1_GREEN_DOWN = tmp_coords_jac_2_GREEN_DOWN;
+       const real_t p_affine_const_0_2_GREEN_DOWN = tmp_coords_jac_3_GREEN_DOWN;
+       const real_t p_affine_const_1_0_GREEN_DOWN = tmp_coords_jac_1_GREEN_DOWN + tmp_coords_jac_4_GREEN_DOWN;
+       const real_t p_affine_const_1_1_GREEN_DOWN = tmp_coords_jac_2_GREEN_DOWN + tmp_coords_jac_5_GREEN_DOWN;
+       const real_t p_affine_const_1_2_GREEN_DOWN = tmp_coords_jac_3_GREEN_DOWN + tmp_coords_jac_6_GREEN_DOWN;
+       const real_t p_affine_const_2_0_GREEN_DOWN = macro_vertex_coord_id_0comp0 + tmp_coords_jac_4_GREEN_DOWN + tmp_coords_jac_7_GREEN_DOWN;
+       const real_t p_affine_const_2_1_GREEN_DOWN = macro_vertex_coord_id_0comp1 + tmp_coords_jac_5_GREEN_DOWN + tmp_coords_jac_8_GREEN_DOWN;
+       const real_t p_affine_const_2_2_GREEN_DOWN = macro_vertex_coord_id_0comp2 + tmp_coords_jac_6_GREEN_DOWN + tmp_coords_jac_9_GREEN_DOWN;
+       const real_t p_affine_const_3_0_GREEN_DOWN = tmp_coords_jac_1_GREEN_DOWN + tmp_coords_jac_7_GREEN_DOWN;
+       const real_t p_affine_const_3_1_GREEN_DOWN = tmp_coords_jac_2_GREEN_DOWN + tmp_coords_jac_8_GREEN_DOWN;
+       const real_t p_affine_const_3_2_GREEN_DOWN = tmp_coords_jac_3_GREEN_DOWN + tmp_coords_jac_9_GREEN_DOWN;
+       const real_t jac_affine_0_0_GREEN_DOWN = -p_affine_const_0_0_GREEN_DOWN + p_affine_const_1_0_GREEN_DOWN;
+       const real_t jac_affine_0_1_GREEN_DOWN = -p_affine_const_0_0_GREEN_DOWN + p_affine_const_2_0_GREEN_DOWN;
+       const real_t jac_affine_0_2_GREEN_DOWN = -p_affine_const_0_0_GREEN_DOWN + p_affine_const_3_0_GREEN_DOWN;
+       const real_t jac_affine_1_0_GREEN_DOWN = -p_affine_const_0_1_GREEN_DOWN + p_affine_const_1_1_GREEN_DOWN;
+       const real_t jac_affine_1_1_GREEN_DOWN = -p_affine_const_0_1_GREEN_DOWN + p_affine_const_2_1_GREEN_DOWN;
+       const real_t jac_affine_1_2_GREEN_DOWN = -p_affine_const_0_1_GREEN_DOWN + p_affine_const_3_1_GREEN_DOWN;
+       const real_t jac_affine_2_0_GREEN_DOWN = -p_affine_const_0_2_GREEN_DOWN + p_affine_const_1_2_GREEN_DOWN;
+       const real_t jac_affine_2_1_GREEN_DOWN = -p_affine_const_0_2_GREEN_DOWN + p_affine_const_2_2_GREEN_DOWN;
+       const real_t jac_affine_2_2_GREEN_DOWN = -p_affine_const_0_2_GREEN_DOWN + p_affine_const_3_2_GREEN_DOWN;
+       const real_t abs_det_jac_affine_GREEN_DOWN = abs(jac_affine_0_0_GREEN_DOWN*jac_affine_1_1_GREEN_DOWN*jac_affine_2_2_GREEN_DOWN - jac_affine_0_0_GREEN_DOWN*jac_affine_1_2_GREEN_DOWN*jac_affine_2_1_GREEN_DOWN - jac_affine_0_1_GREEN_DOWN*jac_affine_1_0_GREEN_DOWN*jac_affine_2_2_GREEN_DOWN + jac_affine_0_1_GREEN_DOWN*jac_affine_1_2_GREEN_DOWN*jac_affine_2_0_GREEN_DOWN + jac_affine_0_2_GREEN_DOWN*jac_affine_1_0_GREEN_DOWN*jac_affine_2_1_GREEN_DOWN - jac_affine_0_2_GREEN_DOWN*jac_affine_1_1_GREEN_DOWN*jac_affine_2_0_GREEN_DOWN);
+       {
+          /* CellType.GREEN_DOWN */
+          const real_t _data_phi_psi_jac_affine_det_0_0_GREEN_DOWN [] = {((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.018518518518518524)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.018518518518518524)), 0.0, ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.05555555555555558)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.05555555555555558)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.018518518518518524)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.055555555555555594)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.018518518518518535)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.018518518518518535)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.018518518518518507)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.018518518518518517)), 0.0, ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.055555555555555552)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.055555555555555552)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.055555555555555566)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.018518518518518524)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.018518518518518524)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.018518518518518507)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.018518518518518517)), 0.0, ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.055555555555555552)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.055555555555555566)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.018518518518518524)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.018518518518518524)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.055555555555555525)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.055555555555555552)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.055555555555555552)), 0.0, ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.16666666666666666)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.16666666666666666)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.16666666666666671)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.05555555555555558)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.05555555555555558)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.018518518518518531)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.018518518518518521)), 0.0, ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.018518518518518521)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.055555555555555566)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.018518518518518521)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.055555555555555566)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.018518518518518531)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.055555555555555587)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.018518518518518531)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.018518518518518524)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.018518518518518517)), 0.0, ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.055555555555555552)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.055555555555555552)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.018518518518518524)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.055555555555555566)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.018518518518518524)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.05555555555555558)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.055555555555555552)), 0.0, ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.055555555555555552)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.16666666666666666)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.16666666666666666)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.05555555555555558)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.16666666666666671)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.05555555555555558)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.018518518518518524)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.018518518518518517)), 0.0, ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.055555555555555552)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.018518518518518524)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.055555555555555566)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.018518518518518524)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.018518518518518531)), 0.0, ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.018518518518518521)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.018518518518518521)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.018518518518518521)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.055555555555555566)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.055555555555555566)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.018518518518518531)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.018518518518518531)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.055555555555555587)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.05555555555555558)), 0.0, ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.055555555555555552)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.055555555555555552)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.055555555555555552)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.16666666666666666)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.16666666666666666)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.05555555555555558)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.05555555555555558)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.16666666666666671)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.018518518518518524)), 0.0, ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.055555555555555552)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.018518518518518524)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.018518518518518524)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.055555555555555566)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.018518518518518524)), 0.0, ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.055555555555555552)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.018518518518518524)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.018518518518518524)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.055555555555555566)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*2.775557561562892e-17)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.055555555555555566)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.055555555555555566)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.055555555555555566)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.055555555555555566)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.055555555555555566)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.055555555555555566)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.16666666666666671)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.16666666666666671)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.16666666666666671)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*9.2518585385429707e-18)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.055555555555555559)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.055555555555555559)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.055555555555555559)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*9.2518585385429707e-18)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.055555555555555559)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.055555555555555559)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.055555555555555559)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*9.2518585385429707e-18)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.055555555555555559)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.055555555555555559)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.055555555555555559))};
+      
+          for (int64_t ctr_2 = 0; ctr_2 < micro_edges_per_macro_edge; ctr_2 += 1)
+          for (int64_t ctr_1 = 0; ctr_1 < -ctr_2 + micro_edges_per_macro_edge; ctr_1 += 1)
+          for (int64_t ctr_0 = 0; ctr_0 < -ctr_1 - ctr_2 + micro_edges_per_macro_edge - 1; ctr_0 += 1)
+          {
+             const real_t src_dof_0 = _data_srcVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))];
+             const real_t src_dof_1 = _data_srcVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1];
+             const real_t src_dof_2 = _data_srcVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1];
+             const real_t src_dof_3 = _data_srcVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))];
+             const real_t src_dof_4 = _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))];
+             const real_t src_dof_5 = _data_srcEdge[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 5*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))];
+             const real_t src_dof_6 = _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1];
+             const real_t src_dof_7 = _data_srcEdge[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))];
+             const real_t src_dof_8 = _data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge - 1)*(micro_edges_per_macro_edge + 1)) / (6)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))];
+             const real_t src_dof_9 = _data_srcEdge[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))];
+             const real_t k_dof_0 = _data_kVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))];
+             const real_t k_dof_1 = _data_kVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1];
+             const real_t k_dof_2 = _data_kVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1];
+             const real_t k_dof_3 = _data_kVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))];
+             const real_t k_dof_4 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))];
+             const real_t k_dof_5 = _data_kEdge[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 5*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))];
+             const real_t k_dof_6 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1];
+             const real_t k_dof_7 = _data_kEdge[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))];
+             const real_t k_dof_8 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge - 1)*(micro_edges_per_macro_edge + 1)) / (6)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))];
+             const real_t k_dof_9 = _data_kEdge[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))];
+             real_t q_acc_0_0 = 0.0;
+             real_t q_acc_0_1 = 0.0;
+             real_t q_acc_0_2 = 0.0;
+             real_t q_acc_0_3 = 0.0;
+             real_t q_acc_0_4 = 0.0;
+             real_t q_acc_0_5 = 0.0;
+             real_t q_acc_0_6 = 0.0;
+             real_t q_acc_0_7 = 0.0;
+             real_t q_acc_0_8 = 0.0;
+             real_t q_acc_0_9 = 0.0;
+             real_t q_acc_1_0 = 0.0;
+             real_t q_acc_1_1 = 0.0;
+             real_t q_acc_1_2 = 0.0;
+             real_t q_acc_1_3 = 0.0;
+             real_t q_acc_1_4 = 0.0;
+             real_t q_acc_1_5 = 0.0;
+             real_t q_acc_1_6 = 0.0;
+             real_t q_acc_1_7 = 0.0;
+             real_t q_acc_1_8 = 0.0;
+             real_t q_acc_1_9 = 0.0;
+             real_t q_acc_2_0 = 0.0;
+             real_t q_acc_2_1 = 0.0;
+             real_t q_acc_2_2 = 0.0;
+             real_t q_acc_2_3 = 0.0;
+             real_t q_acc_2_4 = 0.0;
+             real_t q_acc_2_5 = 0.0;
+             real_t q_acc_2_6 = 0.0;
+             real_t q_acc_2_7 = 0.0;
+             real_t q_acc_2_8 = 0.0;
+             real_t q_acc_2_9 = 0.0;
+             real_t q_acc_3_0 = 0.0;
+             real_t q_acc_3_1 = 0.0;
+             real_t q_acc_3_2 = 0.0;
+             real_t q_acc_3_3 = 0.0;
+             real_t q_acc_3_4 = 0.0;
+             real_t q_acc_3_5 = 0.0;
+             real_t q_acc_3_6 = 0.0;
+             real_t q_acc_3_7 = 0.0;
+             real_t q_acc_3_8 = 0.0;
+             real_t q_acc_3_9 = 0.0;
+             for (int64_t q = 0; q < 5; q += 1)
+             {
+                const real_t tmp_qloop_0 = 4.0*_data_q_p_0[q];
+                const real_t tmp_qloop_1 = tmp_qloop_0*_data_q_p_1[q];
+                const real_t tmp_qloop_2 = tmp_qloop_0*_data_q_p_2[q];
+                const real_t tmp_qloop_3 = 4.0*_data_q_p_1[q]*_data_q_p_2[q];
+                const real_t tmp_qloop_4 = (_data_q_p_0[q]*_data_q_p_0[q]);
+                const real_t tmp_qloop_5 = tmp_qloop_4*2.0;
+                const real_t tmp_qloop_6 = (_data_q_p_1[q]*_data_q_p_1[q]);
+                const real_t tmp_qloop_7 = tmp_qloop_6*2.0;
+                const real_t tmp_qloop_8 = (_data_q_p_2[q]*_data_q_p_2[q]);
+                const real_t tmp_qloop_9 = tmp_qloop_8*2.0;
+                const real_t tmp_qloop_10 = tmp_qloop_1 + tmp_qloop_2;
+                const real_t tmp_qloop_11 = (k_dof_0*(tmp_qloop_10 + tmp_qloop_3 + tmp_qloop_5 + tmp_qloop_7 + tmp_qloop_9 - 3.0*_data_q_p_0[q] - 3.0*_data_q_p_1[q] - 3.0*_data_q_p_2[q] + 1.0) + k_dof_1*(tmp_qloop_5 - _data_q_p_0[q]) + k_dof_2*(tmp_qloop_7 - _data_q_p_1[q]) + k_dof_3*(tmp_qloop_9 - _data_q_p_2[q]) + k_dof_4*tmp_qloop_3 + k_dof_5*tmp_qloop_2 + k_dof_6*tmp_qloop_1 + k_dof_7*(-tmp_qloop_2 - tmp_qloop_3 + tmp_qloop_8*-4.0 + 4.0*_data_q_p_2[q]) + k_dof_8*(-tmp_qloop_1 - tmp_qloop_3 + tmp_qloop_6*-4.0 + 4.0*_data_q_p_1[q]) + k_dof_9*(-tmp_qloop_10 + tmp_qloop_4*-4.0 + 4.0*_data_q_p_0[q]))*_data_q_w[q];
+                const real_t tmp_qloop_12 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 14];
+                const real_t q_tmp_0_0 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q];
+                const real_t q_tmp_0_1 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 1];
+                const real_t q_tmp_0_2 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 2];
+                const real_t q_tmp_0_3 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 3];
+                const real_t q_tmp_0_4 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 4];
+                const real_t q_tmp_0_5 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 5];
+                const real_t q_tmp_0_6 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 6];
+                const real_t q_tmp_0_7 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 7];
+                const real_t q_tmp_0_8 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 8];
+                const real_t q_tmp_0_9 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 9];
+                const real_t q_tmp_1_0 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 10];
+                const real_t q_tmp_1_1 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 11];
+                const real_t q_tmp_1_2 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 12];
+                const real_t q_tmp_1_3 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 13];
+                const real_t q_tmp_1_4 = tmp_qloop_12;
+                const real_t q_tmp_1_5 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 15];
+                const real_t q_tmp_1_6 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 16];
+                const real_t q_tmp_1_7 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 17];
+                const real_t q_tmp_1_8 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 18];
+                const real_t q_tmp_1_9 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 19];
+                const real_t q_tmp_2_0 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 20];
+                const real_t q_tmp_2_1 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 21];
+                const real_t q_tmp_2_2 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 22];
+                const real_t q_tmp_2_3 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 23];
+                const real_t q_tmp_2_4 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 24];
+                const real_t q_tmp_2_5 = tmp_qloop_12;
+                const real_t q_tmp_2_6 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 25];
+                const real_t q_tmp_2_7 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 26];
+                const real_t q_tmp_2_8 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 27];
+                const real_t q_tmp_2_9 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 28];
+                const real_t q_tmp_3_0 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 29];
+                const real_t q_tmp_3_1 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 30];
+                const real_t q_tmp_3_2 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 31];
+                const real_t q_tmp_3_3 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 32];
+                const real_t q_tmp_3_4 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 33];
+                const real_t q_tmp_3_5 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 34];
+                const real_t q_tmp_3_6 = tmp_qloop_12;
+                const real_t q_tmp_3_7 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 35];
+                const real_t q_tmp_3_8 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 36];
+                const real_t q_tmp_3_9 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 37];
+                q_acc_0_0 = q_acc_0_0 + q_tmp_0_0;
+                q_acc_0_1 = q_acc_0_1 + q_tmp_0_1;
+                q_acc_0_2 = q_acc_0_2 + q_tmp_0_2;
+                q_acc_0_3 = q_acc_0_3 + q_tmp_0_3;
+                q_acc_0_4 = q_acc_0_4 + q_tmp_0_4;
+                q_acc_0_5 = q_acc_0_5 + q_tmp_0_5;
+                q_acc_0_6 = q_acc_0_6 + q_tmp_0_6;
+                q_acc_0_7 = q_acc_0_7 + q_tmp_0_7;
+                q_acc_0_8 = q_acc_0_8 + q_tmp_0_8;
+                q_acc_0_9 = q_acc_0_9 + q_tmp_0_9;
+                q_acc_1_0 = q_acc_1_0 + q_tmp_1_0;
+                q_acc_1_1 = q_acc_1_1 + q_tmp_1_1;
+                q_acc_1_2 = q_acc_1_2 + q_tmp_1_2;
+                q_acc_1_3 = q_acc_1_3 + q_tmp_1_3;
+                q_acc_1_4 = q_acc_1_4 + q_tmp_1_4;
+                q_acc_1_5 = q_acc_1_5 + q_tmp_1_5;
+                q_acc_1_6 = q_acc_1_6 + q_tmp_1_6;
+                q_acc_1_7 = q_acc_1_7 + q_tmp_1_7;
+                q_acc_1_8 = q_acc_1_8 + q_tmp_1_8;
+                q_acc_1_9 = q_acc_1_9 + q_tmp_1_9;
+                q_acc_2_0 = q_acc_2_0 + q_tmp_2_0;
+                q_acc_2_1 = q_acc_2_1 + q_tmp_2_1;
+                q_acc_2_2 = q_acc_2_2 + q_tmp_2_2;
+                q_acc_2_3 = q_acc_2_3 + q_tmp_2_3;
+                q_acc_2_4 = q_acc_2_4 + q_tmp_2_4;
+                q_acc_2_5 = q_acc_2_5 + q_tmp_2_5;
+                q_acc_2_6 = q_acc_2_6 + q_tmp_2_6;
+                q_acc_2_7 = q_acc_2_7 + q_tmp_2_7;
+                q_acc_2_8 = q_acc_2_8 + q_tmp_2_8;
+                q_acc_2_9 = q_acc_2_9 + q_tmp_2_9;
+                q_acc_3_0 = q_acc_3_0 + q_tmp_3_0;
+                q_acc_3_1 = q_acc_3_1 + q_tmp_3_1;
+                q_acc_3_2 = q_acc_3_2 + q_tmp_3_2;
+                q_acc_3_3 = q_acc_3_3 + q_tmp_3_3;
+                q_acc_3_4 = q_acc_3_4 + q_tmp_3_4;
+                q_acc_3_5 = q_acc_3_5 + q_tmp_3_5;
+                q_acc_3_6 = q_acc_3_6 + q_tmp_3_6;
+                q_acc_3_7 = q_acc_3_7 + q_tmp_3_7;
+                q_acc_3_8 = q_acc_3_8 + q_tmp_3_8;
+                q_acc_3_9 = q_acc_3_9 + q_tmp_3_9;
+             }
+             const real_t elMatVec_0 = q_acc_0_0*src_dof_0 + q_acc_0_1*src_dof_1 + q_acc_0_2*src_dof_2 + q_acc_0_3*src_dof_3 + q_acc_0_4*src_dof_4 + q_acc_0_5*src_dof_5 + q_acc_0_6*src_dof_6 + q_acc_0_7*src_dof_7 + q_acc_0_8*src_dof_8 + q_acc_0_9*src_dof_9;
+             const real_t elMatVec_1 = q_acc_1_0*src_dof_0 + q_acc_1_1*src_dof_1 + q_acc_1_2*src_dof_2 + q_acc_1_3*src_dof_3 + q_acc_1_4*src_dof_4 + q_acc_1_5*src_dof_5 + q_acc_1_6*src_dof_6 + q_acc_1_7*src_dof_7 + q_acc_1_8*src_dof_8 + q_acc_1_9*src_dof_9;
+             const real_t elMatVec_2 = q_acc_2_0*src_dof_0 + q_acc_2_1*src_dof_1 + q_acc_2_2*src_dof_2 + q_acc_2_3*src_dof_3 + q_acc_2_4*src_dof_4 + q_acc_2_5*src_dof_5 + q_acc_2_6*src_dof_6 + q_acc_2_7*src_dof_7 + q_acc_2_8*src_dof_8 + q_acc_2_9*src_dof_9;
+             const real_t elMatVec_3 = q_acc_3_0*src_dof_0 + q_acc_3_1*src_dof_1 + q_acc_3_2*src_dof_2 + q_acc_3_3*src_dof_3 + q_acc_3_4*src_dof_4 + q_acc_3_5*src_dof_5 + q_acc_3_6*src_dof_6 + q_acc_3_7*src_dof_7 + q_acc_3_8*src_dof_8 + q_acc_3_9*src_dof_9;
+             _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))] = elMatVec_0 + _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))];
+             _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1] = elMatVec_1 + _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1];
+             _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1] = elMatVec_2 + _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1];
+             _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))] = elMatVec_3 + _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))];
+          }
+       }
+    }
+}
+} // namespace operatorgeneration
+
+} // namespace hyteg
diff --git a/operators/k_mass/noarch/P2ToP1ElementwiseKMass_toMatrix_macro_2D.cpp b/operators/k_mass/noarch/P2ToP1ElementwiseKMass_toMatrix_macro_2D.cpp
new file mode 100644
index 0000000000000000000000000000000000000000..e1aaf541eb1aaedbe875bc4f1da98f36ab0b87f0
--- /dev/null
+++ b/operators/k_mass/noarch/P2ToP1ElementwiseKMass_toMatrix_macro_2D.cpp
@@ -0,0 +1,372 @@
+/*
+* Copyright (c) 2017-2024 Nils Kohl, Daniel Bauer, Fabian Böhm.
+*
+* This file is part of HyTeG
+* (see https://i10git.cs.fau.de/hyteg/hyteg).
+*
+* This program is free software: you can redistribute it and/or modify
+* it under the terms of the GNU General Public License as published by
+* the Free Software Foundation, either version 3 of the License, or
+* (at your option) any later version.
+*
+* This program is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+* GNU General Public License for more details.
+*
+* You should have received a copy of the GNU General Public License
+* along with this program. If not, see <http://www.gnu.org/licenses/>.
+*/
+
+/*
+* The entire file was generated with the HyTeG form generator.
+*
+* Avoid modifying this file. If buggy, consider fixing the generator itself.
+*/
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+#include "../P2ToP1ElementwiseKMass.hpp"
+
+#define FUNC_PREFIX  
+
+namespace hyteg {
+
+namespace operatorgeneration {
+
+void P2ToP1ElementwiseKMass::toMatrix_macro_2D( idx_t * RESTRICT  _data_dst, real_t * RESTRICT  _data_kEdge, real_t * RESTRICT  _data_kVertex, idx_t * RESTRICT  _data_srcEdge, idx_t * RESTRICT  _data_srcVertex, real_t macro_vertex_coord_id_0comp0, real_t macro_vertex_coord_id_0comp1, real_t macro_vertex_coord_id_1comp0, real_t macro_vertex_coord_id_1comp1, real_t macro_vertex_coord_id_2comp0, real_t macro_vertex_coord_id_2comp1, std::shared_ptr< SparseMatrixProxy > mat, int64_t micro_edges_per_macro_edge, real_t micro_edges_per_macro_edge_float ) const
+{
+    {
+       const real_t _data_q_w [] = {-0.28125, 0.26041666666666669, 0.26041666666666669, 0.26041666666666669};
+   
+       const real_t _data_q_p_0 [] = {0.33333333333333331, 0.20000000000000001, 0.59999999999999998, 0.20000000000000001};
+   
+       const real_t _data_q_p_1 [] = {0.33333333333333331, 0.59999999999999998, 0.20000000000000001, 0.20000000000000001};
+   
+       const real_t tmp_coords_jac_0_GRAY = 1.0 / (micro_edges_per_macro_edge_float)*1.0;
+       const real_t p_affine_const_0_0_GRAY = macro_vertex_coord_id_0comp0;
+       const real_t p_affine_const_0_1_GRAY = macro_vertex_coord_id_0comp1;
+       const real_t p_affine_const_1_0_GRAY = macro_vertex_coord_id_0comp0 + tmp_coords_jac_0_GRAY*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0);
+       const real_t p_affine_const_1_1_GRAY = macro_vertex_coord_id_0comp1 + tmp_coords_jac_0_GRAY*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1);
+       const real_t p_affine_const_2_0_GRAY = macro_vertex_coord_id_0comp0 + tmp_coords_jac_0_GRAY*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0);
+       const real_t p_affine_const_2_1_GRAY = macro_vertex_coord_id_0comp1 + tmp_coords_jac_0_GRAY*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1);
+       const real_t jac_affine_0_0_GRAY = -p_affine_const_0_0_GRAY + p_affine_const_1_0_GRAY;
+       const real_t jac_affine_0_1_GRAY = -p_affine_const_0_0_GRAY + p_affine_const_2_0_GRAY;
+       const real_t jac_affine_1_0_GRAY = -p_affine_const_0_1_GRAY + p_affine_const_1_1_GRAY;
+       const real_t jac_affine_1_1_GRAY = -p_affine_const_0_1_GRAY + p_affine_const_2_1_GRAY;
+       const real_t abs_det_jac_affine_GRAY = abs(jac_affine_0_0_GRAY*jac_affine_1_1_GRAY - jac_affine_0_1_GRAY*jac_affine_1_0_GRAY);
+       {
+          /* FaceType.GRAY */
+          const real_t _data_phi_psi_jac_affine_det_0_0_GRAY [] = {((real_t)(abs_det_jac_affine_GRAY*-0.037037037037037063)), ((real_t)(abs_det_jac_affine_GRAY*-0.037037037037037042)), ((real_t)(abs_det_jac_affine_GRAY*-0.037037037037037042)), ((real_t)(abs_det_jac_affine_GRAY*0.14814814814814817)), ((real_t)(abs_det_jac_affine_GRAY*0.14814814814814817)), ((real_t)(abs_det_jac_affine_GRAY*0.14814814814814817)), ((real_t)(abs_det_jac_affine_GRAY*-0.037037037037037049)), ((real_t)(abs_det_jac_affine_GRAY*-0.037037037037037035)), ((real_t)(abs_det_jac_affine_GRAY*-0.037037037037037035)), ((real_t)(abs_det_jac_affine_GRAY*0.14814814814814814)), ((real_t)(abs_det_jac_affine_GRAY*0.14814814814814814)), ((real_t)(abs_det_jac_affine_GRAY*0.14814814814814814)), ((real_t)(abs_det_jac_affine_GRAY*-0.037037037037037049)), ((real_t)(abs_det_jac_affine_GRAY*-0.037037037037037035)), ((real_t)(abs_det_jac_affine_GRAY*-0.037037037037037035)), ((real_t)(abs_det_jac_affine_GRAY*0.14814814814814814)), ((real_t)(abs_det_jac_affine_GRAY*0.14814814814814814)), ((real_t)(abs_det_jac_affine_GRAY*0.14814814814814814)), ((real_t)(abs_det_jac_affine_GRAY*-0.023999999999999987)), ((real_t)(abs_det_jac_affine_GRAY*-0.024000000000000007)), ((real_t)(abs_det_jac_affine_GRAY*0.024000000000000007)), ((real_t)(abs_det_jac_affine_GRAY*0.09600000000000003)), ((real_t)(abs_det_jac_affine_GRAY*0.09600000000000003)), ((real_t)(abs_det_jac_affine_GRAY*0.032000000000000015)), ((real_t)(abs_det_jac_affine_GRAY*-0.02399999999999998)), ((real_t)(abs_det_jac_affine_GRAY*-0.024)), ((real_t)(abs_det_jac_affine_GRAY*0.024)), ((real_t)(abs_det_jac_affine_GRAY*0.096000000000000016)), ((real_t)(abs_det_jac_affine_GRAY*0.096000000000000002)), ((real_t)(abs_det_jac_affine_GRAY*0.032000000000000008)), ((real_t)(abs_det_jac_affine_GRAY*-0.071999999999999925)), ((real_t)(abs_det_jac_affine_GRAY*-0.071999999999999995)), ((real_t)(abs_det_jac_affine_GRAY*0.071999999999999995)), ((real_t)(abs_det_jac_affine_GRAY*0.28799999999999998)), ((real_t)(abs_det_jac_affine_GRAY*0.28799999999999998)), ((real_t)(abs_det_jac_affine_GRAY*0.096000000000000016)), ((real_t)(abs_det_jac_affine_GRAY*-0.02399999999999998)), ((real_t)(abs_det_jac_affine_GRAY*0.024)), ((real_t)(abs_det_jac_affine_GRAY*-0.024)), ((real_t)(abs_det_jac_affine_GRAY*0.096000000000000002)), ((real_t)(abs_det_jac_affine_GRAY*0.032000000000000008)), ((real_t)(abs_det_jac_affine_GRAY*0.096000000000000002)), ((real_t)(abs_det_jac_affine_GRAY*-0.071999999999999925)), ((real_t)(abs_det_jac_affine_GRAY*0.071999999999999995)), ((real_t)(abs_det_jac_affine_GRAY*-0.071999999999999995)), ((real_t)(abs_det_jac_affine_GRAY*0.28799999999999998)), ((real_t)(abs_det_jac_affine_GRAY*0.096000000000000016)), ((real_t)(abs_det_jac_affine_GRAY*0.28799999999999998)), ((real_t)(abs_det_jac_affine_GRAY*-0.02399999999999998)), ((real_t)(abs_det_jac_affine_GRAY*0.024)), ((real_t)(abs_det_jac_affine_GRAY*-0.024)), ((real_t)(abs_det_jac_affine_GRAY*0.096000000000000016)), ((real_t)(abs_det_jac_affine_GRAY*0.032000000000000008)), ((real_t)(abs_det_jac_affine_GRAY*0.096000000000000002)), ((real_t)(abs_det_jac_affine_GRAY*0.071999999999999939)), ((real_t)(abs_det_jac_affine_GRAY*-0.072000000000000008)), ((real_t)(abs_det_jac_affine_GRAY*-0.072000000000000008)), ((real_t)(abs_det_jac_affine_GRAY*0.09600000000000003)), ((real_t)(abs_det_jac_affine_GRAY*0.28800000000000003)), ((real_t)(abs_det_jac_affine_GRAY*0.28800000000000003)), ((real_t)(abs_det_jac_affine_GRAY*0.02399999999999998)), ((real_t)(abs_det_jac_affine_GRAY*-0.024)), ((real_t)(abs_det_jac_affine_GRAY*-0.024)), ((real_t)(abs_det_jac_affine_GRAY*0.032000000000000008)), ((real_t)(abs_det_jac_affine_GRAY*0.096000000000000002)), ((real_t)(abs_det_jac_affine_GRAY*0.096000000000000002)), ((real_t)(abs_det_jac_affine_GRAY*0.02399999999999998)), ((real_t)(abs_det_jac_affine_GRAY*-0.024)), ((real_t)(abs_det_jac_affine_GRAY*-0.024)), ((real_t)(abs_det_jac_affine_GRAY*0.032000000000000008)), ((real_t)(abs_det_jac_affine_GRAY*0.096000000000000002)), ((real_t)(abs_det_jac_affine_GRAY*0.096000000000000002))};
+      
+          for (int64_t ctr_1 = 0; ctr_1 < micro_edges_per_macro_edge; ctr_1 += 1)
+          for (int64_t ctr_0 = 0; ctr_0 < -ctr_1 + micro_edges_per_macro_edge; ctr_0 += 1)
+          {
+             const real_t k_dof_0 = _data_kVertex[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2))];
+             const real_t k_dof_1 = _data_kVertex[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + 1];
+             const real_t k_dof_2 = _data_kVertex[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2))];
+             const real_t k_dof_3 = _data_kEdge[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)) / (2))];
+             const real_t k_dof_4 = _data_kEdge[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 2*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)) / (2))];
+             const real_t k_dof_5 = _data_kEdge[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2))];
+             real_t q_acc_0_0 = 0.0;
+             real_t q_acc_0_1 = 0.0;
+             real_t q_acc_0_2 = 0.0;
+             real_t q_acc_0_3 = 0.0;
+             real_t q_acc_0_4 = 0.0;
+             real_t q_acc_0_5 = 0.0;
+             real_t q_acc_1_0 = 0.0;
+             real_t q_acc_1_1 = 0.0;
+             real_t q_acc_1_2 = 0.0;
+             real_t q_acc_1_3 = 0.0;
+             real_t q_acc_1_4 = 0.0;
+             real_t q_acc_1_5 = 0.0;
+             real_t q_acc_2_0 = 0.0;
+             real_t q_acc_2_1 = 0.0;
+             real_t q_acc_2_2 = 0.0;
+             real_t q_acc_2_3 = 0.0;
+             real_t q_acc_2_4 = 0.0;
+             real_t q_acc_2_5 = 0.0;
+             for (int64_t q = 0; q < 4; q += 1)
+             {
+                const real_t tmp_qloop_0 = 4.0*_data_q_p_0[q]*_data_q_p_1[q];
+                const real_t tmp_qloop_1 = (_data_q_p_0[q]*_data_q_p_0[q]);
+                const real_t tmp_qloop_2 = tmp_qloop_1*2.0;
+                const real_t tmp_qloop_3 = (_data_q_p_1[q]*_data_q_p_1[q]);
+                const real_t tmp_qloop_4 = tmp_qloop_3*2.0;
+                const real_t tmp_qloop_5 = (k_dof_0*(tmp_qloop_0 + tmp_qloop_2 + tmp_qloop_4 - 3.0*_data_q_p_0[q] - 3.0*_data_q_p_1[q] + 1.0) + k_dof_1*(tmp_qloop_2 - _data_q_p_0[q]) + k_dof_2*(tmp_qloop_4 - _data_q_p_1[q]) + k_dof_3*tmp_qloop_0 + k_dof_4*(-tmp_qloop_0 + tmp_qloop_3*-4.0 + 4.0*_data_q_p_1[q]) + k_dof_5*(-tmp_qloop_0 + tmp_qloop_1*-4.0 + 4.0*_data_q_p_0[q]))*_data_q_w[q];
+                const real_t q_tmp_0_0 = tmp_qloop_5*_data_phi_psi_jac_affine_det_0_0_GRAY[18*q];
+                const real_t q_tmp_0_1 = tmp_qloop_5*_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 1];
+                const real_t q_tmp_0_2 = tmp_qloop_5*_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 2];
+                const real_t q_tmp_0_3 = tmp_qloop_5*_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 3];
+                const real_t q_tmp_0_4 = tmp_qloop_5*_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 4];
+                const real_t q_tmp_0_5 = tmp_qloop_5*_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 5];
+                const real_t q_tmp_1_0 = tmp_qloop_5*_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 6];
+                const real_t q_tmp_1_1 = tmp_qloop_5*_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 7];
+                const real_t q_tmp_1_2 = tmp_qloop_5*_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 8];
+                const real_t q_tmp_1_3 = tmp_qloop_5*_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 9];
+                const real_t q_tmp_1_4 = tmp_qloop_5*_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 10];
+                const real_t q_tmp_1_5 = tmp_qloop_5*_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 11];
+                const real_t q_tmp_2_0 = tmp_qloop_5*_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 12];
+                const real_t q_tmp_2_1 = tmp_qloop_5*_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 13];
+                const real_t q_tmp_2_2 = tmp_qloop_5*_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 14];
+                const real_t q_tmp_2_3 = tmp_qloop_5*_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 15];
+                const real_t q_tmp_2_4 = tmp_qloop_5*_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 16];
+                const real_t q_tmp_2_5 = tmp_qloop_5*_data_phi_psi_jac_affine_det_0_0_GRAY[18*q + 17];
+                q_acc_0_0 = q_acc_0_0 + q_tmp_0_0;
+                q_acc_0_1 = q_acc_0_1 + q_tmp_0_1;
+                q_acc_0_2 = q_acc_0_2 + q_tmp_0_2;
+                q_acc_0_3 = q_acc_0_3 + q_tmp_0_3;
+                q_acc_0_4 = q_acc_0_4 + q_tmp_0_4;
+                q_acc_0_5 = q_acc_0_5 + q_tmp_0_5;
+                q_acc_1_0 = q_acc_1_0 + q_tmp_1_0;
+                q_acc_1_1 = q_acc_1_1 + q_tmp_1_1;
+                q_acc_1_2 = q_acc_1_2 + q_tmp_1_2;
+                q_acc_1_3 = q_acc_1_3 + q_tmp_1_3;
+                q_acc_1_4 = q_acc_1_4 + q_tmp_1_4;
+                q_acc_1_5 = q_acc_1_5 + q_tmp_1_5;
+                q_acc_2_0 = q_acc_2_0 + q_tmp_2_0;
+                q_acc_2_1 = q_acc_2_1 + q_tmp_2_1;
+                q_acc_2_2 = q_acc_2_2 + q_tmp_2_2;
+                q_acc_2_3 = q_acc_2_3 + q_tmp_2_3;
+                q_acc_2_4 = q_acc_2_4 + q_tmp_2_4;
+                q_acc_2_5 = q_acc_2_5 + q_tmp_2_5;
+             }
+             const real_t elMat_0_0 = q_acc_0_0;
+             const real_t elMat_0_1 = q_acc_0_1;
+             const real_t elMat_0_2 = q_acc_0_2;
+             const real_t elMat_0_3 = q_acc_0_3;
+             const real_t elMat_0_4 = q_acc_0_4;
+             const real_t elMat_0_5 = q_acc_0_5;
+             const real_t elMat_1_0 = q_acc_1_0;
+             const real_t elMat_1_1 = q_acc_1_1;
+             const real_t elMat_1_2 = q_acc_1_2;
+             const real_t elMat_1_3 = q_acc_1_3;
+             const real_t elMat_1_4 = q_acc_1_4;
+             const real_t elMat_1_5 = q_acc_1_5;
+             const real_t elMat_2_0 = q_acc_2_0;
+             const real_t elMat_2_1 = q_acc_2_1;
+             const real_t elMat_2_2 = q_acc_2_2;
+             const real_t elMat_2_3 = q_acc_2_3;
+             const real_t elMat_2_4 = q_acc_2_4;
+             const real_t elMat_2_5 = q_acc_2_5;
+         
+             std::vector< uint_t > _data_rowIdx( 3 );
+             std::vector< uint_t > _data_colIdx( 6 );
+             std::vector< real_t > _data_mat( 18 );
+         
+             _data_rowIdx[0] = ((uint64_t)(_data_dst[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2))]));
+             _data_rowIdx[1] = ((uint64_t)(_data_dst[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + 1]));
+             _data_rowIdx[2] = ((uint64_t)(_data_dst[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2))]));
+             _data_colIdx[0] = ((uint64_t)(_data_srcVertex[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2))]));
+             _data_colIdx[1] = ((uint64_t)(_data_srcVertex[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + 1]));
+             _data_colIdx[2] = ((uint64_t)(_data_srcVertex[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2))]));
+             _data_colIdx[3] = ((uint64_t)(_data_srcEdge[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)) / (2))]));
+             _data_colIdx[4] = ((uint64_t)(_data_srcEdge[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 2*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)) / (2))]));
+             _data_colIdx[5] = ((uint64_t)(_data_srcEdge[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2))]));
+         
+             /* Apply basis transformation */
+         
+         
+         
+             _data_mat[0] = ((real_t)(elMat_0_0));
+             _data_mat[1] = ((real_t)(elMat_0_1));
+             _data_mat[2] = ((real_t)(elMat_0_2));
+             _data_mat[3] = ((real_t)(elMat_0_3));
+             _data_mat[4] = ((real_t)(elMat_0_4));
+             _data_mat[5] = ((real_t)(elMat_0_5));
+             _data_mat[6] = ((real_t)(elMat_1_0));
+             _data_mat[7] = ((real_t)(elMat_1_1));
+             _data_mat[8] = ((real_t)(elMat_1_2));
+             _data_mat[9] = ((real_t)(elMat_1_3));
+             _data_mat[10] = ((real_t)(elMat_1_4));
+             _data_mat[11] = ((real_t)(elMat_1_5));
+             _data_mat[12] = ((real_t)(elMat_2_0));
+             _data_mat[13] = ((real_t)(elMat_2_1));
+             _data_mat[14] = ((real_t)(elMat_2_2));
+             _data_mat[15] = ((real_t)(elMat_2_3));
+             _data_mat[16] = ((real_t)(elMat_2_4));
+             _data_mat[17] = ((real_t)(elMat_2_5));
+         
+         
+             mat->addValues( _data_rowIdx, _data_colIdx, _data_mat );
+          }
+       }
+       const real_t tmp_coords_jac_0_BLUE = 1.0 / (micro_edges_per_macro_edge_float)*1.0;
+       const real_t tmp_coords_jac_1_BLUE = macro_vertex_coord_id_0comp0 + tmp_coords_jac_0_BLUE*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0);
+       const real_t tmp_coords_jac_2_BLUE = macro_vertex_coord_id_0comp1 + tmp_coords_jac_0_BLUE*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1);
+       const real_t tmp_coords_jac_3_BLUE = tmp_coords_jac_0_BLUE*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0);
+       const real_t tmp_coords_jac_4_BLUE = tmp_coords_jac_0_BLUE*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1);
+       const real_t p_affine_const_0_0_BLUE = tmp_coords_jac_1_BLUE;
+       const real_t p_affine_const_0_1_BLUE = tmp_coords_jac_2_BLUE;
+       const real_t p_affine_const_1_0_BLUE = macro_vertex_coord_id_0comp0 + tmp_coords_jac_3_BLUE;
+       const real_t p_affine_const_1_1_BLUE = macro_vertex_coord_id_0comp1 + tmp_coords_jac_4_BLUE;
+       const real_t p_affine_const_2_0_BLUE = tmp_coords_jac_1_BLUE + tmp_coords_jac_3_BLUE;
+       const real_t p_affine_const_2_1_BLUE = tmp_coords_jac_2_BLUE + tmp_coords_jac_4_BLUE;
+       const real_t jac_affine_0_0_BLUE = -p_affine_const_0_0_BLUE + p_affine_const_1_0_BLUE;
+       const real_t jac_affine_0_1_BLUE = -p_affine_const_0_0_BLUE + p_affine_const_2_0_BLUE;
+       const real_t jac_affine_1_0_BLUE = -p_affine_const_0_1_BLUE + p_affine_const_1_1_BLUE;
+       const real_t jac_affine_1_1_BLUE = -p_affine_const_0_1_BLUE + p_affine_const_2_1_BLUE;
+       const real_t abs_det_jac_affine_BLUE = abs(jac_affine_0_0_BLUE*jac_affine_1_1_BLUE - jac_affine_0_1_BLUE*jac_affine_1_0_BLUE);
+       {
+          /* FaceType.BLUE */
+          const real_t _data_phi_psi_jac_affine_det_0_0_BLUE [] = {((real_t)(abs_det_jac_affine_BLUE*-0.037037037037037063)), ((real_t)(abs_det_jac_affine_BLUE*-0.037037037037037042)), ((real_t)(abs_det_jac_affine_BLUE*-0.037037037037037042)), ((real_t)(abs_det_jac_affine_BLUE*0.14814814814814817)), ((real_t)(abs_det_jac_affine_BLUE*0.14814814814814817)), ((real_t)(abs_det_jac_affine_BLUE*0.14814814814814817)), ((real_t)(abs_det_jac_affine_BLUE*-0.037037037037037049)), ((real_t)(abs_det_jac_affine_BLUE*-0.037037037037037035)), ((real_t)(abs_det_jac_affine_BLUE*-0.037037037037037035)), ((real_t)(abs_det_jac_affine_BLUE*0.14814814814814814)), ((real_t)(abs_det_jac_affine_BLUE*0.14814814814814814)), ((real_t)(abs_det_jac_affine_BLUE*0.14814814814814814)), ((real_t)(abs_det_jac_affine_BLUE*-0.037037037037037049)), ((real_t)(abs_det_jac_affine_BLUE*-0.037037037037037035)), ((real_t)(abs_det_jac_affine_BLUE*-0.037037037037037035)), ((real_t)(abs_det_jac_affine_BLUE*0.14814814814814814)), ((real_t)(abs_det_jac_affine_BLUE*0.14814814814814814)), ((real_t)(abs_det_jac_affine_BLUE*0.14814814814814814)), ((real_t)(abs_det_jac_affine_BLUE*-0.023999999999999987)), ((real_t)(abs_det_jac_affine_BLUE*-0.024000000000000007)), ((real_t)(abs_det_jac_affine_BLUE*0.024000000000000007)), ((real_t)(abs_det_jac_affine_BLUE*0.09600000000000003)), ((real_t)(abs_det_jac_affine_BLUE*0.09600000000000003)), ((real_t)(abs_det_jac_affine_BLUE*0.032000000000000015)), ((real_t)(abs_det_jac_affine_BLUE*-0.02399999999999998)), ((real_t)(abs_det_jac_affine_BLUE*-0.024)), ((real_t)(abs_det_jac_affine_BLUE*0.024)), ((real_t)(abs_det_jac_affine_BLUE*0.096000000000000016)), ((real_t)(abs_det_jac_affine_BLUE*0.096000000000000002)), ((real_t)(abs_det_jac_affine_BLUE*0.032000000000000008)), ((real_t)(abs_det_jac_affine_BLUE*-0.071999999999999925)), ((real_t)(abs_det_jac_affine_BLUE*-0.071999999999999995)), ((real_t)(abs_det_jac_affine_BLUE*0.071999999999999995)), ((real_t)(abs_det_jac_affine_BLUE*0.28799999999999998)), ((real_t)(abs_det_jac_affine_BLUE*0.28799999999999998)), ((real_t)(abs_det_jac_affine_BLUE*0.096000000000000016)), ((real_t)(abs_det_jac_affine_BLUE*-0.02399999999999998)), ((real_t)(abs_det_jac_affine_BLUE*0.024)), ((real_t)(abs_det_jac_affine_BLUE*-0.024)), ((real_t)(abs_det_jac_affine_BLUE*0.096000000000000002)), ((real_t)(abs_det_jac_affine_BLUE*0.032000000000000008)), ((real_t)(abs_det_jac_affine_BLUE*0.096000000000000002)), ((real_t)(abs_det_jac_affine_BLUE*-0.071999999999999925)), ((real_t)(abs_det_jac_affine_BLUE*0.071999999999999995)), ((real_t)(abs_det_jac_affine_BLUE*-0.071999999999999995)), ((real_t)(abs_det_jac_affine_BLUE*0.28799999999999998)), ((real_t)(abs_det_jac_affine_BLUE*0.096000000000000016)), ((real_t)(abs_det_jac_affine_BLUE*0.28799999999999998)), ((real_t)(abs_det_jac_affine_BLUE*-0.02399999999999998)), ((real_t)(abs_det_jac_affine_BLUE*0.024)), ((real_t)(abs_det_jac_affine_BLUE*-0.024)), ((real_t)(abs_det_jac_affine_BLUE*0.096000000000000016)), ((real_t)(abs_det_jac_affine_BLUE*0.032000000000000008)), ((real_t)(abs_det_jac_affine_BLUE*0.096000000000000002)), ((real_t)(abs_det_jac_affine_BLUE*0.071999999999999939)), ((real_t)(abs_det_jac_affine_BLUE*-0.072000000000000008)), ((real_t)(abs_det_jac_affine_BLUE*-0.072000000000000008)), ((real_t)(abs_det_jac_affine_BLUE*0.09600000000000003)), ((real_t)(abs_det_jac_affine_BLUE*0.28800000000000003)), ((real_t)(abs_det_jac_affine_BLUE*0.28800000000000003)), ((real_t)(abs_det_jac_affine_BLUE*0.02399999999999998)), ((real_t)(abs_det_jac_affine_BLUE*-0.024)), ((real_t)(abs_det_jac_affine_BLUE*-0.024)), ((real_t)(abs_det_jac_affine_BLUE*0.032000000000000008)), ((real_t)(abs_det_jac_affine_BLUE*0.096000000000000002)), ((real_t)(abs_det_jac_affine_BLUE*0.096000000000000002)), ((real_t)(abs_det_jac_affine_BLUE*0.02399999999999998)), ((real_t)(abs_det_jac_affine_BLUE*-0.024)), ((real_t)(abs_det_jac_affine_BLUE*-0.024)), ((real_t)(abs_det_jac_affine_BLUE*0.032000000000000008)), ((real_t)(abs_det_jac_affine_BLUE*0.096000000000000002)), ((real_t)(abs_det_jac_affine_BLUE*0.096000000000000002))};
+      
+          for (int64_t ctr_1 = 0; ctr_1 < micro_edges_per_macro_edge; ctr_1 += 1)
+          for (int64_t ctr_0 = 0; ctr_0 < -ctr_1 + micro_edges_per_macro_edge - 1; ctr_0 += 1)
+          {
+             const real_t k_dof_0 = _data_kVertex[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + 1];
+             const real_t k_dof_1 = _data_kVertex[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2))];
+             const real_t k_dof_2 = _data_kVertex[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 1];
+             const real_t k_dof_3 = _data_kEdge[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2))];
+             const real_t k_dof_4 = _data_kEdge[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 2*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)) / (2)) + 1];
+             const real_t k_dof_5 = _data_kEdge[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)) / (2))];
+             real_t q_acc_0_0 = 0.0;
+             real_t q_acc_0_1 = 0.0;
+             real_t q_acc_0_2 = 0.0;
+             real_t q_acc_0_3 = 0.0;
+             real_t q_acc_0_4 = 0.0;
+             real_t q_acc_0_5 = 0.0;
+             real_t q_acc_1_0 = 0.0;
+             real_t q_acc_1_1 = 0.0;
+             real_t q_acc_1_2 = 0.0;
+             real_t q_acc_1_3 = 0.0;
+             real_t q_acc_1_4 = 0.0;
+             real_t q_acc_1_5 = 0.0;
+             real_t q_acc_2_0 = 0.0;
+             real_t q_acc_2_1 = 0.0;
+             real_t q_acc_2_2 = 0.0;
+             real_t q_acc_2_3 = 0.0;
+             real_t q_acc_2_4 = 0.0;
+             real_t q_acc_2_5 = 0.0;
+             for (int64_t q = 0; q < 4; q += 1)
+             {
+                const real_t tmp_qloop_0 = 4.0*_data_q_p_0[q]*_data_q_p_1[q];
+                const real_t tmp_qloop_1 = (_data_q_p_0[q]*_data_q_p_0[q]);
+                const real_t tmp_qloop_2 = tmp_qloop_1*2.0;
+                const real_t tmp_qloop_3 = (_data_q_p_1[q]*_data_q_p_1[q]);
+                const real_t tmp_qloop_4 = tmp_qloop_3*2.0;
+                const real_t tmp_qloop_5 = (k_dof_0*(tmp_qloop_0 + tmp_qloop_2 + tmp_qloop_4 - 3.0*_data_q_p_0[q] - 3.0*_data_q_p_1[q] + 1.0) + k_dof_1*(tmp_qloop_2 - _data_q_p_0[q]) + k_dof_2*(tmp_qloop_4 - _data_q_p_1[q]) + k_dof_3*tmp_qloop_0 + k_dof_4*(-tmp_qloop_0 + tmp_qloop_3*-4.0 + 4.0*_data_q_p_1[q]) + k_dof_5*(-tmp_qloop_0 + tmp_qloop_1*-4.0 + 4.0*_data_q_p_0[q]))*_data_q_w[q];
+                const real_t q_tmp_0_0 = tmp_qloop_5*_data_phi_psi_jac_affine_det_0_0_BLUE[18*q];
+                const real_t q_tmp_0_1 = tmp_qloop_5*_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 1];
+                const real_t q_tmp_0_2 = tmp_qloop_5*_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 2];
+                const real_t q_tmp_0_3 = tmp_qloop_5*_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 3];
+                const real_t q_tmp_0_4 = tmp_qloop_5*_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 4];
+                const real_t q_tmp_0_5 = tmp_qloop_5*_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 5];
+                const real_t q_tmp_1_0 = tmp_qloop_5*_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 6];
+                const real_t q_tmp_1_1 = tmp_qloop_5*_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 7];
+                const real_t q_tmp_1_2 = tmp_qloop_5*_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 8];
+                const real_t q_tmp_1_3 = tmp_qloop_5*_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 9];
+                const real_t q_tmp_1_4 = tmp_qloop_5*_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 10];
+                const real_t q_tmp_1_5 = tmp_qloop_5*_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 11];
+                const real_t q_tmp_2_0 = tmp_qloop_5*_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 12];
+                const real_t q_tmp_2_1 = tmp_qloop_5*_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 13];
+                const real_t q_tmp_2_2 = tmp_qloop_5*_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 14];
+                const real_t q_tmp_2_3 = tmp_qloop_5*_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 15];
+                const real_t q_tmp_2_4 = tmp_qloop_5*_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 16];
+                const real_t q_tmp_2_5 = tmp_qloop_5*_data_phi_psi_jac_affine_det_0_0_BLUE[18*q + 17];
+                q_acc_0_0 = q_acc_0_0 + q_tmp_0_0;
+                q_acc_0_1 = q_acc_0_1 + q_tmp_0_1;
+                q_acc_0_2 = q_acc_0_2 + q_tmp_0_2;
+                q_acc_0_3 = q_acc_0_3 + q_tmp_0_3;
+                q_acc_0_4 = q_acc_0_4 + q_tmp_0_4;
+                q_acc_0_5 = q_acc_0_5 + q_tmp_0_5;
+                q_acc_1_0 = q_acc_1_0 + q_tmp_1_0;
+                q_acc_1_1 = q_acc_1_1 + q_tmp_1_1;
+                q_acc_1_2 = q_acc_1_2 + q_tmp_1_2;
+                q_acc_1_3 = q_acc_1_3 + q_tmp_1_3;
+                q_acc_1_4 = q_acc_1_4 + q_tmp_1_4;
+                q_acc_1_5 = q_acc_1_5 + q_tmp_1_5;
+                q_acc_2_0 = q_acc_2_0 + q_tmp_2_0;
+                q_acc_2_1 = q_acc_2_1 + q_tmp_2_1;
+                q_acc_2_2 = q_acc_2_2 + q_tmp_2_2;
+                q_acc_2_3 = q_acc_2_3 + q_tmp_2_3;
+                q_acc_2_4 = q_acc_2_4 + q_tmp_2_4;
+                q_acc_2_5 = q_acc_2_5 + q_tmp_2_5;
+             }
+             const real_t elMat_0_0 = q_acc_0_0;
+             const real_t elMat_0_1 = q_acc_0_1;
+             const real_t elMat_0_2 = q_acc_0_2;
+             const real_t elMat_0_3 = q_acc_0_3;
+             const real_t elMat_0_4 = q_acc_0_4;
+             const real_t elMat_0_5 = q_acc_0_5;
+             const real_t elMat_1_0 = q_acc_1_0;
+             const real_t elMat_1_1 = q_acc_1_1;
+             const real_t elMat_1_2 = q_acc_1_2;
+             const real_t elMat_1_3 = q_acc_1_3;
+             const real_t elMat_1_4 = q_acc_1_4;
+             const real_t elMat_1_5 = q_acc_1_5;
+             const real_t elMat_2_0 = q_acc_2_0;
+             const real_t elMat_2_1 = q_acc_2_1;
+             const real_t elMat_2_2 = q_acc_2_2;
+             const real_t elMat_2_3 = q_acc_2_3;
+             const real_t elMat_2_4 = q_acc_2_4;
+             const real_t elMat_2_5 = q_acc_2_5;
+         
+             std::vector< uint_t > _data_rowIdx( 3 );
+             std::vector< uint_t > _data_colIdx( 6 );
+             std::vector< real_t > _data_mat( 18 );
+         
+             _data_rowIdx[0] = ((uint64_t)(_data_dst[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + 1]));
+             _data_rowIdx[1] = ((uint64_t)(_data_dst[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2))]));
+             _data_rowIdx[2] = ((uint64_t)(_data_dst[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 1]));
+             _data_colIdx[0] = ((uint64_t)(_data_srcVertex[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + 1]));
+             _data_colIdx[1] = ((uint64_t)(_data_srcVertex[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2))]));
+             _data_colIdx[2] = ((uint64_t)(_data_srcVertex[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 1]));
+             _data_colIdx[3] = ((uint64_t)(_data_srcEdge[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2))]));
+             _data_colIdx[4] = ((uint64_t)(_data_srcEdge[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 2*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)) / (2)) + 1]));
+             _data_colIdx[5] = ((uint64_t)(_data_srcEdge[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)) / (2))]));
+         
+             /* Apply basis transformation */
+         
+         
+         
+             _data_mat[0] = ((real_t)(elMat_0_0));
+             _data_mat[1] = ((real_t)(elMat_0_1));
+             _data_mat[2] = ((real_t)(elMat_0_2));
+             _data_mat[3] = ((real_t)(elMat_0_3));
+             _data_mat[4] = ((real_t)(elMat_0_4));
+             _data_mat[5] = ((real_t)(elMat_0_5));
+             _data_mat[6] = ((real_t)(elMat_1_0));
+             _data_mat[7] = ((real_t)(elMat_1_1));
+             _data_mat[8] = ((real_t)(elMat_1_2));
+             _data_mat[9] = ((real_t)(elMat_1_3));
+             _data_mat[10] = ((real_t)(elMat_1_4));
+             _data_mat[11] = ((real_t)(elMat_1_5));
+             _data_mat[12] = ((real_t)(elMat_2_0));
+             _data_mat[13] = ((real_t)(elMat_2_1));
+             _data_mat[14] = ((real_t)(elMat_2_2));
+             _data_mat[15] = ((real_t)(elMat_2_3));
+             _data_mat[16] = ((real_t)(elMat_2_4));
+             _data_mat[17] = ((real_t)(elMat_2_5));
+         
+         
+             mat->addValues( _data_rowIdx, _data_colIdx, _data_mat );
+          }
+       }
+    }
+}
+} // namespace operatorgeneration
+
+} // namespace hyteg
diff --git a/operators/k_mass/noarch/P2ToP1ElementwiseKMass_toMatrix_macro_3D.cpp b/operators/k_mass/noarch/P2ToP1ElementwiseKMass_toMatrix_macro_3D.cpp
new file mode 100644
index 0000000000000000000000000000000000000000..f74a078619b4075c9a04e6da6e899faa3a7993d6
--- /dev/null
+++ b/operators/k_mass/noarch/P2ToP1ElementwiseKMass_toMatrix_macro_3D.cpp
@@ -0,0 +1,1832 @@
+/*
+* Copyright (c) 2017-2024 Nils Kohl, Daniel Bauer, Fabian Böhm.
+*
+* This file is part of HyTeG
+* (see https://i10git.cs.fau.de/hyteg/hyteg).
+*
+* This program is free software: you can redistribute it and/or modify
+* it under the terms of the GNU General Public License as published by
+* the Free Software Foundation, either version 3 of the License, or
+* (at your option) any later version.
+*
+* This program is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+* GNU General Public License for more details.
+*
+* You should have received a copy of the GNU General Public License
+* along with this program. If not, see <http://www.gnu.org/licenses/>.
+*/
+
+/*
+* The entire file was generated with the HyTeG form generator.
+*
+* Avoid modifying this file. If buggy, consider fixing the generator itself.
+*/
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+#include "../P2ToP1ElementwiseKMass.hpp"
+
+#define FUNC_PREFIX  
+
+namespace hyteg {
+
+namespace operatorgeneration {
+
+void P2ToP1ElementwiseKMass::toMatrix_macro_3D( idx_t * RESTRICT  _data_dst, real_t * RESTRICT  _data_kEdge, real_t * RESTRICT  _data_kVertex, idx_t * RESTRICT  _data_srcEdge, idx_t * RESTRICT  _data_srcVertex, real_t macro_vertex_coord_id_0comp0, real_t macro_vertex_coord_id_0comp1, real_t macro_vertex_coord_id_0comp2, real_t macro_vertex_coord_id_1comp0, real_t macro_vertex_coord_id_1comp1, real_t macro_vertex_coord_id_1comp2, real_t macro_vertex_coord_id_2comp0, real_t macro_vertex_coord_id_2comp1, real_t macro_vertex_coord_id_2comp2, real_t macro_vertex_coord_id_3comp0, real_t macro_vertex_coord_id_3comp1, real_t macro_vertex_coord_id_3comp2, std::shared_ptr< SparseMatrixProxy > mat, int64_t micro_edges_per_macro_edge, real_t micro_edges_per_macro_edge_float ) const
+{
+    {
+       const real_t _data_q_w [] = {-0.1333333333333333, 0.074999999999999983, 0.074999999999999983, 0.074999999999999983, 0.074999999999999983};
+   
+       const real_t _data_q_p_0 [] = {0.25, 0.16666666666666666, 0.16666666666666666, 0.5, 0.16666666666666666};
+   
+       const real_t _data_q_p_1 [] = {0.25, 0.16666666666666666, 0.5, 0.16666666666666666, 0.16666666666666666};
+   
+       const real_t _data_q_p_2 [] = {0.25, 0.5, 0.16666666666666666, 0.16666666666666666, 0.16666666666666666};
+   
+       const real_t tmp_coords_jac_0_WHITE_UP = 1.0 / (micro_edges_per_macro_edge_float)*1.0;
+       const real_t p_affine_const_0_0_WHITE_UP = macro_vertex_coord_id_0comp0;
+       const real_t p_affine_const_0_1_WHITE_UP = macro_vertex_coord_id_0comp1;
+       const real_t p_affine_const_0_2_WHITE_UP = macro_vertex_coord_id_0comp2;
+       const real_t p_affine_const_1_0_WHITE_UP = macro_vertex_coord_id_0comp0 + tmp_coords_jac_0_WHITE_UP*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0);
+       const real_t p_affine_const_1_1_WHITE_UP = macro_vertex_coord_id_0comp1 + tmp_coords_jac_0_WHITE_UP*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1);
+       const real_t p_affine_const_1_2_WHITE_UP = macro_vertex_coord_id_0comp2 + tmp_coords_jac_0_WHITE_UP*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2);
+       const real_t p_affine_const_2_0_WHITE_UP = macro_vertex_coord_id_0comp0 + tmp_coords_jac_0_WHITE_UP*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0);
+       const real_t p_affine_const_2_1_WHITE_UP = macro_vertex_coord_id_0comp1 + tmp_coords_jac_0_WHITE_UP*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1);
+       const real_t p_affine_const_2_2_WHITE_UP = macro_vertex_coord_id_0comp2 + tmp_coords_jac_0_WHITE_UP*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2);
+       const real_t p_affine_const_3_0_WHITE_UP = macro_vertex_coord_id_0comp0 + tmp_coords_jac_0_WHITE_UP*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0);
+       const real_t p_affine_const_3_1_WHITE_UP = macro_vertex_coord_id_0comp1 + tmp_coords_jac_0_WHITE_UP*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1);
+       const real_t p_affine_const_3_2_WHITE_UP = macro_vertex_coord_id_0comp2 + tmp_coords_jac_0_WHITE_UP*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2);
+       const real_t jac_affine_0_0_WHITE_UP = -p_affine_const_0_0_WHITE_UP + p_affine_const_1_0_WHITE_UP;
+       const real_t jac_affine_0_1_WHITE_UP = -p_affine_const_0_0_WHITE_UP + p_affine_const_2_0_WHITE_UP;
+       const real_t jac_affine_0_2_WHITE_UP = -p_affine_const_0_0_WHITE_UP + p_affine_const_3_0_WHITE_UP;
+       const real_t jac_affine_1_0_WHITE_UP = -p_affine_const_0_1_WHITE_UP + p_affine_const_1_1_WHITE_UP;
+       const real_t jac_affine_1_1_WHITE_UP = -p_affine_const_0_1_WHITE_UP + p_affine_const_2_1_WHITE_UP;
+       const real_t jac_affine_1_2_WHITE_UP = -p_affine_const_0_1_WHITE_UP + p_affine_const_3_1_WHITE_UP;
+       const real_t jac_affine_2_0_WHITE_UP = -p_affine_const_0_2_WHITE_UP + p_affine_const_1_2_WHITE_UP;
+       const real_t jac_affine_2_1_WHITE_UP = -p_affine_const_0_2_WHITE_UP + p_affine_const_2_2_WHITE_UP;
+       const real_t jac_affine_2_2_WHITE_UP = -p_affine_const_0_2_WHITE_UP + p_affine_const_3_2_WHITE_UP;
+       const real_t abs_det_jac_affine_WHITE_UP = abs(jac_affine_0_0_WHITE_UP*jac_affine_1_1_WHITE_UP*jac_affine_2_2_WHITE_UP - jac_affine_0_0_WHITE_UP*jac_affine_1_2_WHITE_UP*jac_affine_2_1_WHITE_UP - jac_affine_0_1_WHITE_UP*jac_affine_1_0_WHITE_UP*jac_affine_2_2_WHITE_UP + jac_affine_0_1_WHITE_UP*jac_affine_1_2_WHITE_UP*jac_affine_2_0_WHITE_UP + jac_affine_0_2_WHITE_UP*jac_affine_1_0_WHITE_UP*jac_affine_2_1_WHITE_UP - jac_affine_0_2_WHITE_UP*jac_affine_1_1_WHITE_UP*jac_affine_2_0_WHITE_UP);
+       {
+          /* CellType.WHITE_UP */
+          const real_t _data_phi_psi_jac_affine_det_0_0_WHITE_UP [] = {((real_t)(abs_det_jac_affine_WHITE_UP*-0.03125)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.03125)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.03125)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.03125)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0625)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0625)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0625)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0625)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0625)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0625)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.03125)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.03125)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.03125)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.03125)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0625)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0625)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0625)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0625)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0625)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0625)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.03125)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.03125)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.03125)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.03125)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0625)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0625)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0625)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0625)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0625)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.03125)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.03125)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.03125)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.03125)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0625)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0625)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0625)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0625)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.0625)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.018518518518518524)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.018518518518518524)), 0.0, ((real_t)(abs_det_jac_affine_WHITE_UP*0.05555555555555558)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.05555555555555558)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.018518518518518524)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.055555555555555594)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.018518518518518535)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.018518518518518535)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.018518518518518507)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.018518518518518517)), 0.0, ((real_t)(abs_det_jac_affine_WHITE_UP*0.055555555555555552)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.055555555555555552)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.055555555555555566)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.018518518518518524)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.018518518518518524)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.018518518518518507)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.018518518518518517)), 0.0, ((real_t)(abs_det_jac_affine_WHITE_UP*0.055555555555555552)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.055555555555555566)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.018518518518518524)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.018518518518518524)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.055555555555555525)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.055555555555555552)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.055555555555555552)), 0.0, ((real_t)(abs_det_jac_affine_WHITE_UP*0.16666666666666666)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.16666666666666666)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.16666666666666671)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.05555555555555558)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.05555555555555558)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.018518518518518531)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.018518518518518521)), 0.0, ((real_t)(abs_det_jac_affine_WHITE_UP*-0.018518518518518521)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.055555555555555566)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.018518518518518521)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.055555555555555566)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.018518518518518531)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.055555555555555587)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.018518518518518531)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.018518518518518524)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.018518518518518517)), 0.0, ((real_t)(abs_det_jac_affine_WHITE_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.055555555555555552)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.055555555555555552)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.018518518518518524)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.055555555555555566)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.018518518518518524)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.05555555555555558)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.055555555555555552)), 0.0, ((real_t)(abs_det_jac_affine_WHITE_UP*-0.055555555555555552)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.16666666666666666)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.16666666666666666)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.05555555555555558)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.16666666666666671)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.05555555555555558)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.018518518518518524)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.018518518518518517)), 0.0, ((real_t)(abs_det_jac_affine_WHITE_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.055555555555555552)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.018518518518518524)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.055555555555555566)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.018518518518518524)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.018518518518518531)), 0.0, ((real_t)(abs_det_jac_affine_WHITE_UP*-0.018518518518518521)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.018518518518518521)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.018518518518518521)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.055555555555555566)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.055555555555555566)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.018518518518518531)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.018518518518518531)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.055555555555555587)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.05555555555555558)), 0.0, ((real_t)(abs_det_jac_affine_WHITE_UP*-0.055555555555555552)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.055555555555555552)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.055555555555555552)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.16666666666666666)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.16666666666666666)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.05555555555555558)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.05555555555555558)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.16666666666666671)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.018518518518518524)), 0.0, ((real_t)(abs_det_jac_affine_WHITE_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.055555555555555552)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.018518518518518524)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.018518518518518524)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.055555555555555566)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.018518518518518524)), 0.0, ((real_t)(abs_det_jac_affine_WHITE_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.055555555555555552)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.018518518518518524)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.018518518518518524)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.055555555555555566)), ((real_t)(abs_det_jac_affine_WHITE_UP*2.775557561562892e-17)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.055555555555555566)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.055555555555555566)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.055555555555555566)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.055555555555555566)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.055555555555555566)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.055555555555555566)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.16666666666666671)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.16666666666666671)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.16666666666666671)), ((real_t)(abs_det_jac_affine_WHITE_UP*9.2518585385429707e-18)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.055555555555555559)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.055555555555555559)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.055555555555555559)), ((real_t)(abs_det_jac_affine_WHITE_UP*9.2518585385429707e-18)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.055555555555555559)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.055555555555555559)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.055555555555555559)), ((real_t)(abs_det_jac_affine_WHITE_UP*9.2518585385429707e-18)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.055555555555555559)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.055555555555555559)), ((real_t)(abs_det_jac_affine_WHITE_UP*0.055555555555555559))};
+      
+          for (int64_t ctr_2 = 0; ctr_2 < micro_edges_per_macro_edge; ctr_2 += 1)
+          for (int64_t ctr_1 = 0; ctr_1 < -ctr_2 + micro_edges_per_macro_edge; ctr_1 += 1)
+          for (int64_t ctr_0 = 0; ctr_0 < -ctr_1 - ctr_2 + micro_edges_per_macro_edge; ctr_0 += 1)
+          {
+             const real_t k_dof_0 = _data_kVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))];
+             const real_t k_dof_1 = _data_kVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1];
+             const real_t k_dof_2 = _data_kVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))];
+             const real_t k_dof_3 = _data_kVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))];
+             const real_t k_dof_4 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))];
+             const real_t k_dof_5 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 5*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))];
+             const real_t k_dof_6 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))];
+             const real_t k_dof_7 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))];
+             const real_t k_dof_8 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 2*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))];
+             const real_t k_dof_9 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))];
+             real_t q_acc_0_0 = 0.0;
+             real_t q_acc_0_1 = 0.0;
+             real_t q_acc_0_2 = 0.0;
+             real_t q_acc_0_3 = 0.0;
+             real_t q_acc_0_4 = 0.0;
+             real_t q_acc_0_5 = 0.0;
+             real_t q_acc_0_6 = 0.0;
+             real_t q_acc_0_7 = 0.0;
+             real_t q_acc_0_8 = 0.0;
+             real_t q_acc_0_9 = 0.0;
+             real_t q_acc_1_0 = 0.0;
+             real_t q_acc_1_1 = 0.0;
+             real_t q_acc_1_2 = 0.0;
+             real_t q_acc_1_3 = 0.0;
+             real_t q_acc_1_4 = 0.0;
+             real_t q_acc_1_5 = 0.0;
+             real_t q_acc_1_6 = 0.0;
+             real_t q_acc_1_7 = 0.0;
+             real_t q_acc_1_8 = 0.0;
+             real_t q_acc_1_9 = 0.0;
+             real_t q_acc_2_0 = 0.0;
+             real_t q_acc_2_1 = 0.0;
+             real_t q_acc_2_2 = 0.0;
+             real_t q_acc_2_3 = 0.0;
+             real_t q_acc_2_4 = 0.0;
+             real_t q_acc_2_5 = 0.0;
+             real_t q_acc_2_6 = 0.0;
+             real_t q_acc_2_7 = 0.0;
+             real_t q_acc_2_8 = 0.0;
+             real_t q_acc_2_9 = 0.0;
+             real_t q_acc_3_0 = 0.0;
+             real_t q_acc_3_1 = 0.0;
+             real_t q_acc_3_2 = 0.0;
+             real_t q_acc_3_3 = 0.0;
+             real_t q_acc_3_4 = 0.0;
+             real_t q_acc_3_5 = 0.0;
+             real_t q_acc_3_6 = 0.0;
+             real_t q_acc_3_7 = 0.0;
+             real_t q_acc_3_8 = 0.0;
+             real_t q_acc_3_9 = 0.0;
+             for (int64_t q = 0; q < 5; q += 1)
+             {
+                const real_t tmp_qloop_0 = 4.0*_data_q_p_0[q];
+                const real_t tmp_qloop_1 = tmp_qloop_0*_data_q_p_1[q];
+                const real_t tmp_qloop_2 = tmp_qloop_0*_data_q_p_2[q];
+                const real_t tmp_qloop_3 = 4.0*_data_q_p_1[q]*_data_q_p_2[q];
+                const real_t tmp_qloop_4 = (_data_q_p_0[q]*_data_q_p_0[q]);
+                const real_t tmp_qloop_5 = tmp_qloop_4*2.0;
+                const real_t tmp_qloop_6 = (_data_q_p_1[q]*_data_q_p_1[q]);
+                const real_t tmp_qloop_7 = tmp_qloop_6*2.0;
+                const real_t tmp_qloop_8 = (_data_q_p_2[q]*_data_q_p_2[q]);
+                const real_t tmp_qloop_9 = tmp_qloop_8*2.0;
+                const real_t tmp_qloop_10 = tmp_qloop_1 + tmp_qloop_2;
+                const real_t tmp_qloop_11 = (k_dof_0*(tmp_qloop_10 + tmp_qloop_3 + tmp_qloop_5 + tmp_qloop_7 + tmp_qloop_9 - 3.0*_data_q_p_0[q] - 3.0*_data_q_p_1[q] - 3.0*_data_q_p_2[q] + 1.0) + k_dof_1*(tmp_qloop_5 - _data_q_p_0[q]) + k_dof_2*(tmp_qloop_7 - _data_q_p_1[q]) + k_dof_3*(tmp_qloop_9 - _data_q_p_2[q]) + k_dof_4*tmp_qloop_3 + k_dof_5*tmp_qloop_2 + k_dof_6*tmp_qloop_1 + k_dof_7*(-tmp_qloop_2 - tmp_qloop_3 + tmp_qloop_8*-4.0 + 4.0*_data_q_p_2[q]) + k_dof_8*(-tmp_qloop_1 - tmp_qloop_3 + tmp_qloop_6*-4.0 + 4.0*_data_q_p_1[q]) + k_dof_9*(-tmp_qloop_10 + tmp_qloop_4*-4.0 + 4.0*_data_q_p_0[q]))*_data_q_w[q];
+                const real_t tmp_qloop_12 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 14];
+                const real_t q_tmp_0_0 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q];
+                const real_t q_tmp_0_1 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 1];
+                const real_t q_tmp_0_2 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 2];
+                const real_t q_tmp_0_3 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 3];
+                const real_t q_tmp_0_4 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 4];
+                const real_t q_tmp_0_5 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 5];
+                const real_t q_tmp_0_6 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 6];
+                const real_t q_tmp_0_7 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 7];
+                const real_t q_tmp_0_8 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 8];
+                const real_t q_tmp_0_9 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 9];
+                const real_t q_tmp_1_0 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 10];
+                const real_t q_tmp_1_1 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 11];
+                const real_t q_tmp_1_2 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 12];
+                const real_t q_tmp_1_3 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 13];
+                const real_t q_tmp_1_4 = tmp_qloop_12;
+                const real_t q_tmp_1_5 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 15];
+                const real_t q_tmp_1_6 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 16];
+                const real_t q_tmp_1_7 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 17];
+                const real_t q_tmp_1_8 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 18];
+                const real_t q_tmp_1_9 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 19];
+                const real_t q_tmp_2_0 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 20];
+                const real_t q_tmp_2_1 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 21];
+                const real_t q_tmp_2_2 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 22];
+                const real_t q_tmp_2_3 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 23];
+                const real_t q_tmp_2_4 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 24];
+                const real_t q_tmp_2_5 = tmp_qloop_12;
+                const real_t q_tmp_2_6 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 25];
+                const real_t q_tmp_2_7 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 26];
+                const real_t q_tmp_2_8 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 27];
+                const real_t q_tmp_2_9 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 28];
+                const real_t q_tmp_3_0 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 29];
+                const real_t q_tmp_3_1 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 30];
+                const real_t q_tmp_3_2 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 31];
+                const real_t q_tmp_3_3 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 32];
+                const real_t q_tmp_3_4 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 33];
+                const real_t q_tmp_3_5 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 34];
+                const real_t q_tmp_3_6 = tmp_qloop_12;
+                const real_t q_tmp_3_7 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 35];
+                const real_t q_tmp_3_8 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 36];
+                const real_t q_tmp_3_9 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_UP[38*q + 37];
+                q_acc_0_0 = q_acc_0_0 + q_tmp_0_0;
+                q_acc_0_1 = q_acc_0_1 + q_tmp_0_1;
+                q_acc_0_2 = q_acc_0_2 + q_tmp_0_2;
+                q_acc_0_3 = q_acc_0_3 + q_tmp_0_3;
+                q_acc_0_4 = q_acc_0_4 + q_tmp_0_4;
+                q_acc_0_5 = q_acc_0_5 + q_tmp_0_5;
+                q_acc_0_6 = q_acc_0_6 + q_tmp_0_6;
+                q_acc_0_7 = q_acc_0_7 + q_tmp_0_7;
+                q_acc_0_8 = q_acc_0_8 + q_tmp_0_8;
+                q_acc_0_9 = q_acc_0_9 + q_tmp_0_9;
+                q_acc_1_0 = q_acc_1_0 + q_tmp_1_0;
+                q_acc_1_1 = q_acc_1_1 + q_tmp_1_1;
+                q_acc_1_2 = q_acc_1_2 + q_tmp_1_2;
+                q_acc_1_3 = q_acc_1_3 + q_tmp_1_3;
+                q_acc_1_4 = q_acc_1_4 + q_tmp_1_4;
+                q_acc_1_5 = q_acc_1_5 + q_tmp_1_5;
+                q_acc_1_6 = q_acc_1_6 + q_tmp_1_6;
+                q_acc_1_7 = q_acc_1_7 + q_tmp_1_7;
+                q_acc_1_8 = q_acc_1_8 + q_tmp_1_8;
+                q_acc_1_9 = q_acc_1_9 + q_tmp_1_9;
+                q_acc_2_0 = q_acc_2_0 + q_tmp_2_0;
+                q_acc_2_1 = q_acc_2_1 + q_tmp_2_1;
+                q_acc_2_2 = q_acc_2_2 + q_tmp_2_2;
+                q_acc_2_3 = q_acc_2_3 + q_tmp_2_3;
+                q_acc_2_4 = q_acc_2_4 + q_tmp_2_4;
+                q_acc_2_5 = q_acc_2_5 + q_tmp_2_5;
+                q_acc_2_6 = q_acc_2_6 + q_tmp_2_6;
+                q_acc_2_7 = q_acc_2_7 + q_tmp_2_7;
+                q_acc_2_8 = q_acc_2_8 + q_tmp_2_8;
+                q_acc_2_9 = q_acc_2_9 + q_tmp_2_9;
+                q_acc_3_0 = q_acc_3_0 + q_tmp_3_0;
+                q_acc_3_1 = q_acc_3_1 + q_tmp_3_1;
+                q_acc_3_2 = q_acc_3_2 + q_tmp_3_2;
+                q_acc_3_3 = q_acc_3_3 + q_tmp_3_3;
+                q_acc_3_4 = q_acc_3_4 + q_tmp_3_4;
+                q_acc_3_5 = q_acc_3_5 + q_tmp_3_5;
+                q_acc_3_6 = q_acc_3_6 + q_tmp_3_6;
+                q_acc_3_7 = q_acc_3_7 + q_tmp_3_7;
+                q_acc_3_8 = q_acc_3_8 + q_tmp_3_8;
+                q_acc_3_9 = q_acc_3_9 + q_tmp_3_9;
+             }
+             const real_t elMat_0_0 = q_acc_0_0;
+             const real_t elMat_0_1 = q_acc_0_1;
+             const real_t elMat_0_2 = q_acc_0_2;
+             const real_t elMat_0_3 = q_acc_0_3;
+             const real_t elMat_0_4 = q_acc_0_4;
+             const real_t elMat_0_5 = q_acc_0_5;
+             const real_t elMat_0_6 = q_acc_0_6;
+             const real_t elMat_0_7 = q_acc_0_7;
+             const real_t elMat_0_8 = q_acc_0_8;
+             const real_t elMat_0_9 = q_acc_0_9;
+             const real_t elMat_1_0 = q_acc_1_0;
+             const real_t elMat_1_1 = q_acc_1_1;
+             const real_t elMat_1_2 = q_acc_1_2;
+             const real_t elMat_1_3 = q_acc_1_3;
+             const real_t elMat_1_4 = q_acc_1_4;
+             const real_t elMat_1_5 = q_acc_1_5;
+             const real_t elMat_1_6 = q_acc_1_6;
+             const real_t elMat_1_7 = q_acc_1_7;
+             const real_t elMat_1_8 = q_acc_1_8;
+             const real_t elMat_1_9 = q_acc_1_9;
+             const real_t elMat_2_0 = q_acc_2_0;
+             const real_t elMat_2_1 = q_acc_2_1;
+             const real_t elMat_2_2 = q_acc_2_2;
+             const real_t elMat_2_3 = q_acc_2_3;
+             const real_t elMat_2_4 = q_acc_2_4;
+             const real_t elMat_2_5 = q_acc_2_5;
+             const real_t elMat_2_6 = q_acc_2_6;
+             const real_t elMat_2_7 = q_acc_2_7;
+             const real_t elMat_2_8 = q_acc_2_8;
+             const real_t elMat_2_9 = q_acc_2_9;
+             const real_t elMat_3_0 = q_acc_3_0;
+             const real_t elMat_3_1 = q_acc_3_1;
+             const real_t elMat_3_2 = q_acc_3_2;
+             const real_t elMat_3_3 = q_acc_3_3;
+             const real_t elMat_3_4 = q_acc_3_4;
+             const real_t elMat_3_5 = q_acc_3_5;
+             const real_t elMat_3_6 = q_acc_3_6;
+             const real_t elMat_3_7 = q_acc_3_7;
+             const real_t elMat_3_8 = q_acc_3_8;
+             const real_t elMat_3_9 = q_acc_3_9;
+         
+             std::vector< uint_t > _data_rowIdx( 4 );
+             std::vector< uint_t > _data_colIdx( 10 );
+             std::vector< real_t > _data_mat( 40 );
+         
+             _data_rowIdx[0] = ((uint64_t)(_data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]));
+             _data_rowIdx[1] = ((uint64_t)(_data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]));
+             _data_rowIdx[2] = ((uint64_t)(_data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]));
+             _data_rowIdx[3] = ((uint64_t)(_data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]));
+             _data_colIdx[0] = ((uint64_t)(_data_srcVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]));
+             _data_colIdx[1] = ((uint64_t)(_data_srcVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]));
+             _data_colIdx[2] = ((uint64_t)(_data_srcVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]));
+             _data_colIdx[3] = ((uint64_t)(_data_srcVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]));
+             _data_colIdx[4] = ((uint64_t)(_data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]));
+             _data_colIdx[5] = ((uint64_t)(_data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 5*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]));
+             _data_colIdx[6] = ((uint64_t)(_data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]));
+             _data_colIdx[7] = ((uint64_t)(_data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]));
+             _data_colIdx[8] = ((uint64_t)(_data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 2*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]));
+             _data_colIdx[9] = ((uint64_t)(_data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]));
+         
+             /* Apply basis transformation */
+         
+         
+         
+             _data_mat[0] = ((real_t)(elMat_0_0));
+             _data_mat[1] = ((real_t)(elMat_0_1));
+             _data_mat[2] = ((real_t)(elMat_0_2));
+             _data_mat[3] = ((real_t)(elMat_0_3));
+             _data_mat[4] = ((real_t)(elMat_0_4));
+             _data_mat[5] = ((real_t)(elMat_0_5));
+             _data_mat[6] = ((real_t)(elMat_0_6));
+             _data_mat[7] = ((real_t)(elMat_0_7));
+             _data_mat[8] = ((real_t)(elMat_0_8));
+             _data_mat[9] = ((real_t)(elMat_0_9));
+             _data_mat[10] = ((real_t)(elMat_1_0));
+             _data_mat[11] = ((real_t)(elMat_1_1));
+             _data_mat[12] = ((real_t)(elMat_1_2));
+             _data_mat[13] = ((real_t)(elMat_1_3));
+             _data_mat[14] = ((real_t)(elMat_1_4));
+             _data_mat[15] = ((real_t)(elMat_1_5));
+             _data_mat[16] = ((real_t)(elMat_1_6));
+             _data_mat[17] = ((real_t)(elMat_1_7));
+             _data_mat[18] = ((real_t)(elMat_1_8));
+             _data_mat[19] = ((real_t)(elMat_1_9));
+             _data_mat[20] = ((real_t)(elMat_2_0));
+             _data_mat[21] = ((real_t)(elMat_2_1));
+             _data_mat[22] = ((real_t)(elMat_2_2));
+             _data_mat[23] = ((real_t)(elMat_2_3));
+             _data_mat[24] = ((real_t)(elMat_2_4));
+             _data_mat[25] = ((real_t)(elMat_2_5));
+             _data_mat[26] = ((real_t)(elMat_2_6));
+             _data_mat[27] = ((real_t)(elMat_2_7));
+             _data_mat[28] = ((real_t)(elMat_2_8));
+             _data_mat[29] = ((real_t)(elMat_2_9));
+             _data_mat[30] = ((real_t)(elMat_3_0));
+             _data_mat[31] = ((real_t)(elMat_3_1));
+             _data_mat[32] = ((real_t)(elMat_3_2));
+             _data_mat[33] = ((real_t)(elMat_3_3));
+             _data_mat[34] = ((real_t)(elMat_3_4));
+             _data_mat[35] = ((real_t)(elMat_3_5));
+             _data_mat[36] = ((real_t)(elMat_3_6));
+             _data_mat[37] = ((real_t)(elMat_3_7));
+             _data_mat[38] = ((real_t)(elMat_3_8));
+             _data_mat[39] = ((real_t)(elMat_3_9));
+         
+         
+             mat->addValues( _data_rowIdx, _data_colIdx, _data_mat );
+          }
+       }
+       const real_t tmp_coords_jac_0_WHITE_DOWN = 1.0 / (micro_edges_per_macro_edge_float)*1.0;
+       const real_t tmp_coords_jac_1_WHITE_DOWN = tmp_coords_jac_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0);
+       const real_t tmp_coords_jac_2_WHITE_DOWN = macro_vertex_coord_id_0comp0 + tmp_coords_jac_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0);
+       const real_t tmp_coords_jac_3_WHITE_DOWN = tmp_coords_jac_1_WHITE_DOWN + tmp_coords_jac_2_WHITE_DOWN;
+       const real_t tmp_coords_jac_4_WHITE_DOWN = tmp_coords_jac_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1);
+       const real_t tmp_coords_jac_5_WHITE_DOWN = macro_vertex_coord_id_0comp1 + tmp_coords_jac_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1);
+       const real_t tmp_coords_jac_6_WHITE_DOWN = tmp_coords_jac_4_WHITE_DOWN + tmp_coords_jac_5_WHITE_DOWN;
+       const real_t tmp_coords_jac_7_WHITE_DOWN = tmp_coords_jac_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2);
+       const real_t tmp_coords_jac_8_WHITE_DOWN = macro_vertex_coord_id_0comp2 + tmp_coords_jac_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2);
+       const real_t tmp_coords_jac_9_WHITE_DOWN = tmp_coords_jac_7_WHITE_DOWN + tmp_coords_jac_8_WHITE_DOWN;
+       const real_t tmp_coords_jac_10_WHITE_DOWN = tmp_coords_jac_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0);
+       const real_t tmp_coords_jac_11_WHITE_DOWN = tmp_coords_jac_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1);
+       const real_t tmp_coords_jac_12_WHITE_DOWN = tmp_coords_jac_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2);
+       const real_t p_affine_const_0_0_WHITE_DOWN = tmp_coords_jac_3_WHITE_DOWN;
+       const real_t p_affine_const_0_1_WHITE_DOWN = tmp_coords_jac_6_WHITE_DOWN;
+       const real_t p_affine_const_0_2_WHITE_DOWN = tmp_coords_jac_9_WHITE_DOWN;
+       const real_t p_affine_const_1_0_WHITE_DOWN = tmp_coords_jac_10_WHITE_DOWN + tmp_coords_jac_2_WHITE_DOWN;
+       const real_t p_affine_const_1_1_WHITE_DOWN = tmp_coords_jac_11_WHITE_DOWN + tmp_coords_jac_5_WHITE_DOWN;
+       const real_t p_affine_const_1_2_WHITE_DOWN = tmp_coords_jac_12_WHITE_DOWN + tmp_coords_jac_8_WHITE_DOWN;
+       const real_t p_affine_const_2_0_WHITE_DOWN = macro_vertex_coord_id_0comp0 + tmp_coords_jac_10_WHITE_DOWN + tmp_coords_jac_1_WHITE_DOWN;
+       const real_t p_affine_const_2_1_WHITE_DOWN = macro_vertex_coord_id_0comp1 + tmp_coords_jac_11_WHITE_DOWN + tmp_coords_jac_4_WHITE_DOWN;
+       const real_t p_affine_const_2_2_WHITE_DOWN = macro_vertex_coord_id_0comp2 + tmp_coords_jac_12_WHITE_DOWN + tmp_coords_jac_7_WHITE_DOWN;
+       const real_t p_affine_const_3_0_WHITE_DOWN = tmp_coords_jac_10_WHITE_DOWN + tmp_coords_jac_3_WHITE_DOWN;
+       const real_t p_affine_const_3_1_WHITE_DOWN = tmp_coords_jac_11_WHITE_DOWN + tmp_coords_jac_6_WHITE_DOWN;
+       const real_t p_affine_const_3_2_WHITE_DOWN = tmp_coords_jac_12_WHITE_DOWN + tmp_coords_jac_9_WHITE_DOWN;
+       const real_t jac_affine_0_0_WHITE_DOWN = -p_affine_const_0_0_WHITE_DOWN + p_affine_const_1_0_WHITE_DOWN;
+       const real_t jac_affine_0_1_WHITE_DOWN = -p_affine_const_0_0_WHITE_DOWN + p_affine_const_2_0_WHITE_DOWN;
+       const real_t jac_affine_0_2_WHITE_DOWN = -p_affine_const_0_0_WHITE_DOWN + p_affine_const_3_0_WHITE_DOWN;
+       const real_t jac_affine_1_0_WHITE_DOWN = -p_affine_const_0_1_WHITE_DOWN + p_affine_const_1_1_WHITE_DOWN;
+       const real_t jac_affine_1_1_WHITE_DOWN = -p_affine_const_0_1_WHITE_DOWN + p_affine_const_2_1_WHITE_DOWN;
+       const real_t jac_affine_1_2_WHITE_DOWN = -p_affine_const_0_1_WHITE_DOWN + p_affine_const_3_1_WHITE_DOWN;
+       const real_t jac_affine_2_0_WHITE_DOWN = -p_affine_const_0_2_WHITE_DOWN + p_affine_const_1_2_WHITE_DOWN;
+       const real_t jac_affine_2_1_WHITE_DOWN = -p_affine_const_0_2_WHITE_DOWN + p_affine_const_2_2_WHITE_DOWN;
+       const real_t jac_affine_2_2_WHITE_DOWN = -p_affine_const_0_2_WHITE_DOWN + p_affine_const_3_2_WHITE_DOWN;
+       const real_t abs_det_jac_affine_WHITE_DOWN = abs(jac_affine_0_0_WHITE_DOWN*jac_affine_1_1_WHITE_DOWN*jac_affine_2_2_WHITE_DOWN - jac_affine_0_0_WHITE_DOWN*jac_affine_1_2_WHITE_DOWN*jac_affine_2_1_WHITE_DOWN - jac_affine_0_1_WHITE_DOWN*jac_affine_1_0_WHITE_DOWN*jac_affine_2_2_WHITE_DOWN + jac_affine_0_1_WHITE_DOWN*jac_affine_1_2_WHITE_DOWN*jac_affine_2_0_WHITE_DOWN + jac_affine_0_2_WHITE_DOWN*jac_affine_1_0_WHITE_DOWN*jac_affine_2_1_WHITE_DOWN - jac_affine_0_2_WHITE_DOWN*jac_affine_1_1_WHITE_DOWN*jac_affine_2_0_WHITE_DOWN);
+       {
+          /* CellType.WHITE_DOWN */
+          const real_t _data_phi_psi_jac_affine_det_0_0_WHITE_DOWN [] = {((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.018518518518518524)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.018518518518518524)), 0.0, ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.05555555555555558)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.05555555555555558)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.018518518518518524)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.055555555555555594)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.018518518518518535)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.018518518518518535)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.018518518518518507)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.018518518518518517)), 0.0, ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.055555555555555552)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.055555555555555552)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.055555555555555566)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.018518518518518524)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.018518518518518524)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.018518518518518507)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.018518518518518517)), 0.0, ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.055555555555555552)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.055555555555555566)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.018518518518518524)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.018518518518518524)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.055555555555555525)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.055555555555555552)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.055555555555555552)), 0.0, ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.16666666666666666)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.16666666666666666)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.16666666666666671)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.05555555555555558)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.05555555555555558)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.018518518518518531)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.018518518518518521)), 0.0, ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.018518518518518521)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.055555555555555566)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.018518518518518521)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.055555555555555566)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.018518518518518531)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.055555555555555587)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.018518518518518531)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.018518518518518524)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.018518518518518517)), 0.0, ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.055555555555555552)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.055555555555555552)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.018518518518518524)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.055555555555555566)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.018518518518518524)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.05555555555555558)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.055555555555555552)), 0.0, ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.055555555555555552)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.16666666666666666)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.16666666666666666)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.05555555555555558)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.16666666666666671)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.05555555555555558)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.018518518518518524)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.018518518518518517)), 0.0, ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.055555555555555552)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.018518518518518524)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.055555555555555566)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.018518518518518524)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.018518518518518531)), 0.0, ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.018518518518518521)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.018518518518518521)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.018518518518518521)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.055555555555555566)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.055555555555555566)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.018518518518518531)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.018518518518518531)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.055555555555555587)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.05555555555555558)), 0.0, ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.055555555555555552)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.055555555555555552)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.055555555555555552)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.16666666666666666)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.16666666666666666)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.05555555555555558)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.05555555555555558)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.16666666666666671)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.018518518518518524)), 0.0, ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.055555555555555552)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.018518518518518524)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.018518518518518524)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.055555555555555566)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.018518518518518524)), 0.0, ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.055555555555555552)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.018518518518518524)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.018518518518518524)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.055555555555555566)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*2.775557561562892e-17)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.055555555555555566)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.055555555555555566)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.055555555555555566)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.055555555555555566)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.055555555555555566)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.055555555555555566)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.16666666666666671)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.16666666666666671)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.16666666666666671)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*9.2518585385429707e-18)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.055555555555555559)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.055555555555555559)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.055555555555555559)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*9.2518585385429707e-18)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.055555555555555559)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.055555555555555559)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.055555555555555559)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*9.2518585385429707e-18)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.018518518518518517)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.055555555555555559)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.055555555555555559)), ((real_t)(abs_det_jac_affine_WHITE_DOWN*0.055555555555555559))};
+      
+          for (int64_t ctr_2 = 0; ctr_2 < micro_edges_per_macro_edge; ctr_2 += 1)
+          for (int64_t ctr_1 = 0; ctr_1 < -ctr_2 + micro_edges_per_macro_edge; ctr_1 += 1)
+          for (int64_t ctr_0 = 0; ctr_0 < -ctr_1 - ctr_2 + micro_edges_per_macro_edge - 2; ctr_0 += 1)
+          {
+             const real_t k_dof_0 = _data_kVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1];
+             const real_t k_dof_1 = _data_kVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1];
+             const real_t k_dof_2 = _data_kVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))];
+             const real_t k_dof_3 = _data_kVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1];
+             const real_t k_dof_4 = _data_kEdge[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))];
+             const real_t k_dof_5 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + 2*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6)) + 1];
+             const real_t k_dof_6 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))];
+             const real_t k_dof_7 = _data_kEdge[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1];
+             const real_t k_dof_8 = _data_kEdge[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 5*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))];
+             const real_t k_dof_9 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1];
+             real_t q_acc_0_0 = 0.0;
+             real_t q_acc_0_1 = 0.0;
+             real_t q_acc_0_2 = 0.0;
+             real_t q_acc_0_3 = 0.0;
+             real_t q_acc_0_4 = 0.0;
+             real_t q_acc_0_5 = 0.0;
+             real_t q_acc_0_6 = 0.0;
+             real_t q_acc_0_7 = 0.0;
+             real_t q_acc_0_8 = 0.0;
+             real_t q_acc_0_9 = 0.0;
+             real_t q_acc_1_0 = 0.0;
+             real_t q_acc_1_1 = 0.0;
+             real_t q_acc_1_2 = 0.0;
+             real_t q_acc_1_3 = 0.0;
+             real_t q_acc_1_4 = 0.0;
+             real_t q_acc_1_5 = 0.0;
+             real_t q_acc_1_6 = 0.0;
+             real_t q_acc_1_7 = 0.0;
+             real_t q_acc_1_8 = 0.0;
+             real_t q_acc_1_9 = 0.0;
+             real_t q_acc_2_0 = 0.0;
+             real_t q_acc_2_1 = 0.0;
+             real_t q_acc_2_2 = 0.0;
+             real_t q_acc_2_3 = 0.0;
+             real_t q_acc_2_4 = 0.0;
+             real_t q_acc_2_5 = 0.0;
+             real_t q_acc_2_6 = 0.0;
+             real_t q_acc_2_7 = 0.0;
+             real_t q_acc_2_8 = 0.0;
+             real_t q_acc_2_9 = 0.0;
+             real_t q_acc_3_0 = 0.0;
+             real_t q_acc_3_1 = 0.0;
+             real_t q_acc_3_2 = 0.0;
+             real_t q_acc_3_3 = 0.0;
+             real_t q_acc_3_4 = 0.0;
+             real_t q_acc_3_5 = 0.0;
+             real_t q_acc_3_6 = 0.0;
+             real_t q_acc_3_7 = 0.0;
+             real_t q_acc_3_8 = 0.0;
+             real_t q_acc_3_9 = 0.0;
+             for (int64_t q = 0; q < 5; q += 1)
+             {
+                const real_t tmp_qloop_0 = 4.0*_data_q_p_0[q];
+                const real_t tmp_qloop_1 = tmp_qloop_0*_data_q_p_1[q];
+                const real_t tmp_qloop_2 = tmp_qloop_0*_data_q_p_2[q];
+                const real_t tmp_qloop_3 = 4.0*_data_q_p_1[q]*_data_q_p_2[q];
+                const real_t tmp_qloop_4 = (_data_q_p_0[q]*_data_q_p_0[q]);
+                const real_t tmp_qloop_5 = tmp_qloop_4*2.0;
+                const real_t tmp_qloop_6 = (_data_q_p_1[q]*_data_q_p_1[q]);
+                const real_t tmp_qloop_7 = tmp_qloop_6*2.0;
+                const real_t tmp_qloop_8 = (_data_q_p_2[q]*_data_q_p_2[q]);
+                const real_t tmp_qloop_9 = tmp_qloop_8*2.0;
+                const real_t tmp_qloop_10 = tmp_qloop_1 + tmp_qloop_2;
+                const real_t tmp_qloop_11 = (k_dof_0*(tmp_qloop_10 + tmp_qloop_3 + tmp_qloop_5 + tmp_qloop_7 + tmp_qloop_9 - 3.0*_data_q_p_0[q] - 3.0*_data_q_p_1[q] - 3.0*_data_q_p_2[q] + 1.0) + k_dof_1*(tmp_qloop_5 - _data_q_p_0[q]) + k_dof_2*(tmp_qloop_7 - _data_q_p_1[q]) + k_dof_3*(tmp_qloop_9 - _data_q_p_2[q]) + k_dof_4*tmp_qloop_3 + k_dof_5*tmp_qloop_2 + k_dof_6*tmp_qloop_1 + k_dof_7*(-tmp_qloop_2 - tmp_qloop_3 + tmp_qloop_8*-4.0 + 4.0*_data_q_p_2[q]) + k_dof_8*(-tmp_qloop_1 - tmp_qloop_3 + tmp_qloop_6*-4.0 + 4.0*_data_q_p_1[q]) + k_dof_9*(-tmp_qloop_10 + tmp_qloop_4*-4.0 + 4.0*_data_q_p_0[q]))*_data_q_w[q];
+                const real_t tmp_qloop_12 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 14];
+                const real_t q_tmp_0_0 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q];
+                const real_t q_tmp_0_1 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 1];
+                const real_t q_tmp_0_2 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 2];
+                const real_t q_tmp_0_3 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 3];
+                const real_t q_tmp_0_4 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 4];
+                const real_t q_tmp_0_5 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 5];
+                const real_t q_tmp_0_6 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 6];
+                const real_t q_tmp_0_7 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 7];
+                const real_t q_tmp_0_8 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 8];
+                const real_t q_tmp_0_9 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 9];
+                const real_t q_tmp_1_0 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 10];
+                const real_t q_tmp_1_1 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 11];
+                const real_t q_tmp_1_2 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 12];
+                const real_t q_tmp_1_3 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 13];
+                const real_t q_tmp_1_4 = tmp_qloop_12;
+                const real_t q_tmp_1_5 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 15];
+                const real_t q_tmp_1_6 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 16];
+                const real_t q_tmp_1_7 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 17];
+                const real_t q_tmp_1_8 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 18];
+                const real_t q_tmp_1_9 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 19];
+                const real_t q_tmp_2_0 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 20];
+                const real_t q_tmp_2_1 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 21];
+                const real_t q_tmp_2_2 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 22];
+                const real_t q_tmp_2_3 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 23];
+                const real_t q_tmp_2_4 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 24];
+                const real_t q_tmp_2_5 = tmp_qloop_12;
+                const real_t q_tmp_2_6 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 25];
+                const real_t q_tmp_2_7 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 26];
+                const real_t q_tmp_2_8 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 27];
+                const real_t q_tmp_2_9 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 28];
+                const real_t q_tmp_3_0 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 29];
+                const real_t q_tmp_3_1 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 30];
+                const real_t q_tmp_3_2 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 31];
+                const real_t q_tmp_3_3 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 32];
+                const real_t q_tmp_3_4 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 33];
+                const real_t q_tmp_3_5 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 34];
+                const real_t q_tmp_3_6 = tmp_qloop_12;
+                const real_t q_tmp_3_7 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 35];
+                const real_t q_tmp_3_8 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 36];
+                const real_t q_tmp_3_9 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_WHITE_DOWN[38*q + 37];
+                q_acc_0_0 = q_acc_0_0 + q_tmp_0_0;
+                q_acc_0_1 = q_acc_0_1 + q_tmp_0_1;
+                q_acc_0_2 = q_acc_0_2 + q_tmp_0_2;
+                q_acc_0_3 = q_acc_0_3 + q_tmp_0_3;
+                q_acc_0_4 = q_acc_0_4 + q_tmp_0_4;
+                q_acc_0_5 = q_acc_0_5 + q_tmp_0_5;
+                q_acc_0_6 = q_acc_0_6 + q_tmp_0_6;
+                q_acc_0_7 = q_acc_0_7 + q_tmp_0_7;
+                q_acc_0_8 = q_acc_0_8 + q_tmp_0_8;
+                q_acc_0_9 = q_acc_0_9 + q_tmp_0_9;
+                q_acc_1_0 = q_acc_1_0 + q_tmp_1_0;
+                q_acc_1_1 = q_acc_1_1 + q_tmp_1_1;
+                q_acc_1_2 = q_acc_1_2 + q_tmp_1_2;
+                q_acc_1_3 = q_acc_1_3 + q_tmp_1_3;
+                q_acc_1_4 = q_acc_1_4 + q_tmp_1_4;
+                q_acc_1_5 = q_acc_1_5 + q_tmp_1_5;
+                q_acc_1_6 = q_acc_1_6 + q_tmp_1_6;
+                q_acc_1_7 = q_acc_1_7 + q_tmp_1_7;
+                q_acc_1_8 = q_acc_1_8 + q_tmp_1_8;
+                q_acc_1_9 = q_acc_1_9 + q_tmp_1_9;
+                q_acc_2_0 = q_acc_2_0 + q_tmp_2_0;
+                q_acc_2_1 = q_acc_2_1 + q_tmp_2_1;
+                q_acc_2_2 = q_acc_2_2 + q_tmp_2_2;
+                q_acc_2_3 = q_acc_2_3 + q_tmp_2_3;
+                q_acc_2_4 = q_acc_2_4 + q_tmp_2_4;
+                q_acc_2_5 = q_acc_2_5 + q_tmp_2_5;
+                q_acc_2_6 = q_acc_2_6 + q_tmp_2_6;
+                q_acc_2_7 = q_acc_2_7 + q_tmp_2_7;
+                q_acc_2_8 = q_acc_2_8 + q_tmp_2_8;
+                q_acc_2_9 = q_acc_2_9 + q_tmp_2_9;
+                q_acc_3_0 = q_acc_3_0 + q_tmp_3_0;
+                q_acc_3_1 = q_acc_3_1 + q_tmp_3_1;
+                q_acc_3_2 = q_acc_3_2 + q_tmp_3_2;
+                q_acc_3_3 = q_acc_3_3 + q_tmp_3_3;
+                q_acc_3_4 = q_acc_3_4 + q_tmp_3_4;
+                q_acc_3_5 = q_acc_3_5 + q_tmp_3_5;
+                q_acc_3_6 = q_acc_3_6 + q_tmp_3_6;
+                q_acc_3_7 = q_acc_3_7 + q_tmp_3_7;
+                q_acc_3_8 = q_acc_3_8 + q_tmp_3_8;
+                q_acc_3_9 = q_acc_3_9 + q_tmp_3_9;
+             }
+             const real_t elMat_0_0 = q_acc_0_0;
+             const real_t elMat_0_1 = q_acc_0_1;
+             const real_t elMat_0_2 = q_acc_0_2;
+             const real_t elMat_0_3 = q_acc_0_3;
+             const real_t elMat_0_4 = q_acc_0_4;
+             const real_t elMat_0_5 = q_acc_0_5;
+             const real_t elMat_0_6 = q_acc_0_6;
+             const real_t elMat_0_7 = q_acc_0_7;
+             const real_t elMat_0_8 = q_acc_0_8;
+             const real_t elMat_0_9 = q_acc_0_9;
+             const real_t elMat_1_0 = q_acc_1_0;
+             const real_t elMat_1_1 = q_acc_1_1;
+             const real_t elMat_1_2 = q_acc_1_2;
+             const real_t elMat_1_3 = q_acc_1_3;
+             const real_t elMat_1_4 = q_acc_1_4;
+             const real_t elMat_1_5 = q_acc_1_5;
+             const real_t elMat_1_6 = q_acc_1_6;
+             const real_t elMat_1_7 = q_acc_1_7;
+             const real_t elMat_1_8 = q_acc_1_8;
+             const real_t elMat_1_9 = q_acc_1_9;
+             const real_t elMat_2_0 = q_acc_2_0;
+             const real_t elMat_2_1 = q_acc_2_1;
+             const real_t elMat_2_2 = q_acc_2_2;
+             const real_t elMat_2_3 = q_acc_2_3;
+             const real_t elMat_2_4 = q_acc_2_4;
+             const real_t elMat_2_5 = q_acc_2_5;
+             const real_t elMat_2_6 = q_acc_2_6;
+             const real_t elMat_2_7 = q_acc_2_7;
+             const real_t elMat_2_8 = q_acc_2_8;
+             const real_t elMat_2_9 = q_acc_2_9;
+             const real_t elMat_3_0 = q_acc_3_0;
+             const real_t elMat_3_1 = q_acc_3_1;
+             const real_t elMat_3_2 = q_acc_3_2;
+             const real_t elMat_3_3 = q_acc_3_3;
+             const real_t elMat_3_4 = q_acc_3_4;
+             const real_t elMat_3_5 = q_acc_3_5;
+             const real_t elMat_3_6 = q_acc_3_6;
+             const real_t elMat_3_7 = q_acc_3_7;
+             const real_t elMat_3_8 = q_acc_3_8;
+             const real_t elMat_3_9 = q_acc_3_9;
+         
+             std::vector< uint_t > _data_rowIdx( 4 );
+             std::vector< uint_t > _data_colIdx( 10 );
+             std::vector< real_t > _data_mat( 40 );
+         
+             _data_rowIdx[0] = ((uint64_t)(_data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]));
+             _data_rowIdx[1] = ((uint64_t)(_data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]));
+             _data_rowIdx[2] = ((uint64_t)(_data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]));
+             _data_rowIdx[3] = ((uint64_t)(_data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]));
+             _data_colIdx[0] = ((uint64_t)(_data_srcVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]));
+             _data_colIdx[1] = ((uint64_t)(_data_srcVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]));
+             _data_colIdx[2] = ((uint64_t)(_data_srcVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]));
+             _data_colIdx[3] = ((uint64_t)(_data_srcVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]));
+             _data_colIdx[4] = ((uint64_t)(_data_srcEdge[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]));
+             _data_colIdx[5] = ((uint64_t)(_data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + 2*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6)) + 1]));
+             _data_colIdx[6] = ((uint64_t)(_data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]));
+             _data_colIdx[7] = ((uint64_t)(_data_srcEdge[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1]));
+             _data_colIdx[8] = ((uint64_t)(_data_srcEdge[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 5*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]));
+             _data_colIdx[9] = ((uint64_t)(_data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1]));
+         
+             /* Apply basis transformation */
+         
+         
+         
+             _data_mat[0] = ((real_t)(elMat_0_0));
+             _data_mat[1] = ((real_t)(elMat_0_1));
+             _data_mat[2] = ((real_t)(elMat_0_2));
+             _data_mat[3] = ((real_t)(elMat_0_3));
+             _data_mat[4] = ((real_t)(elMat_0_4));
+             _data_mat[5] = ((real_t)(elMat_0_5));
+             _data_mat[6] = ((real_t)(elMat_0_6));
+             _data_mat[7] = ((real_t)(elMat_0_7));
+             _data_mat[8] = ((real_t)(elMat_0_8));
+             _data_mat[9] = ((real_t)(elMat_0_9));
+             _data_mat[10] = ((real_t)(elMat_1_0));
+             _data_mat[11] = ((real_t)(elMat_1_1));
+             _data_mat[12] = ((real_t)(elMat_1_2));
+             _data_mat[13] = ((real_t)(elMat_1_3));
+             _data_mat[14] = ((real_t)(elMat_1_4));
+             _data_mat[15] = ((real_t)(elMat_1_5));
+             _data_mat[16] = ((real_t)(elMat_1_6));
+             _data_mat[17] = ((real_t)(elMat_1_7));
+             _data_mat[18] = ((real_t)(elMat_1_8));
+             _data_mat[19] = ((real_t)(elMat_1_9));
+             _data_mat[20] = ((real_t)(elMat_2_0));
+             _data_mat[21] = ((real_t)(elMat_2_1));
+             _data_mat[22] = ((real_t)(elMat_2_2));
+             _data_mat[23] = ((real_t)(elMat_2_3));
+             _data_mat[24] = ((real_t)(elMat_2_4));
+             _data_mat[25] = ((real_t)(elMat_2_5));
+             _data_mat[26] = ((real_t)(elMat_2_6));
+             _data_mat[27] = ((real_t)(elMat_2_7));
+             _data_mat[28] = ((real_t)(elMat_2_8));
+             _data_mat[29] = ((real_t)(elMat_2_9));
+             _data_mat[30] = ((real_t)(elMat_3_0));
+             _data_mat[31] = ((real_t)(elMat_3_1));
+             _data_mat[32] = ((real_t)(elMat_3_2));
+             _data_mat[33] = ((real_t)(elMat_3_3));
+             _data_mat[34] = ((real_t)(elMat_3_4));
+             _data_mat[35] = ((real_t)(elMat_3_5));
+             _data_mat[36] = ((real_t)(elMat_3_6));
+             _data_mat[37] = ((real_t)(elMat_3_7));
+             _data_mat[38] = ((real_t)(elMat_3_8));
+             _data_mat[39] = ((real_t)(elMat_3_9));
+         
+         
+             mat->addValues( _data_rowIdx, _data_colIdx, _data_mat );
+          }
+       }
+       const real_t tmp_coords_jac_0_BLUE_UP = 1.0 / (micro_edges_per_macro_edge_float)*1.0;
+       const real_t tmp_coords_jac_1_BLUE_UP = macro_vertex_coord_id_0comp0 + tmp_coords_jac_0_BLUE_UP*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0);
+       const real_t tmp_coords_jac_2_BLUE_UP = macro_vertex_coord_id_0comp1 + tmp_coords_jac_0_BLUE_UP*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1);
+       const real_t tmp_coords_jac_3_BLUE_UP = macro_vertex_coord_id_0comp2 + tmp_coords_jac_0_BLUE_UP*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2);
+       const real_t tmp_coords_jac_4_BLUE_UP = tmp_coords_jac_0_BLUE_UP*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0);
+       const real_t tmp_coords_jac_5_BLUE_UP = tmp_coords_jac_0_BLUE_UP*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1);
+       const real_t tmp_coords_jac_6_BLUE_UP = tmp_coords_jac_0_BLUE_UP*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2);
+       const real_t p_affine_const_0_0_BLUE_UP = tmp_coords_jac_1_BLUE_UP;
+       const real_t p_affine_const_0_1_BLUE_UP = tmp_coords_jac_2_BLUE_UP;
+       const real_t p_affine_const_0_2_BLUE_UP = tmp_coords_jac_3_BLUE_UP;
+       const real_t p_affine_const_1_0_BLUE_UP = macro_vertex_coord_id_0comp0 + tmp_coords_jac_4_BLUE_UP;
+       const real_t p_affine_const_1_1_BLUE_UP = macro_vertex_coord_id_0comp1 + tmp_coords_jac_5_BLUE_UP;
+       const real_t p_affine_const_1_2_BLUE_UP = macro_vertex_coord_id_0comp2 + tmp_coords_jac_6_BLUE_UP;
+       const real_t p_affine_const_2_0_BLUE_UP = tmp_coords_jac_1_BLUE_UP + tmp_coords_jac_4_BLUE_UP;
+       const real_t p_affine_const_2_1_BLUE_UP = tmp_coords_jac_2_BLUE_UP + tmp_coords_jac_5_BLUE_UP;
+       const real_t p_affine_const_2_2_BLUE_UP = tmp_coords_jac_3_BLUE_UP + tmp_coords_jac_6_BLUE_UP;
+       const real_t p_affine_const_3_0_BLUE_UP = tmp_coords_jac_0_BLUE_UP*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0) + tmp_coords_jac_1_BLUE_UP;
+       const real_t p_affine_const_3_1_BLUE_UP = tmp_coords_jac_0_BLUE_UP*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1) + tmp_coords_jac_2_BLUE_UP;
+       const real_t p_affine_const_3_2_BLUE_UP = tmp_coords_jac_0_BLUE_UP*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2) + tmp_coords_jac_3_BLUE_UP;
+       const real_t jac_affine_0_0_BLUE_UP = -p_affine_const_0_0_BLUE_UP + p_affine_const_1_0_BLUE_UP;
+       const real_t jac_affine_0_1_BLUE_UP = -p_affine_const_0_0_BLUE_UP + p_affine_const_2_0_BLUE_UP;
+       const real_t jac_affine_0_2_BLUE_UP = -p_affine_const_0_0_BLUE_UP + p_affine_const_3_0_BLUE_UP;
+       const real_t jac_affine_1_0_BLUE_UP = -p_affine_const_0_1_BLUE_UP + p_affine_const_1_1_BLUE_UP;
+       const real_t jac_affine_1_1_BLUE_UP = -p_affine_const_0_1_BLUE_UP + p_affine_const_2_1_BLUE_UP;
+       const real_t jac_affine_1_2_BLUE_UP = -p_affine_const_0_1_BLUE_UP + p_affine_const_3_1_BLUE_UP;
+       const real_t jac_affine_2_0_BLUE_UP = -p_affine_const_0_2_BLUE_UP + p_affine_const_1_2_BLUE_UP;
+       const real_t jac_affine_2_1_BLUE_UP = -p_affine_const_0_2_BLUE_UP + p_affine_const_2_2_BLUE_UP;
+       const real_t jac_affine_2_2_BLUE_UP = -p_affine_const_0_2_BLUE_UP + p_affine_const_3_2_BLUE_UP;
+       const real_t abs_det_jac_affine_BLUE_UP = abs(jac_affine_0_0_BLUE_UP*jac_affine_1_1_BLUE_UP*jac_affine_2_2_BLUE_UP - jac_affine_0_0_BLUE_UP*jac_affine_1_2_BLUE_UP*jac_affine_2_1_BLUE_UP - jac_affine_0_1_BLUE_UP*jac_affine_1_0_BLUE_UP*jac_affine_2_2_BLUE_UP + jac_affine_0_1_BLUE_UP*jac_affine_1_2_BLUE_UP*jac_affine_2_0_BLUE_UP + jac_affine_0_2_BLUE_UP*jac_affine_1_0_BLUE_UP*jac_affine_2_1_BLUE_UP - jac_affine_0_2_BLUE_UP*jac_affine_1_1_BLUE_UP*jac_affine_2_0_BLUE_UP);
+       {
+          /* CellType.BLUE_UP */
+          const real_t _data_phi_psi_jac_affine_det_0_0_BLUE_UP [] = {((real_t)(abs_det_jac_affine_BLUE_UP*-0.03125)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.03125)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.03125)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.03125)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0625)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0625)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0625)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0625)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0625)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0625)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.03125)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.03125)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.03125)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.03125)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0625)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0625)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0625)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0625)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0625)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0625)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.03125)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.03125)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.03125)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.03125)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0625)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0625)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0625)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0625)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0625)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.03125)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.03125)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.03125)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.03125)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0625)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0625)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0625)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0625)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.0625)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.018518518518518524)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.018518518518518524)), 0.0, ((real_t)(abs_det_jac_affine_BLUE_UP*0.05555555555555558)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.05555555555555558)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.018518518518518524)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.055555555555555594)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.018518518518518535)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.018518518518518535)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.018518518518518507)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.018518518518518517)), 0.0, ((real_t)(abs_det_jac_affine_BLUE_UP*0.055555555555555552)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.055555555555555552)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.055555555555555566)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.018518518518518524)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.018518518518518524)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.018518518518518507)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.018518518518518517)), 0.0, ((real_t)(abs_det_jac_affine_BLUE_UP*0.055555555555555552)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.055555555555555566)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.018518518518518524)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.018518518518518524)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.055555555555555525)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.055555555555555552)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.055555555555555552)), 0.0, ((real_t)(abs_det_jac_affine_BLUE_UP*0.16666666666666666)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.16666666666666666)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.16666666666666671)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.05555555555555558)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.05555555555555558)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.018518518518518531)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.018518518518518521)), 0.0, ((real_t)(abs_det_jac_affine_BLUE_UP*-0.018518518518518521)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.055555555555555566)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.018518518518518521)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.055555555555555566)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.018518518518518531)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.055555555555555587)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.018518518518518531)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.018518518518518524)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.018518518518518517)), 0.0, ((real_t)(abs_det_jac_affine_BLUE_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.055555555555555552)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.055555555555555552)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.018518518518518524)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.055555555555555566)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.018518518518518524)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.05555555555555558)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.055555555555555552)), 0.0, ((real_t)(abs_det_jac_affine_BLUE_UP*-0.055555555555555552)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.16666666666666666)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.16666666666666666)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.05555555555555558)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.16666666666666671)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.05555555555555558)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.018518518518518524)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.018518518518518517)), 0.0, ((real_t)(abs_det_jac_affine_BLUE_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.055555555555555552)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.018518518518518524)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.055555555555555566)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.018518518518518524)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.018518518518518531)), 0.0, ((real_t)(abs_det_jac_affine_BLUE_UP*-0.018518518518518521)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.018518518518518521)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.018518518518518521)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.055555555555555566)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.055555555555555566)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.018518518518518531)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.018518518518518531)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.055555555555555587)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.05555555555555558)), 0.0, ((real_t)(abs_det_jac_affine_BLUE_UP*-0.055555555555555552)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.055555555555555552)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.055555555555555552)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.16666666666666666)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.16666666666666666)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.05555555555555558)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.05555555555555558)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.16666666666666671)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.018518518518518524)), 0.0, ((real_t)(abs_det_jac_affine_BLUE_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.055555555555555552)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.018518518518518524)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.018518518518518524)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.055555555555555566)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.018518518518518524)), 0.0, ((real_t)(abs_det_jac_affine_BLUE_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.055555555555555552)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.018518518518518524)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.018518518518518524)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.055555555555555566)), ((real_t)(abs_det_jac_affine_BLUE_UP*2.775557561562892e-17)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.055555555555555566)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.055555555555555566)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.055555555555555566)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.055555555555555566)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.055555555555555566)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.055555555555555566)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.16666666666666671)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.16666666666666671)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.16666666666666671)), ((real_t)(abs_det_jac_affine_BLUE_UP*9.2518585385429707e-18)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.055555555555555559)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.055555555555555559)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.055555555555555559)), ((real_t)(abs_det_jac_affine_BLUE_UP*9.2518585385429707e-18)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.055555555555555559)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.055555555555555559)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.055555555555555559)), ((real_t)(abs_det_jac_affine_BLUE_UP*9.2518585385429707e-18)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.055555555555555559)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.055555555555555559)), ((real_t)(abs_det_jac_affine_BLUE_UP*0.055555555555555559))};
+      
+          for (int64_t ctr_2 = 0; ctr_2 < micro_edges_per_macro_edge; ctr_2 += 1)
+          for (int64_t ctr_1 = 0; ctr_1 < -ctr_2 + micro_edges_per_macro_edge; ctr_1 += 1)
+          for (int64_t ctr_0 = 0; ctr_0 < -ctr_1 - ctr_2 + micro_edges_per_macro_edge - 1; ctr_0 += 1)
+          {
+             const real_t k_dof_0 = _data_kVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1];
+             const real_t k_dof_1 = _data_kVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))];
+             const real_t k_dof_2 = _data_kVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1];
+             const real_t k_dof_3 = _data_kVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1];
+             const real_t k_dof_4 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1];
+             const real_t k_dof_5 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge - 1)*(micro_edges_per_macro_edge + 1)) / (6)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))];
+             const real_t k_dof_6 = _data_kEdge[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))];
+             const real_t k_dof_7 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1];
+             const real_t k_dof_8 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 2*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1];
+             const real_t k_dof_9 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))];
+             real_t q_acc_0_0 = 0.0;
+             real_t q_acc_0_1 = 0.0;
+             real_t q_acc_0_2 = 0.0;
+             real_t q_acc_0_3 = 0.0;
+             real_t q_acc_0_4 = 0.0;
+             real_t q_acc_0_5 = 0.0;
+             real_t q_acc_0_6 = 0.0;
+             real_t q_acc_0_7 = 0.0;
+             real_t q_acc_0_8 = 0.0;
+             real_t q_acc_0_9 = 0.0;
+             real_t q_acc_1_0 = 0.0;
+             real_t q_acc_1_1 = 0.0;
+             real_t q_acc_1_2 = 0.0;
+             real_t q_acc_1_3 = 0.0;
+             real_t q_acc_1_4 = 0.0;
+             real_t q_acc_1_5 = 0.0;
+             real_t q_acc_1_6 = 0.0;
+             real_t q_acc_1_7 = 0.0;
+             real_t q_acc_1_8 = 0.0;
+             real_t q_acc_1_9 = 0.0;
+             real_t q_acc_2_0 = 0.0;
+             real_t q_acc_2_1 = 0.0;
+             real_t q_acc_2_2 = 0.0;
+             real_t q_acc_2_3 = 0.0;
+             real_t q_acc_2_4 = 0.0;
+             real_t q_acc_2_5 = 0.0;
+             real_t q_acc_2_6 = 0.0;
+             real_t q_acc_2_7 = 0.0;
+             real_t q_acc_2_8 = 0.0;
+             real_t q_acc_2_9 = 0.0;
+             real_t q_acc_3_0 = 0.0;
+             real_t q_acc_3_1 = 0.0;
+             real_t q_acc_3_2 = 0.0;
+             real_t q_acc_3_3 = 0.0;
+             real_t q_acc_3_4 = 0.0;
+             real_t q_acc_3_5 = 0.0;
+             real_t q_acc_3_6 = 0.0;
+             real_t q_acc_3_7 = 0.0;
+             real_t q_acc_3_8 = 0.0;
+             real_t q_acc_3_9 = 0.0;
+             for (int64_t q = 0; q < 5; q += 1)
+             {
+                const real_t tmp_qloop_0 = 4.0*_data_q_p_0[q];
+                const real_t tmp_qloop_1 = tmp_qloop_0*_data_q_p_1[q];
+                const real_t tmp_qloop_2 = tmp_qloop_0*_data_q_p_2[q];
+                const real_t tmp_qloop_3 = 4.0*_data_q_p_1[q]*_data_q_p_2[q];
+                const real_t tmp_qloop_4 = (_data_q_p_0[q]*_data_q_p_0[q]);
+                const real_t tmp_qloop_5 = tmp_qloop_4*2.0;
+                const real_t tmp_qloop_6 = (_data_q_p_1[q]*_data_q_p_1[q]);
+                const real_t tmp_qloop_7 = tmp_qloop_6*2.0;
+                const real_t tmp_qloop_8 = (_data_q_p_2[q]*_data_q_p_2[q]);
+                const real_t tmp_qloop_9 = tmp_qloop_8*2.0;
+                const real_t tmp_qloop_10 = tmp_qloop_1 + tmp_qloop_2;
+                const real_t tmp_qloop_11 = (k_dof_0*(tmp_qloop_10 + tmp_qloop_3 + tmp_qloop_5 + tmp_qloop_7 + tmp_qloop_9 - 3.0*_data_q_p_0[q] - 3.0*_data_q_p_1[q] - 3.0*_data_q_p_2[q] + 1.0) + k_dof_1*(tmp_qloop_5 - _data_q_p_0[q]) + k_dof_2*(tmp_qloop_7 - _data_q_p_1[q]) + k_dof_3*(tmp_qloop_9 - _data_q_p_2[q]) + k_dof_4*tmp_qloop_3 + k_dof_5*tmp_qloop_2 + k_dof_6*tmp_qloop_1 + k_dof_7*(-tmp_qloop_2 - tmp_qloop_3 + tmp_qloop_8*-4.0 + 4.0*_data_q_p_2[q]) + k_dof_8*(-tmp_qloop_1 - tmp_qloop_3 + tmp_qloop_6*-4.0 + 4.0*_data_q_p_1[q]) + k_dof_9*(-tmp_qloop_10 + tmp_qloop_4*-4.0 + 4.0*_data_q_p_0[q]))*_data_q_w[q];
+                const real_t tmp_qloop_12 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 14];
+                const real_t q_tmp_0_0 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q];
+                const real_t q_tmp_0_1 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 1];
+                const real_t q_tmp_0_2 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 2];
+                const real_t q_tmp_0_3 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 3];
+                const real_t q_tmp_0_4 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 4];
+                const real_t q_tmp_0_5 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 5];
+                const real_t q_tmp_0_6 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 6];
+                const real_t q_tmp_0_7 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 7];
+                const real_t q_tmp_0_8 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 8];
+                const real_t q_tmp_0_9 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 9];
+                const real_t q_tmp_1_0 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 10];
+                const real_t q_tmp_1_1 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 11];
+                const real_t q_tmp_1_2 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 12];
+                const real_t q_tmp_1_3 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 13];
+                const real_t q_tmp_1_4 = tmp_qloop_12;
+                const real_t q_tmp_1_5 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 15];
+                const real_t q_tmp_1_6 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 16];
+                const real_t q_tmp_1_7 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 17];
+                const real_t q_tmp_1_8 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 18];
+                const real_t q_tmp_1_9 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 19];
+                const real_t q_tmp_2_0 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 20];
+                const real_t q_tmp_2_1 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 21];
+                const real_t q_tmp_2_2 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 22];
+                const real_t q_tmp_2_3 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 23];
+                const real_t q_tmp_2_4 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 24];
+                const real_t q_tmp_2_5 = tmp_qloop_12;
+                const real_t q_tmp_2_6 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 25];
+                const real_t q_tmp_2_7 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 26];
+                const real_t q_tmp_2_8 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 27];
+                const real_t q_tmp_2_9 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 28];
+                const real_t q_tmp_3_0 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 29];
+                const real_t q_tmp_3_1 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 30];
+                const real_t q_tmp_3_2 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 31];
+                const real_t q_tmp_3_3 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 32];
+                const real_t q_tmp_3_4 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 33];
+                const real_t q_tmp_3_5 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 34];
+                const real_t q_tmp_3_6 = tmp_qloop_12;
+                const real_t q_tmp_3_7 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 35];
+                const real_t q_tmp_3_8 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 36];
+                const real_t q_tmp_3_9 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_UP[38*q + 37];
+                q_acc_0_0 = q_acc_0_0 + q_tmp_0_0;
+                q_acc_0_1 = q_acc_0_1 + q_tmp_0_1;
+                q_acc_0_2 = q_acc_0_2 + q_tmp_0_2;
+                q_acc_0_3 = q_acc_0_3 + q_tmp_0_3;
+                q_acc_0_4 = q_acc_0_4 + q_tmp_0_4;
+                q_acc_0_5 = q_acc_0_5 + q_tmp_0_5;
+                q_acc_0_6 = q_acc_0_6 + q_tmp_0_6;
+                q_acc_0_7 = q_acc_0_7 + q_tmp_0_7;
+                q_acc_0_8 = q_acc_0_8 + q_tmp_0_8;
+                q_acc_0_9 = q_acc_0_9 + q_tmp_0_9;
+                q_acc_1_0 = q_acc_1_0 + q_tmp_1_0;
+                q_acc_1_1 = q_acc_1_1 + q_tmp_1_1;
+                q_acc_1_2 = q_acc_1_2 + q_tmp_1_2;
+                q_acc_1_3 = q_acc_1_3 + q_tmp_1_3;
+                q_acc_1_4 = q_acc_1_4 + q_tmp_1_4;
+                q_acc_1_5 = q_acc_1_5 + q_tmp_1_5;
+                q_acc_1_6 = q_acc_1_6 + q_tmp_1_6;
+                q_acc_1_7 = q_acc_1_7 + q_tmp_1_7;
+                q_acc_1_8 = q_acc_1_8 + q_tmp_1_8;
+                q_acc_1_9 = q_acc_1_9 + q_tmp_1_9;
+                q_acc_2_0 = q_acc_2_0 + q_tmp_2_0;
+                q_acc_2_1 = q_acc_2_1 + q_tmp_2_1;
+                q_acc_2_2 = q_acc_2_2 + q_tmp_2_2;
+                q_acc_2_3 = q_acc_2_3 + q_tmp_2_3;
+                q_acc_2_4 = q_acc_2_4 + q_tmp_2_4;
+                q_acc_2_5 = q_acc_2_5 + q_tmp_2_5;
+                q_acc_2_6 = q_acc_2_6 + q_tmp_2_6;
+                q_acc_2_7 = q_acc_2_7 + q_tmp_2_7;
+                q_acc_2_8 = q_acc_2_8 + q_tmp_2_8;
+                q_acc_2_9 = q_acc_2_9 + q_tmp_2_9;
+                q_acc_3_0 = q_acc_3_0 + q_tmp_3_0;
+                q_acc_3_1 = q_acc_3_1 + q_tmp_3_1;
+                q_acc_3_2 = q_acc_3_2 + q_tmp_3_2;
+                q_acc_3_3 = q_acc_3_3 + q_tmp_3_3;
+                q_acc_3_4 = q_acc_3_4 + q_tmp_3_4;
+                q_acc_3_5 = q_acc_3_5 + q_tmp_3_5;
+                q_acc_3_6 = q_acc_3_6 + q_tmp_3_6;
+                q_acc_3_7 = q_acc_3_7 + q_tmp_3_7;
+                q_acc_3_8 = q_acc_3_8 + q_tmp_3_8;
+                q_acc_3_9 = q_acc_3_9 + q_tmp_3_9;
+             }
+             const real_t elMat_0_0 = q_acc_0_0;
+             const real_t elMat_0_1 = q_acc_0_1;
+             const real_t elMat_0_2 = q_acc_0_2;
+             const real_t elMat_0_3 = q_acc_0_3;
+             const real_t elMat_0_4 = q_acc_0_4;
+             const real_t elMat_0_5 = q_acc_0_5;
+             const real_t elMat_0_6 = q_acc_0_6;
+             const real_t elMat_0_7 = q_acc_0_7;
+             const real_t elMat_0_8 = q_acc_0_8;
+             const real_t elMat_0_9 = q_acc_0_9;
+             const real_t elMat_1_0 = q_acc_1_0;
+             const real_t elMat_1_1 = q_acc_1_1;
+             const real_t elMat_1_2 = q_acc_1_2;
+             const real_t elMat_1_3 = q_acc_1_3;
+             const real_t elMat_1_4 = q_acc_1_4;
+             const real_t elMat_1_5 = q_acc_1_5;
+             const real_t elMat_1_6 = q_acc_1_6;
+             const real_t elMat_1_7 = q_acc_1_7;
+             const real_t elMat_1_8 = q_acc_1_8;
+             const real_t elMat_1_9 = q_acc_1_9;
+             const real_t elMat_2_0 = q_acc_2_0;
+             const real_t elMat_2_1 = q_acc_2_1;
+             const real_t elMat_2_2 = q_acc_2_2;
+             const real_t elMat_2_3 = q_acc_2_3;
+             const real_t elMat_2_4 = q_acc_2_4;
+             const real_t elMat_2_5 = q_acc_2_5;
+             const real_t elMat_2_6 = q_acc_2_6;
+             const real_t elMat_2_7 = q_acc_2_7;
+             const real_t elMat_2_8 = q_acc_2_8;
+             const real_t elMat_2_9 = q_acc_2_9;
+             const real_t elMat_3_0 = q_acc_3_0;
+             const real_t elMat_3_1 = q_acc_3_1;
+             const real_t elMat_3_2 = q_acc_3_2;
+             const real_t elMat_3_3 = q_acc_3_3;
+             const real_t elMat_3_4 = q_acc_3_4;
+             const real_t elMat_3_5 = q_acc_3_5;
+             const real_t elMat_3_6 = q_acc_3_6;
+             const real_t elMat_3_7 = q_acc_3_7;
+             const real_t elMat_3_8 = q_acc_3_8;
+             const real_t elMat_3_9 = q_acc_3_9;
+         
+             std::vector< uint_t > _data_rowIdx( 4 );
+             std::vector< uint_t > _data_colIdx( 10 );
+             std::vector< real_t > _data_mat( 40 );
+         
+             _data_rowIdx[0] = ((uint64_t)(_data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]));
+             _data_rowIdx[1] = ((uint64_t)(_data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]));
+             _data_rowIdx[2] = ((uint64_t)(_data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]));
+             _data_rowIdx[3] = ((uint64_t)(_data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]));
+             _data_colIdx[0] = ((uint64_t)(_data_srcVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]));
+             _data_colIdx[1] = ((uint64_t)(_data_srcVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]));
+             _data_colIdx[2] = ((uint64_t)(_data_srcVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]));
+             _data_colIdx[3] = ((uint64_t)(_data_srcVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]));
+             _data_colIdx[4] = ((uint64_t)(_data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1]));
+             _data_colIdx[5] = ((uint64_t)(_data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge - 1)*(micro_edges_per_macro_edge + 1)) / (6)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]));
+             _data_colIdx[6] = ((uint64_t)(_data_srcEdge[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]));
+             _data_colIdx[7] = ((uint64_t)(_data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1]));
+             _data_colIdx[8] = ((uint64_t)(_data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 2*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1]));
+             _data_colIdx[9] = ((uint64_t)(_data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]));
+         
+             /* Apply basis transformation */
+         
+         
+         
+             _data_mat[0] = ((real_t)(elMat_0_0));
+             _data_mat[1] = ((real_t)(elMat_0_1));
+             _data_mat[2] = ((real_t)(elMat_0_2));
+             _data_mat[3] = ((real_t)(elMat_0_3));
+             _data_mat[4] = ((real_t)(elMat_0_4));
+             _data_mat[5] = ((real_t)(elMat_0_5));
+             _data_mat[6] = ((real_t)(elMat_0_6));
+             _data_mat[7] = ((real_t)(elMat_0_7));
+             _data_mat[8] = ((real_t)(elMat_0_8));
+             _data_mat[9] = ((real_t)(elMat_0_9));
+             _data_mat[10] = ((real_t)(elMat_1_0));
+             _data_mat[11] = ((real_t)(elMat_1_1));
+             _data_mat[12] = ((real_t)(elMat_1_2));
+             _data_mat[13] = ((real_t)(elMat_1_3));
+             _data_mat[14] = ((real_t)(elMat_1_4));
+             _data_mat[15] = ((real_t)(elMat_1_5));
+             _data_mat[16] = ((real_t)(elMat_1_6));
+             _data_mat[17] = ((real_t)(elMat_1_7));
+             _data_mat[18] = ((real_t)(elMat_1_8));
+             _data_mat[19] = ((real_t)(elMat_1_9));
+             _data_mat[20] = ((real_t)(elMat_2_0));
+             _data_mat[21] = ((real_t)(elMat_2_1));
+             _data_mat[22] = ((real_t)(elMat_2_2));
+             _data_mat[23] = ((real_t)(elMat_2_3));
+             _data_mat[24] = ((real_t)(elMat_2_4));
+             _data_mat[25] = ((real_t)(elMat_2_5));
+             _data_mat[26] = ((real_t)(elMat_2_6));
+             _data_mat[27] = ((real_t)(elMat_2_7));
+             _data_mat[28] = ((real_t)(elMat_2_8));
+             _data_mat[29] = ((real_t)(elMat_2_9));
+             _data_mat[30] = ((real_t)(elMat_3_0));
+             _data_mat[31] = ((real_t)(elMat_3_1));
+             _data_mat[32] = ((real_t)(elMat_3_2));
+             _data_mat[33] = ((real_t)(elMat_3_3));
+             _data_mat[34] = ((real_t)(elMat_3_4));
+             _data_mat[35] = ((real_t)(elMat_3_5));
+             _data_mat[36] = ((real_t)(elMat_3_6));
+             _data_mat[37] = ((real_t)(elMat_3_7));
+             _data_mat[38] = ((real_t)(elMat_3_8));
+             _data_mat[39] = ((real_t)(elMat_3_9));
+         
+         
+             mat->addValues( _data_rowIdx, _data_colIdx, _data_mat );
+          }
+       }
+       const real_t tmp_coords_jac_0_BLUE_DOWN = 1.0 / (micro_edges_per_macro_edge_float)*1.0;
+       const real_t tmp_coords_jac_1_BLUE_DOWN = macro_vertex_coord_id_0comp0 + tmp_coords_jac_0_BLUE_DOWN*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0);
+       const real_t tmp_coords_jac_2_BLUE_DOWN = macro_vertex_coord_id_0comp1 + tmp_coords_jac_0_BLUE_DOWN*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1);
+       const real_t tmp_coords_jac_3_BLUE_DOWN = macro_vertex_coord_id_0comp2 + tmp_coords_jac_0_BLUE_DOWN*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2);
+       const real_t tmp_coords_jac_4_BLUE_DOWN = tmp_coords_jac_0_BLUE_DOWN*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0);
+       const real_t tmp_coords_jac_5_BLUE_DOWN = macro_vertex_coord_id_0comp0 + tmp_coords_jac_4_BLUE_DOWN;
+       const real_t tmp_coords_jac_6_BLUE_DOWN = tmp_coords_jac_0_BLUE_DOWN*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1);
+       const real_t tmp_coords_jac_7_BLUE_DOWN = macro_vertex_coord_id_0comp1 + tmp_coords_jac_6_BLUE_DOWN;
+       const real_t tmp_coords_jac_8_BLUE_DOWN = tmp_coords_jac_0_BLUE_DOWN*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2);
+       const real_t tmp_coords_jac_9_BLUE_DOWN = macro_vertex_coord_id_0comp2 + tmp_coords_jac_8_BLUE_DOWN;
+       const real_t p_affine_const_0_0_BLUE_DOWN = tmp_coords_jac_1_BLUE_DOWN;
+       const real_t p_affine_const_0_1_BLUE_DOWN = tmp_coords_jac_2_BLUE_DOWN;
+       const real_t p_affine_const_0_2_BLUE_DOWN = tmp_coords_jac_3_BLUE_DOWN;
+       const real_t p_affine_const_1_0_BLUE_DOWN = tmp_coords_jac_5_BLUE_DOWN;
+       const real_t p_affine_const_1_1_BLUE_DOWN = tmp_coords_jac_7_BLUE_DOWN;
+       const real_t p_affine_const_1_2_BLUE_DOWN = tmp_coords_jac_9_BLUE_DOWN;
+       const real_t p_affine_const_2_0_BLUE_DOWN = tmp_coords_jac_0_BLUE_DOWN*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0) + tmp_coords_jac_5_BLUE_DOWN;
+       const real_t p_affine_const_2_1_BLUE_DOWN = tmp_coords_jac_0_BLUE_DOWN*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1) + tmp_coords_jac_7_BLUE_DOWN;
+       const real_t p_affine_const_2_2_BLUE_DOWN = tmp_coords_jac_0_BLUE_DOWN*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2) + tmp_coords_jac_9_BLUE_DOWN;
+       const real_t p_affine_const_3_0_BLUE_DOWN = tmp_coords_jac_1_BLUE_DOWN + tmp_coords_jac_4_BLUE_DOWN;
+       const real_t p_affine_const_3_1_BLUE_DOWN = tmp_coords_jac_2_BLUE_DOWN + tmp_coords_jac_6_BLUE_DOWN;
+       const real_t p_affine_const_3_2_BLUE_DOWN = tmp_coords_jac_3_BLUE_DOWN + tmp_coords_jac_8_BLUE_DOWN;
+       const real_t jac_affine_0_0_BLUE_DOWN = -p_affine_const_0_0_BLUE_DOWN + p_affine_const_1_0_BLUE_DOWN;
+       const real_t jac_affine_0_1_BLUE_DOWN = -p_affine_const_0_0_BLUE_DOWN + p_affine_const_2_0_BLUE_DOWN;
+       const real_t jac_affine_0_2_BLUE_DOWN = -p_affine_const_0_0_BLUE_DOWN + p_affine_const_3_0_BLUE_DOWN;
+       const real_t jac_affine_1_0_BLUE_DOWN = -p_affine_const_0_1_BLUE_DOWN + p_affine_const_1_1_BLUE_DOWN;
+       const real_t jac_affine_1_1_BLUE_DOWN = -p_affine_const_0_1_BLUE_DOWN + p_affine_const_2_1_BLUE_DOWN;
+       const real_t jac_affine_1_2_BLUE_DOWN = -p_affine_const_0_1_BLUE_DOWN + p_affine_const_3_1_BLUE_DOWN;
+       const real_t jac_affine_2_0_BLUE_DOWN = -p_affine_const_0_2_BLUE_DOWN + p_affine_const_1_2_BLUE_DOWN;
+       const real_t jac_affine_2_1_BLUE_DOWN = -p_affine_const_0_2_BLUE_DOWN + p_affine_const_2_2_BLUE_DOWN;
+       const real_t jac_affine_2_2_BLUE_DOWN = -p_affine_const_0_2_BLUE_DOWN + p_affine_const_3_2_BLUE_DOWN;
+       const real_t abs_det_jac_affine_BLUE_DOWN = abs(jac_affine_0_0_BLUE_DOWN*jac_affine_1_1_BLUE_DOWN*jac_affine_2_2_BLUE_DOWN - jac_affine_0_0_BLUE_DOWN*jac_affine_1_2_BLUE_DOWN*jac_affine_2_1_BLUE_DOWN - jac_affine_0_1_BLUE_DOWN*jac_affine_1_0_BLUE_DOWN*jac_affine_2_2_BLUE_DOWN + jac_affine_0_1_BLUE_DOWN*jac_affine_1_2_BLUE_DOWN*jac_affine_2_0_BLUE_DOWN + jac_affine_0_2_BLUE_DOWN*jac_affine_1_0_BLUE_DOWN*jac_affine_2_1_BLUE_DOWN - jac_affine_0_2_BLUE_DOWN*jac_affine_1_1_BLUE_DOWN*jac_affine_2_0_BLUE_DOWN);
+       {
+          /* CellType.BLUE_DOWN */
+          const real_t _data_phi_psi_jac_affine_det_0_0_BLUE_DOWN [] = {((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.018518518518518524)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.018518518518518524)), 0.0, ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.05555555555555558)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.05555555555555558)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.018518518518518524)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.055555555555555594)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.018518518518518535)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.018518518518518535)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.018518518518518507)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.018518518518518517)), 0.0, ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.055555555555555552)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.055555555555555552)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.055555555555555566)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.018518518518518524)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.018518518518518524)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.018518518518518507)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.018518518518518517)), 0.0, ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.055555555555555552)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.055555555555555566)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.018518518518518524)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.018518518518518524)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.055555555555555525)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.055555555555555552)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.055555555555555552)), 0.0, ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.16666666666666666)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.16666666666666666)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.16666666666666671)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.05555555555555558)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.05555555555555558)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.018518518518518531)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.018518518518518521)), 0.0, ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.018518518518518521)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.055555555555555566)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.018518518518518521)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.055555555555555566)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.018518518518518531)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.055555555555555587)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.018518518518518531)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.018518518518518524)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.018518518518518517)), 0.0, ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.055555555555555552)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.055555555555555552)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.018518518518518524)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.055555555555555566)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.018518518518518524)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.05555555555555558)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.055555555555555552)), 0.0, ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.055555555555555552)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.16666666666666666)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.16666666666666666)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.05555555555555558)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.16666666666666671)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.05555555555555558)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.018518518518518524)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.018518518518518517)), 0.0, ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.055555555555555552)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.018518518518518524)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.055555555555555566)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.018518518518518524)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.018518518518518531)), 0.0, ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.018518518518518521)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.018518518518518521)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.018518518518518521)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.055555555555555566)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.055555555555555566)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.018518518518518531)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.018518518518518531)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.055555555555555587)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.05555555555555558)), 0.0, ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.055555555555555552)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.055555555555555552)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.055555555555555552)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.16666666666666666)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.16666666666666666)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.05555555555555558)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.05555555555555558)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.16666666666666671)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.018518518518518524)), 0.0, ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.055555555555555552)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.018518518518518524)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.018518518518518524)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.055555555555555566)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.018518518518518524)), 0.0, ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.055555555555555552)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.018518518518518524)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.018518518518518524)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.055555555555555566)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*2.775557561562892e-17)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.055555555555555566)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.055555555555555566)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.055555555555555566)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.055555555555555566)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.055555555555555566)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.055555555555555566)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.16666666666666671)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.16666666666666671)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.16666666666666671)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*9.2518585385429707e-18)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.055555555555555559)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.055555555555555559)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.055555555555555559)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*9.2518585385429707e-18)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.055555555555555559)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.055555555555555559)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.055555555555555559)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*9.2518585385429707e-18)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.018518518518518517)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.055555555555555559)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.055555555555555559)), ((real_t)(abs_det_jac_affine_BLUE_DOWN*0.055555555555555559))};
+      
+          for (int64_t ctr_2 = 0; ctr_2 < micro_edges_per_macro_edge; ctr_2 += 1)
+          for (int64_t ctr_1 = 0; ctr_1 < -ctr_2 + micro_edges_per_macro_edge; ctr_1 += 1)
+          for (int64_t ctr_0 = 0; ctr_0 < -ctr_1 - ctr_2 + micro_edges_per_macro_edge - 1; ctr_0 += 1)
+          {
+             const real_t k_dof_0 = _data_kVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))];
+             const real_t k_dof_1 = _data_kVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))];
+             const real_t k_dof_2 = _data_kVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1];
+             const real_t k_dof_3 = _data_kVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))];
+             const real_t k_dof_4 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))];
+             const real_t k_dof_5 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + 2*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))];
+             const real_t k_dof_6 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))];
+             const real_t k_dof_7 = _data_kEdge[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))];
+             const real_t k_dof_8 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge - 1)*(micro_edges_per_macro_edge + 1)) / (6)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))];
+             const real_t k_dof_9 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))];
+             real_t q_acc_0_0 = 0.0;
+             real_t q_acc_0_1 = 0.0;
+             real_t q_acc_0_2 = 0.0;
+             real_t q_acc_0_3 = 0.0;
+             real_t q_acc_0_4 = 0.0;
+             real_t q_acc_0_5 = 0.0;
+             real_t q_acc_0_6 = 0.0;
+             real_t q_acc_0_7 = 0.0;
+             real_t q_acc_0_8 = 0.0;
+             real_t q_acc_0_9 = 0.0;
+             real_t q_acc_1_0 = 0.0;
+             real_t q_acc_1_1 = 0.0;
+             real_t q_acc_1_2 = 0.0;
+             real_t q_acc_1_3 = 0.0;
+             real_t q_acc_1_4 = 0.0;
+             real_t q_acc_1_5 = 0.0;
+             real_t q_acc_1_6 = 0.0;
+             real_t q_acc_1_7 = 0.0;
+             real_t q_acc_1_8 = 0.0;
+             real_t q_acc_1_9 = 0.0;
+             real_t q_acc_2_0 = 0.0;
+             real_t q_acc_2_1 = 0.0;
+             real_t q_acc_2_2 = 0.0;
+             real_t q_acc_2_3 = 0.0;
+             real_t q_acc_2_4 = 0.0;
+             real_t q_acc_2_5 = 0.0;
+             real_t q_acc_2_6 = 0.0;
+             real_t q_acc_2_7 = 0.0;
+             real_t q_acc_2_8 = 0.0;
+             real_t q_acc_2_9 = 0.0;
+             real_t q_acc_3_0 = 0.0;
+             real_t q_acc_3_1 = 0.0;
+             real_t q_acc_3_2 = 0.0;
+             real_t q_acc_3_3 = 0.0;
+             real_t q_acc_3_4 = 0.0;
+             real_t q_acc_3_5 = 0.0;
+             real_t q_acc_3_6 = 0.0;
+             real_t q_acc_3_7 = 0.0;
+             real_t q_acc_3_8 = 0.0;
+             real_t q_acc_3_9 = 0.0;
+             for (int64_t q = 0; q < 5; q += 1)
+             {
+                const real_t tmp_qloop_0 = 4.0*_data_q_p_0[q];
+                const real_t tmp_qloop_1 = tmp_qloop_0*_data_q_p_1[q];
+                const real_t tmp_qloop_2 = tmp_qloop_0*_data_q_p_2[q];
+                const real_t tmp_qloop_3 = 4.0*_data_q_p_1[q]*_data_q_p_2[q];
+                const real_t tmp_qloop_4 = (_data_q_p_0[q]*_data_q_p_0[q]);
+                const real_t tmp_qloop_5 = tmp_qloop_4*2.0;
+                const real_t tmp_qloop_6 = (_data_q_p_1[q]*_data_q_p_1[q]);
+                const real_t tmp_qloop_7 = tmp_qloop_6*2.0;
+                const real_t tmp_qloop_8 = (_data_q_p_2[q]*_data_q_p_2[q]);
+                const real_t tmp_qloop_9 = tmp_qloop_8*2.0;
+                const real_t tmp_qloop_10 = tmp_qloop_1 + tmp_qloop_2;
+                const real_t tmp_qloop_11 = (k_dof_0*(tmp_qloop_10 + tmp_qloop_3 + tmp_qloop_5 + tmp_qloop_7 + tmp_qloop_9 - 3.0*_data_q_p_0[q] - 3.0*_data_q_p_1[q] - 3.0*_data_q_p_2[q] + 1.0) + k_dof_1*(tmp_qloop_5 - _data_q_p_0[q]) + k_dof_2*(tmp_qloop_7 - _data_q_p_1[q]) + k_dof_3*(tmp_qloop_9 - _data_q_p_2[q]) + k_dof_4*tmp_qloop_3 + k_dof_5*tmp_qloop_2 + k_dof_6*tmp_qloop_1 + k_dof_7*(-tmp_qloop_2 - tmp_qloop_3 + tmp_qloop_8*-4.0 + 4.0*_data_q_p_2[q]) + k_dof_8*(-tmp_qloop_1 - tmp_qloop_3 + tmp_qloop_6*-4.0 + 4.0*_data_q_p_1[q]) + k_dof_9*(-tmp_qloop_10 + tmp_qloop_4*-4.0 + 4.0*_data_q_p_0[q]))*_data_q_w[q];
+                const real_t tmp_qloop_12 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 14];
+                const real_t q_tmp_0_0 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q];
+                const real_t q_tmp_0_1 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 1];
+                const real_t q_tmp_0_2 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 2];
+                const real_t q_tmp_0_3 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 3];
+                const real_t q_tmp_0_4 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 4];
+                const real_t q_tmp_0_5 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 5];
+                const real_t q_tmp_0_6 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 6];
+                const real_t q_tmp_0_7 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 7];
+                const real_t q_tmp_0_8 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 8];
+                const real_t q_tmp_0_9 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 9];
+                const real_t q_tmp_1_0 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 10];
+                const real_t q_tmp_1_1 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 11];
+                const real_t q_tmp_1_2 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 12];
+                const real_t q_tmp_1_3 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 13];
+                const real_t q_tmp_1_4 = tmp_qloop_12;
+                const real_t q_tmp_1_5 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 15];
+                const real_t q_tmp_1_6 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 16];
+                const real_t q_tmp_1_7 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 17];
+                const real_t q_tmp_1_8 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 18];
+                const real_t q_tmp_1_9 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 19];
+                const real_t q_tmp_2_0 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 20];
+                const real_t q_tmp_2_1 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 21];
+                const real_t q_tmp_2_2 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 22];
+                const real_t q_tmp_2_3 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 23];
+                const real_t q_tmp_2_4 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 24];
+                const real_t q_tmp_2_5 = tmp_qloop_12;
+                const real_t q_tmp_2_6 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 25];
+                const real_t q_tmp_2_7 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 26];
+                const real_t q_tmp_2_8 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 27];
+                const real_t q_tmp_2_9 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 28];
+                const real_t q_tmp_3_0 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 29];
+                const real_t q_tmp_3_1 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 30];
+                const real_t q_tmp_3_2 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 31];
+                const real_t q_tmp_3_3 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 32];
+                const real_t q_tmp_3_4 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 33];
+                const real_t q_tmp_3_5 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 34];
+                const real_t q_tmp_3_6 = tmp_qloop_12;
+                const real_t q_tmp_3_7 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 35];
+                const real_t q_tmp_3_8 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 36];
+                const real_t q_tmp_3_9 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_BLUE_DOWN[38*q + 37];
+                q_acc_0_0 = q_acc_0_0 + q_tmp_0_0;
+                q_acc_0_1 = q_acc_0_1 + q_tmp_0_1;
+                q_acc_0_2 = q_acc_0_2 + q_tmp_0_2;
+                q_acc_0_3 = q_acc_0_3 + q_tmp_0_3;
+                q_acc_0_4 = q_acc_0_4 + q_tmp_0_4;
+                q_acc_0_5 = q_acc_0_5 + q_tmp_0_5;
+                q_acc_0_6 = q_acc_0_6 + q_tmp_0_6;
+                q_acc_0_7 = q_acc_0_7 + q_tmp_0_7;
+                q_acc_0_8 = q_acc_0_8 + q_tmp_0_8;
+                q_acc_0_9 = q_acc_0_9 + q_tmp_0_9;
+                q_acc_1_0 = q_acc_1_0 + q_tmp_1_0;
+                q_acc_1_1 = q_acc_1_1 + q_tmp_1_1;
+                q_acc_1_2 = q_acc_1_2 + q_tmp_1_2;
+                q_acc_1_3 = q_acc_1_3 + q_tmp_1_3;
+                q_acc_1_4 = q_acc_1_4 + q_tmp_1_4;
+                q_acc_1_5 = q_acc_1_5 + q_tmp_1_5;
+                q_acc_1_6 = q_acc_1_6 + q_tmp_1_6;
+                q_acc_1_7 = q_acc_1_7 + q_tmp_1_7;
+                q_acc_1_8 = q_acc_1_8 + q_tmp_1_8;
+                q_acc_1_9 = q_acc_1_9 + q_tmp_1_9;
+                q_acc_2_0 = q_acc_2_0 + q_tmp_2_0;
+                q_acc_2_1 = q_acc_2_1 + q_tmp_2_1;
+                q_acc_2_2 = q_acc_2_2 + q_tmp_2_2;
+                q_acc_2_3 = q_acc_2_3 + q_tmp_2_3;
+                q_acc_2_4 = q_acc_2_4 + q_tmp_2_4;
+                q_acc_2_5 = q_acc_2_5 + q_tmp_2_5;
+                q_acc_2_6 = q_acc_2_6 + q_tmp_2_6;
+                q_acc_2_7 = q_acc_2_7 + q_tmp_2_7;
+                q_acc_2_8 = q_acc_2_8 + q_tmp_2_8;
+                q_acc_2_9 = q_acc_2_9 + q_tmp_2_9;
+                q_acc_3_0 = q_acc_3_0 + q_tmp_3_0;
+                q_acc_3_1 = q_acc_3_1 + q_tmp_3_1;
+                q_acc_3_2 = q_acc_3_2 + q_tmp_3_2;
+                q_acc_3_3 = q_acc_3_3 + q_tmp_3_3;
+                q_acc_3_4 = q_acc_3_4 + q_tmp_3_4;
+                q_acc_3_5 = q_acc_3_5 + q_tmp_3_5;
+                q_acc_3_6 = q_acc_3_6 + q_tmp_3_6;
+                q_acc_3_7 = q_acc_3_7 + q_tmp_3_7;
+                q_acc_3_8 = q_acc_3_8 + q_tmp_3_8;
+                q_acc_3_9 = q_acc_3_9 + q_tmp_3_9;
+             }
+             const real_t elMat_0_0 = q_acc_0_0;
+             const real_t elMat_0_1 = q_acc_0_1;
+             const real_t elMat_0_2 = q_acc_0_2;
+             const real_t elMat_0_3 = q_acc_0_3;
+             const real_t elMat_0_4 = q_acc_0_4;
+             const real_t elMat_0_5 = q_acc_0_5;
+             const real_t elMat_0_6 = q_acc_0_6;
+             const real_t elMat_0_7 = q_acc_0_7;
+             const real_t elMat_0_8 = q_acc_0_8;
+             const real_t elMat_0_9 = q_acc_0_9;
+             const real_t elMat_1_0 = q_acc_1_0;
+             const real_t elMat_1_1 = q_acc_1_1;
+             const real_t elMat_1_2 = q_acc_1_2;
+             const real_t elMat_1_3 = q_acc_1_3;
+             const real_t elMat_1_4 = q_acc_1_4;
+             const real_t elMat_1_5 = q_acc_1_5;
+             const real_t elMat_1_6 = q_acc_1_6;
+             const real_t elMat_1_7 = q_acc_1_7;
+             const real_t elMat_1_8 = q_acc_1_8;
+             const real_t elMat_1_9 = q_acc_1_9;
+             const real_t elMat_2_0 = q_acc_2_0;
+             const real_t elMat_2_1 = q_acc_2_1;
+             const real_t elMat_2_2 = q_acc_2_2;
+             const real_t elMat_2_3 = q_acc_2_3;
+             const real_t elMat_2_4 = q_acc_2_4;
+             const real_t elMat_2_5 = q_acc_2_5;
+             const real_t elMat_2_6 = q_acc_2_6;
+             const real_t elMat_2_7 = q_acc_2_7;
+             const real_t elMat_2_8 = q_acc_2_8;
+             const real_t elMat_2_9 = q_acc_2_9;
+             const real_t elMat_3_0 = q_acc_3_0;
+             const real_t elMat_3_1 = q_acc_3_1;
+             const real_t elMat_3_2 = q_acc_3_2;
+             const real_t elMat_3_3 = q_acc_3_3;
+             const real_t elMat_3_4 = q_acc_3_4;
+             const real_t elMat_3_5 = q_acc_3_5;
+             const real_t elMat_3_6 = q_acc_3_6;
+             const real_t elMat_3_7 = q_acc_3_7;
+             const real_t elMat_3_8 = q_acc_3_8;
+             const real_t elMat_3_9 = q_acc_3_9;
+         
+             std::vector< uint_t > _data_rowIdx( 4 );
+             std::vector< uint_t > _data_colIdx( 10 );
+             std::vector< real_t > _data_mat( 40 );
+         
+             _data_rowIdx[0] = ((uint64_t)(_data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]));
+             _data_rowIdx[1] = ((uint64_t)(_data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]));
+             _data_rowIdx[2] = ((uint64_t)(_data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]));
+             _data_rowIdx[3] = ((uint64_t)(_data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]));
+             _data_colIdx[0] = ((uint64_t)(_data_srcVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]));
+             _data_colIdx[1] = ((uint64_t)(_data_srcVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]));
+             _data_colIdx[2] = ((uint64_t)(_data_srcVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]));
+             _data_colIdx[3] = ((uint64_t)(_data_srcVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]));
+             _data_colIdx[4] = ((uint64_t)(_data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]));
+             _data_colIdx[5] = ((uint64_t)(_data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + 2*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]));
+             _data_colIdx[6] = ((uint64_t)(_data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]));
+             _data_colIdx[7] = ((uint64_t)(_data_srcEdge[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]));
+             _data_colIdx[8] = ((uint64_t)(_data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge - 1)*(micro_edges_per_macro_edge + 1)) / (6)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]));
+             _data_colIdx[9] = ((uint64_t)(_data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]));
+         
+             /* Apply basis transformation */
+         
+         
+         
+             _data_mat[0] = ((real_t)(elMat_0_0));
+             _data_mat[1] = ((real_t)(elMat_0_1));
+             _data_mat[2] = ((real_t)(elMat_0_2));
+             _data_mat[3] = ((real_t)(elMat_0_3));
+             _data_mat[4] = ((real_t)(elMat_0_4));
+             _data_mat[5] = ((real_t)(elMat_0_5));
+             _data_mat[6] = ((real_t)(elMat_0_6));
+             _data_mat[7] = ((real_t)(elMat_0_7));
+             _data_mat[8] = ((real_t)(elMat_0_8));
+             _data_mat[9] = ((real_t)(elMat_0_9));
+             _data_mat[10] = ((real_t)(elMat_1_0));
+             _data_mat[11] = ((real_t)(elMat_1_1));
+             _data_mat[12] = ((real_t)(elMat_1_2));
+             _data_mat[13] = ((real_t)(elMat_1_3));
+             _data_mat[14] = ((real_t)(elMat_1_4));
+             _data_mat[15] = ((real_t)(elMat_1_5));
+             _data_mat[16] = ((real_t)(elMat_1_6));
+             _data_mat[17] = ((real_t)(elMat_1_7));
+             _data_mat[18] = ((real_t)(elMat_1_8));
+             _data_mat[19] = ((real_t)(elMat_1_9));
+             _data_mat[20] = ((real_t)(elMat_2_0));
+             _data_mat[21] = ((real_t)(elMat_2_1));
+             _data_mat[22] = ((real_t)(elMat_2_2));
+             _data_mat[23] = ((real_t)(elMat_2_3));
+             _data_mat[24] = ((real_t)(elMat_2_4));
+             _data_mat[25] = ((real_t)(elMat_2_5));
+             _data_mat[26] = ((real_t)(elMat_2_6));
+             _data_mat[27] = ((real_t)(elMat_2_7));
+             _data_mat[28] = ((real_t)(elMat_2_8));
+             _data_mat[29] = ((real_t)(elMat_2_9));
+             _data_mat[30] = ((real_t)(elMat_3_0));
+             _data_mat[31] = ((real_t)(elMat_3_1));
+             _data_mat[32] = ((real_t)(elMat_3_2));
+             _data_mat[33] = ((real_t)(elMat_3_3));
+             _data_mat[34] = ((real_t)(elMat_3_4));
+             _data_mat[35] = ((real_t)(elMat_3_5));
+             _data_mat[36] = ((real_t)(elMat_3_6));
+             _data_mat[37] = ((real_t)(elMat_3_7));
+             _data_mat[38] = ((real_t)(elMat_3_8));
+             _data_mat[39] = ((real_t)(elMat_3_9));
+         
+         
+             mat->addValues( _data_rowIdx, _data_colIdx, _data_mat );
+          }
+       }
+       const real_t tmp_coords_jac_0_GREEN_UP = 1.0 / (micro_edges_per_macro_edge_float)*1.0;
+       const real_t tmp_coords_jac_1_GREEN_UP = macro_vertex_coord_id_0comp0 + tmp_coords_jac_0_GREEN_UP*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0);
+       const real_t tmp_coords_jac_2_GREEN_UP = macro_vertex_coord_id_0comp1 + tmp_coords_jac_0_GREEN_UP*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1);
+       const real_t tmp_coords_jac_3_GREEN_UP = macro_vertex_coord_id_0comp2 + tmp_coords_jac_0_GREEN_UP*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2);
+       const real_t tmp_coords_jac_4_GREEN_UP = tmp_coords_jac_0_GREEN_UP*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0);
+       const real_t tmp_coords_jac_5_GREEN_UP = tmp_coords_jac_0_GREEN_UP*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1);
+       const real_t tmp_coords_jac_6_GREEN_UP = tmp_coords_jac_0_GREEN_UP*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2);
+       const real_t p_affine_const_0_0_GREEN_UP = tmp_coords_jac_1_GREEN_UP;
+       const real_t p_affine_const_0_1_GREEN_UP = tmp_coords_jac_2_GREEN_UP;
+       const real_t p_affine_const_0_2_GREEN_UP = tmp_coords_jac_3_GREEN_UP;
+       const real_t p_affine_const_1_0_GREEN_UP = macro_vertex_coord_id_0comp0 + tmp_coords_jac_0_GREEN_UP*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0);
+       const real_t p_affine_const_1_1_GREEN_UP = macro_vertex_coord_id_0comp1 + tmp_coords_jac_0_GREEN_UP*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1);
+       const real_t p_affine_const_1_2_GREEN_UP = macro_vertex_coord_id_0comp2 + tmp_coords_jac_0_GREEN_UP*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2);
+       const real_t p_affine_const_2_0_GREEN_UP = macro_vertex_coord_id_0comp0 + tmp_coords_jac_4_GREEN_UP;
+       const real_t p_affine_const_2_1_GREEN_UP = macro_vertex_coord_id_0comp1 + tmp_coords_jac_5_GREEN_UP;
+       const real_t p_affine_const_2_2_GREEN_UP = macro_vertex_coord_id_0comp2 + tmp_coords_jac_6_GREEN_UP;
+       const real_t p_affine_const_3_0_GREEN_UP = tmp_coords_jac_1_GREEN_UP + tmp_coords_jac_4_GREEN_UP;
+       const real_t p_affine_const_3_1_GREEN_UP = tmp_coords_jac_2_GREEN_UP + tmp_coords_jac_5_GREEN_UP;
+       const real_t p_affine_const_3_2_GREEN_UP = tmp_coords_jac_3_GREEN_UP + tmp_coords_jac_6_GREEN_UP;
+       const real_t jac_affine_0_0_GREEN_UP = -p_affine_const_0_0_GREEN_UP + p_affine_const_1_0_GREEN_UP;
+       const real_t jac_affine_0_1_GREEN_UP = -p_affine_const_0_0_GREEN_UP + p_affine_const_2_0_GREEN_UP;
+       const real_t jac_affine_0_2_GREEN_UP = -p_affine_const_0_0_GREEN_UP + p_affine_const_3_0_GREEN_UP;
+       const real_t jac_affine_1_0_GREEN_UP = -p_affine_const_0_1_GREEN_UP + p_affine_const_1_1_GREEN_UP;
+       const real_t jac_affine_1_1_GREEN_UP = -p_affine_const_0_1_GREEN_UP + p_affine_const_2_1_GREEN_UP;
+       const real_t jac_affine_1_2_GREEN_UP = -p_affine_const_0_1_GREEN_UP + p_affine_const_3_1_GREEN_UP;
+       const real_t jac_affine_2_0_GREEN_UP = -p_affine_const_0_2_GREEN_UP + p_affine_const_1_2_GREEN_UP;
+       const real_t jac_affine_2_1_GREEN_UP = -p_affine_const_0_2_GREEN_UP + p_affine_const_2_2_GREEN_UP;
+       const real_t jac_affine_2_2_GREEN_UP = -p_affine_const_0_2_GREEN_UP + p_affine_const_3_2_GREEN_UP;
+       const real_t abs_det_jac_affine_GREEN_UP = abs(jac_affine_0_0_GREEN_UP*jac_affine_1_1_GREEN_UP*jac_affine_2_2_GREEN_UP - jac_affine_0_0_GREEN_UP*jac_affine_1_2_GREEN_UP*jac_affine_2_1_GREEN_UP - jac_affine_0_1_GREEN_UP*jac_affine_1_0_GREEN_UP*jac_affine_2_2_GREEN_UP + jac_affine_0_1_GREEN_UP*jac_affine_1_2_GREEN_UP*jac_affine_2_0_GREEN_UP + jac_affine_0_2_GREEN_UP*jac_affine_1_0_GREEN_UP*jac_affine_2_1_GREEN_UP - jac_affine_0_2_GREEN_UP*jac_affine_1_1_GREEN_UP*jac_affine_2_0_GREEN_UP);
+       {
+          /* CellType.GREEN_UP */
+          const real_t _data_phi_psi_jac_affine_det_0_0_GREEN_UP [] = {((real_t)(abs_det_jac_affine_GREEN_UP*-0.03125)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.03125)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.03125)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.03125)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0625)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0625)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0625)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0625)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0625)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0625)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.03125)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.03125)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.03125)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.03125)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0625)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0625)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0625)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0625)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0625)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0625)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.03125)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.03125)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.03125)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.03125)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0625)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0625)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0625)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0625)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0625)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.03125)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.03125)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.03125)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.03125)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0625)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0625)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0625)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0625)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.0625)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.018518518518518524)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.018518518518518524)), 0.0, ((real_t)(abs_det_jac_affine_GREEN_UP*0.05555555555555558)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.05555555555555558)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.018518518518518524)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.055555555555555594)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.018518518518518535)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.018518518518518535)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.018518518518518507)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.018518518518518517)), 0.0, ((real_t)(abs_det_jac_affine_GREEN_UP*0.055555555555555552)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.055555555555555552)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.055555555555555566)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.018518518518518524)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.018518518518518524)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.018518518518518507)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.018518518518518517)), 0.0, ((real_t)(abs_det_jac_affine_GREEN_UP*0.055555555555555552)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.055555555555555566)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.018518518518518524)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.018518518518518524)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.055555555555555525)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.055555555555555552)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.055555555555555552)), 0.0, ((real_t)(abs_det_jac_affine_GREEN_UP*0.16666666666666666)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.16666666666666666)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.16666666666666671)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.05555555555555558)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.05555555555555558)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.018518518518518531)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.018518518518518521)), 0.0, ((real_t)(abs_det_jac_affine_GREEN_UP*-0.018518518518518521)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.055555555555555566)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.018518518518518521)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.055555555555555566)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.018518518518518531)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.055555555555555587)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.018518518518518531)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.018518518518518524)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.018518518518518517)), 0.0, ((real_t)(abs_det_jac_affine_GREEN_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.055555555555555552)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.055555555555555552)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.018518518518518524)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.055555555555555566)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.018518518518518524)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.05555555555555558)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.055555555555555552)), 0.0, ((real_t)(abs_det_jac_affine_GREEN_UP*-0.055555555555555552)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.16666666666666666)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.16666666666666666)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.05555555555555558)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.16666666666666671)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.05555555555555558)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.018518518518518524)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.018518518518518517)), 0.0, ((real_t)(abs_det_jac_affine_GREEN_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.055555555555555552)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.018518518518518524)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.055555555555555566)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.018518518518518524)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.018518518518518531)), 0.0, ((real_t)(abs_det_jac_affine_GREEN_UP*-0.018518518518518521)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.018518518518518521)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.018518518518518521)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.055555555555555566)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.055555555555555566)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.018518518518518531)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.018518518518518531)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.055555555555555587)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.05555555555555558)), 0.0, ((real_t)(abs_det_jac_affine_GREEN_UP*-0.055555555555555552)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.055555555555555552)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.055555555555555552)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.16666666666666666)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.16666666666666666)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.05555555555555558)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.05555555555555558)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.16666666666666671)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.018518518518518524)), 0.0, ((real_t)(abs_det_jac_affine_GREEN_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.055555555555555552)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.018518518518518524)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.018518518518518524)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.055555555555555566)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.018518518518518524)), 0.0, ((real_t)(abs_det_jac_affine_GREEN_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.055555555555555552)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.018518518518518524)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.018518518518518524)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.055555555555555566)), ((real_t)(abs_det_jac_affine_GREEN_UP*2.775557561562892e-17)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.055555555555555566)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.055555555555555566)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.055555555555555566)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.055555555555555566)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.055555555555555566)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.055555555555555566)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.16666666666666671)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.16666666666666671)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.16666666666666671)), ((real_t)(abs_det_jac_affine_GREEN_UP*9.2518585385429707e-18)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.055555555555555559)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.055555555555555559)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.055555555555555559)), ((real_t)(abs_det_jac_affine_GREEN_UP*9.2518585385429707e-18)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.055555555555555559)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.055555555555555559)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.055555555555555559)), ((real_t)(abs_det_jac_affine_GREEN_UP*9.2518585385429707e-18)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_UP*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.055555555555555559)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.055555555555555559)), ((real_t)(abs_det_jac_affine_GREEN_UP*0.055555555555555559))};
+      
+          for (int64_t ctr_2 = 0; ctr_2 < micro_edges_per_macro_edge; ctr_2 += 1)
+          for (int64_t ctr_1 = 0; ctr_1 < -ctr_2 + micro_edges_per_macro_edge; ctr_1 += 1)
+          for (int64_t ctr_0 = 0; ctr_0 < -ctr_1 - ctr_2 + micro_edges_per_macro_edge - 1; ctr_0 += 1)
+          {
+             const real_t k_dof_0 = _data_kVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1];
+             const real_t k_dof_1 = _data_kVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))];
+             const real_t k_dof_2 = _data_kVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))];
+             const real_t k_dof_3 = _data_kVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1];
+             const real_t k_dof_4 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))];
+             const real_t k_dof_5 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge - 1)*(micro_edges_per_macro_edge + 1)) / (6)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))];
+             const real_t k_dof_6 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))];
+             const real_t k_dof_7 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1];
+             const real_t k_dof_8 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 5*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))];
+             const real_t k_dof_9 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))];
+             real_t q_acc_0_0 = 0.0;
+             real_t q_acc_0_1 = 0.0;
+             real_t q_acc_0_2 = 0.0;
+             real_t q_acc_0_3 = 0.0;
+             real_t q_acc_0_4 = 0.0;
+             real_t q_acc_0_5 = 0.0;
+             real_t q_acc_0_6 = 0.0;
+             real_t q_acc_0_7 = 0.0;
+             real_t q_acc_0_8 = 0.0;
+             real_t q_acc_0_9 = 0.0;
+             real_t q_acc_1_0 = 0.0;
+             real_t q_acc_1_1 = 0.0;
+             real_t q_acc_1_2 = 0.0;
+             real_t q_acc_1_3 = 0.0;
+             real_t q_acc_1_4 = 0.0;
+             real_t q_acc_1_5 = 0.0;
+             real_t q_acc_1_6 = 0.0;
+             real_t q_acc_1_7 = 0.0;
+             real_t q_acc_1_8 = 0.0;
+             real_t q_acc_1_9 = 0.0;
+             real_t q_acc_2_0 = 0.0;
+             real_t q_acc_2_1 = 0.0;
+             real_t q_acc_2_2 = 0.0;
+             real_t q_acc_2_3 = 0.0;
+             real_t q_acc_2_4 = 0.0;
+             real_t q_acc_2_5 = 0.0;
+             real_t q_acc_2_6 = 0.0;
+             real_t q_acc_2_7 = 0.0;
+             real_t q_acc_2_8 = 0.0;
+             real_t q_acc_2_9 = 0.0;
+             real_t q_acc_3_0 = 0.0;
+             real_t q_acc_3_1 = 0.0;
+             real_t q_acc_3_2 = 0.0;
+             real_t q_acc_3_3 = 0.0;
+             real_t q_acc_3_4 = 0.0;
+             real_t q_acc_3_5 = 0.0;
+             real_t q_acc_3_6 = 0.0;
+             real_t q_acc_3_7 = 0.0;
+             real_t q_acc_3_8 = 0.0;
+             real_t q_acc_3_9 = 0.0;
+             for (int64_t q = 0; q < 5; q += 1)
+             {
+                const real_t tmp_qloop_0 = 4.0*_data_q_p_0[q];
+                const real_t tmp_qloop_1 = tmp_qloop_0*_data_q_p_1[q];
+                const real_t tmp_qloop_2 = tmp_qloop_0*_data_q_p_2[q];
+                const real_t tmp_qloop_3 = 4.0*_data_q_p_1[q]*_data_q_p_2[q];
+                const real_t tmp_qloop_4 = (_data_q_p_0[q]*_data_q_p_0[q]);
+                const real_t tmp_qloop_5 = tmp_qloop_4*2.0;
+                const real_t tmp_qloop_6 = (_data_q_p_1[q]*_data_q_p_1[q]);
+                const real_t tmp_qloop_7 = tmp_qloop_6*2.0;
+                const real_t tmp_qloop_8 = (_data_q_p_2[q]*_data_q_p_2[q]);
+                const real_t tmp_qloop_9 = tmp_qloop_8*2.0;
+                const real_t tmp_qloop_10 = tmp_qloop_1 + tmp_qloop_2;
+                const real_t tmp_qloop_11 = (k_dof_0*(tmp_qloop_10 + tmp_qloop_3 + tmp_qloop_5 + tmp_qloop_7 + tmp_qloop_9 - 3.0*_data_q_p_0[q] - 3.0*_data_q_p_1[q] - 3.0*_data_q_p_2[q] + 1.0) + k_dof_1*(tmp_qloop_5 - _data_q_p_0[q]) + k_dof_2*(tmp_qloop_7 - _data_q_p_1[q]) + k_dof_3*(tmp_qloop_9 - _data_q_p_2[q]) + k_dof_4*tmp_qloop_3 + k_dof_5*tmp_qloop_2 + k_dof_6*tmp_qloop_1 + k_dof_7*(-tmp_qloop_2 - tmp_qloop_3 + tmp_qloop_8*-4.0 + 4.0*_data_q_p_2[q]) + k_dof_8*(-tmp_qloop_1 - tmp_qloop_3 + tmp_qloop_6*-4.0 + 4.0*_data_q_p_1[q]) + k_dof_9*(-tmp_qloop_10 + tmp_qloop_4*-4.0 + 4.0*_data_q_p_0[q]))*_data_q_w[q];
+                const real_t tmp_qloop_12 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 14];
+                const real_t q_tmp_0_0 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q];
+                const real_t q_tmp_0_1 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 1];
+                const real_t q_tmp_0_2 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 2];
+                const real_t q_tmp_0_3 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 3];
+                const real_t q_tmp_0_4 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 4];
+                const real_t q_tmp_0_5 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 5];
+                const real_t q_tmp_0_6 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 6];
+                const real_t q_tmp_0_7 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 7];
+                const real_t q_tmp_0_8 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 8];
+                const real_t q_tmp_0_9 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 9];
+                const real_t q_tmp_1_0 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 10];
+                const real_t q_tmp_1_1 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 11];
+                const real_t q_tmp_1_2 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 12];
+                const real_t q_tmp_1_3 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 13];
+                const real_t q_tmp_1_4 = tmp_qloop_12;
+                const real_t q_tmp_1_5 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 15];
+                const real_t q_tmp_1_6 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 16];
+                const real_t q_tmp_1_7 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 17];
+                const real_t q_tmp_1_8 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 18];
+                const real_t q_tmp_1_9 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 19];
+                const real_t q_tmp_2_0 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 20];
+                const real_t q_tmp_2_1 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 21];
+                const real_t q_tmp_2_2 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 22];
+                const real_t q_tmp_2_3 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 23];
+                const real_t q_tmp_2_4 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 24];
+                const real_t q_tmp_2_5 = tmp_qloop_12;
+                const real_t q_tmp_2_6 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 25];
+                const real_t q_tmp_2_7 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 26];
+                const real_t q_tmp_2_8 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 27];
+                const real_t q_tmp_2_9 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 28];
+                const real_t q_tmp_3_0 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 29];
+                const real_t q_tmp_3_1 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 30];
+                const real_t q_tmp_3_2 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 31];
+                const real_t q_tmp_3_3 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 32];
+                const real_t q_tmp_3_4 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 33];
+                const real_t q_tmp_3_5 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 34];
+                const real_t q_tmp_3_6 = tmp_qloop_12;
+                const real_t q_tmp_3_7 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 35];
+                const real_t q_tmp_3_8 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 36];
+                const real_t q_tmp_3_9 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_UP[38*q + 37];
+                q_acc_0_0 = q_acc_0_0 + q_tmp_0_0;
+                q_acc_0_1 = q_acc_0_1 + q_tmp_0_1;
+                q_acc_0_2 = q_acc_0_2 + q_tmp_0_2;
+                q_acc_0_3 = q_acc_0_3 + q_tmp_0_3;
+                q_acc_0_4 = q_acc_0_4 + q_tmp_0_4;
+                q_acc_0_5 = q_acc_0_5 + q_tmp_0_5;
+                q_acc_0_6 = q_acc_0_6 + q_tmp_0_6;
+                q_acc_0_7 = q_acc_0_7 + q_tmp_0_7;
+                q_acc_0_8 = q_acc_0_8 + q_tmp_0_8;
+                q_acc_0_9 = q_acc_0_9 + q_tmp_0_9;
+                q_acc_1_0 = q_acc_1_0 + q_tmp_1_0;
+                q_acc_1_1 = q_acc_1_1 + q_tmp_1_1;
+                q_acc_1_2 = q_acc_1_2 + q_tmp_1_2;
+                q_acc_1_3 = q_acc_1_3 + q_tmp_1_3;
+                q_acc_1_4 = q_acc_1_4 + q_tmp_1_4;
+                q_acc_1_5 = q_acc_1_5 + q_tmp_1_5;
+                q_acc_1_6 = q_acc_1_6 + q_tmp_1_6;
+                q_acc_1_7 = q_acc_1_7 + q_tmp_1_7;
+                q_acc_1_8 = q_acc_1_8 + q_tmp_1_8;
+                q_acc_1_9 = q_acc_1_9 + q_tmp_1_9;
+                q_acc_2_0 = q_acc_2_0 + q_tmp_2_0;
+                q_acc_2_1 = q_acc_2_1 + q_tmp_2_1;
+                q_acc_2_2 = q_acc_2_2 + q_tmp_2_2;
+                q_acc_2_3 = q_acc_2_3 + q_tmp_2_3;
+                q_acc_2_4 = q_acc_2_4 + q_tmp_2_4;
+                q_acc_2_5 = q_acc_2_5 + q_tmp_2_5;
+                q_acc_2_6 = q_acc_2_6 + q_tmp_2_6;
+                q_acc_2_7 = q_acc_2_7 + q_tmp_2_7;
+                q_acc_2_8 = q_acc_2_8 + q_tmp_2_8;
+                q_acc_2_9 = q_acc_2_9 + q_tmp_2_9;
+                q_acc_3_0 = q_acc_3_0 + q_tmp_3_0;
+                q_acc_3_1 = q_acc_3_1 + q_tmp_3_1;
+                q_acc_3_2 = q_acc_3_2 + q_tmp_3_2;
+                q_acc_3_3 = q_acc_3_3 + q_tmp_3_3;
+                q_acc_3_4 = q_acc_3_4 + q_tmp_3_4;
+                q_acc_3_5 = q_acc_3_5 + q_tmp_3_5;
+                q_acc_3_6 = q_acc_3_6 + q_tmp_3_6;
+                q_acc_3_7 = q_acc_3_7 + q_tmp_3_7;
+                q_acc_3_8 = q_acc_3_8 + q_tmp_3_8;
+                q_acc_3_9 = q_acc_3_9 + q_tmp_3_9;
+             }
+             const real_t elMat_0_0 = q_acc_0_0;
+             const real_t elMat_0_1 = q_acc_0_1;
+             const real_t elMat_0_2 = q_acc_0_2;
+             const real_t elMat_0_3 = q_acc_0_3;
+             const real_t elMat_0_4 = q_acc_0_4;
+             const real_t elMat_0_5 = q_acc_0_5;
+             const real_t elMat_0_6 = q_acc_0_6;
+             const real_t elMat_0_7 = q_acc_0_7;
+             const real_t elMat_0_8 = q_acc_0_8;
+             const real_t elMat_0_9 = q_acc_0_9;
+             const real_t elMat_1_0 = q_acc_1_0;
+             const real_t elMat_1_1 = q_acc_1_1;
+             const real_t elMat_1_2 = q_acc_1_2;
+             const real_t elMat_1_3 = q_acc_1_3;
+             const real_t elMat_1_4 = q_acc_1_4;
+             const real_t elMat_1_5 = q_acc_1_5;
+             const real_t elMat_1_6 = q_acc_1_6;
+             const real_t elMat_1_7 = q_acc_1_7;
+             const real_t elMat_1_8 = q_acc_1_8;
+             const real_t elMat_1_9 = q_acc_1_9;
+             const real_t elMat_2_0 = q_acc_2_0;
+             const real_t elMat_2_1 = q_acc_2_1;
+             const real_t elMat_2_2 = q_acc_2_2;
+             const real_t elMat_2_3 = q_acc_2_3;
+             const real_t elMat_2_4 = q_acc_2_4;
+             const real_t elMat_2_5 = q_acc_2_5;
+             const real_t elMat_2_6 = q_acc_2_6;
+             const real_t elMat_2_7 = q_acc_2_7;
+             const real_t elMat_2_8 = q_acc_2_8;
+             const real_t elMat_2_9 = q_acc_2_9;
+             const real_t elMat_3_0 = q_acc_3_0;
+             const real_t elMat_3_1 = q_acc_3_1;
+             const real_t elMat_3_2 = q_acc_3_2;
+             const real_t elMat_3_3 = q_acc_3_3;
+             const real_t elMat_3_4 = q_acc_3_4;
+             const real_t elMat_3_5 = q_acc_3_5;
+             const real_t elMat_3_6 = q_acc_3_6;
+             const real_t elMat_3_7 = q_acc_3_7;
+             const real_t elMat_3_8 = q_acc_3_8;
+             const real_t elMat_3_9 = q_acc_3_9;
+         
+             std::vector< uint_t > _data_rowIdx( 4 );
+             std::vector< uint_t > _data_colIdx( 10 );
+             std::vector< real_t > _data_mat( 40 );
+         
+             _data_rowIdx[0] = ((uint64_t)(_data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]));
+             _data_rowIdx[1] = ((uint64_t)(_data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]));
+             _data_rowIdx[2] = ((uint64_t)(_data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]));
+             _data_rowIdx[3] = ((uint64_t)(_data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]));
+             _data_colIdx[0] = ((uint64_t)(_data_srcVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]));
+             _data_colIdx[1] = ((uint64_t)(_data_srcVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]));
+             _data_colIdx[2] = ((uint64_t)(_data_srcVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]));
+             _data_colIdx[3] = ((uint64_t)(_data_srcVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]));
+             _data_colIdx[4] = ((uint64_t)(_data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]));
+             _data_colIdx[5] = ((uint64_t)(_data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge - 1)*(micro_edges_per_macro_edge + 1)) / (6)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]));
+             _data_colIdx[6] = ((uint64_t)(_data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]));
+             _data_colIdx[7] = ((uint64_t)(_data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1]));
+             _data_colIdx[8] = ((uint64_t)(_data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 5*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]));
+             _data_colIdx[9] = ((uint64_t)(_data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]));
+         
+             /* Apply basis transformation */
+         
+         
+         
+             _data_mat[0] = ((real_t)(elMat_0_0));
+             _data_mat[1] = ((real_t)(elMat_0_1));
+             _data_mat[2] = ((real_t)(elMat_0_2));
+             _data_mat[3] = ((real_t)(elMat_0_3));
+             _data_mat[4] = ((real_t)(elMat_0_4));
+             _data_mat[5] = ((real_t)(elMat_0_5));
+             _data_mat[6] = ((real_t)(elMat_0_6));
+             _data_mat[7] = ((real_t)(elMat_0_7));
+             _data_mat[8] = ((real_t)(elMat_0_8));
+             _data_mat[9] = ((real_t)(elMat_0_9));
+             _data_mat[10] = ((real_t)(elMat_1_0));
+             _data_mat[11] = ((real_t)(elMat_1_1));
+             _data_mat[12] = ((real_t)(elMat_1_2));
+             _data_mat[13] = ((real_t)(elMat_1_3));
+             _data_mat[14] = ((real_t)(elMat_1_4));
+             _data_mat[15] = ((real_t)(elMat_1_5));
+             _data_mat[16] = ((real_t)(elMat_1_6));
+             _data_mat[17] = ((real_t)(elMat_1_7));
+             _data_mat[18] = ((real_t)(elMat_1_8));
+             _data_mat[19] = ((real_t)(elMat_1_9));
+             _data_mat[20] = ((real_t)(elMat_2_0));
+             _data_mat[21] = ((real_t)(elMat_2_1));
+             _data_mat[22] = ((real_t)(elMat_2_2));
+             _data_mat[23] = ((real_t)(elMat_2_3));
+             _data_mat[24] = ((real_t)(elMat_2_4));
+             _data_mat[25] = ((real_t)(elMat_2_5));
+             _data_mat[26] = ((real_t)(elMat_2_6));
+             _data_mat[27] = ((real_t)(elMat_2_7));
+             _data_mat[28] = ((real_t)(elMat_2_8));
+             _data_mat[29] = ((real_t)(elMat_2_9));
+             _data_mat[30] = ((real_t)(elMat_3_0));
+             _data_mat[31] = ((real_t)(elMat_3_1));
+             _data_mat[32] = ((real_t)(elMat_3_2));
+             _data_mat[33] = ((real_t)(elMat_3_3));
+             _data_mat[34] = ((real_t)(elMat_3_4));
+             _data_mat[35] = ((real_t)(elMat_3_5));
+             _data_mat[36] = ((real_t)(elMat_3_6));
+             _data_mat[37] = ((real_t)(elMat_3_7));
+             _data_mat[38] = ((real_t)(elMat_3_8));
+             _data_mat[39] = ((real_t)(elMat_3_9));
+         
+         
+             mat->addValues( _data_rowIdx, _data_colIdx, _data_mat );
+          }
+       }
+       const real_t tmp_coords_jac_0_GREEN_DOWN = 1.0 / (micro_edges_per_macro_edge_float)*1.0;
+       const real_t tmp_coords_jac_1_GREEN_DOWN = macro_vertex_coord_id_0comp0 + tmp_coords_jac_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0);
+       const real_t tmp_coords_jac_2_GREEN_DOWN = macro_vertex_coord_id_0comp1 + tmp_coords_jac_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1);
+       const real_t tmp_coords_jac_3_GREEN_DOWN = macro_vertex_coord_id_0comp2 + tmp_coords_jac_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2);
+       const real_t tmp_coords_jac_4_GREEN_DOWN = tmp_coords_jac_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0);
+       const real_t tmp_coords_jac_5_GREEN_DOWN = tmp_coords_jac_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1);
+       const real_t tmp_coords_jac_6_GREEN_DOWN = tmp_coords_jac_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2);
+       const real_t tmp_coords_jac_7_GREEN_DOWN = tmp_coords_jac_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0);
+       const real_t tmp_coords_jac_8_GREEN_DOWN = tmp_coords_jac_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1);
+       const real_t tmp_coords_jac_9_GREEN_DOWN = tmp_coords_jac_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2);
+       const real_t p_affine_const_0_0_GREEN_DOWN = tmp_coords_jac_1_GREEN_DOWN;
+       const real_t p_affine_const_0_1_GREEN_DOWN = tmp_coords_jac_2_GREEN_DOWN;
+       const real_t p_affine_const_0_2_GREEN_DOWN = tmp_coords_jac_3_GREEN_DOWN;
+       const real_t p_affine_const_1_0_GREEN_DOWN = tmp_coords_jac_1_GREEN_DOWN + tmp_coords_jac_4_GREEN_DOWN;
+       const real_t p_affine_const_1_1_GREEN_DOWN = tmp_coords_jac_2_GREEN_DOWN + tmp_coords_jac_5_GREEN_DOWN;
+       const real_t p_affine_const_1_2_GREEN_DOWN = tmp_coords_jac_3_GREEN_DOWN + tmp_coords_jac_6_GREEN_DOWN;
+       const real_t p_affine_const_2_0_GREEN_DOWN = macro_vertex_coord_id_0comp0 + tmp_coords_jac_4_GREEN_DOWN + tmp_coords_jac_7_GREEN_DOWN;
+       const real_t p_affine_const_2_1_GREEN_DOWN = macro_vertex_coord_id_0comp1 + tmp_coords_jac_5_GREEN_DOWN + tmp_coords_jac_8_GREEN_DOWN;
+       const real_t p_affine_const_2_2_GREEN_DOWN = macro_vertex_coord_id_0comp2 + tmp_coords_jac_6_GREEN_DOWN + tmp_coords_jac_9_GREEN_DOWN;
+       const real_t p_affine_const_3_0_GREEN_DOWN = tmp_coords_jac_1_GREEN_DOWN + tmp_coords_jac_7_GREEN_DOWN;
+       const real_t p_affine_const_3_1_GREEN_DOWN = tmp_coords_jac_2_GREEN_DOWN + tmp_coords_jac_8_GREEN_DOWN;
+       const real_t p_affine_const_3_2_GREEN_DOWN = tmp_coords_jac_3_GREEN_DOWN + tmp_coords_jac_9_GREEN_DOWN;
+       const real_t jac_affine_0_0_GREEN_DOWN = -p_affine_const_0_0_GREEN_DOWN + p_affine_const_1_0_GREEN_DOWN;
+       const real_t jac_affine_0_1_GREEN_DOWN = -p_affine_const_0_0_GREEN_DOWN + p_affine_const_2_0_GREEN_DOWN;
+       const real_t jac_affine_0_2_GREEN_DOWN = -p_affine_const_0_0_GREEN_DOWN + p_affine_const_3_0_GREEN_DOWN;
+       const real_t jac_affine_1_0_GREEN_DOWN = -p_affine_const_0_1_GREEN_DOWN + p_affine_const_1_1_GREEN_DOWN;
+       const real_t jac_affine_1_1_GREEN_DOWN = -p_affine_const_0_1_GREEN_DOWN + p_affine_const_2_1_GREEN_DOWN;
+       const real_t jac_affine_1_2_GREEN_DOWN = -p_affine_const_0_1_GREEN_DOWN + p_affine_const_3_1_GREEN_DOWN;
+       const real_t jac_affine_2_0_GREEN_DOWN = -p_affine_const_0_2_GREEN_DOWN + p_affine_const_1_2_GREEN_DOWN;
+       const real_t jac_affine_2_1_GREEN_DOWN = -p_affine_const_0_2_GREEN_DOWN + p_affine_const_2_2_GREEN_DOWN;
+       const real_t jac_affine_2_2_GREEN_DOWN = -p_affine_const_0_2_GREEN_DOWN + p_affine_const_3_2_GREEN_DOWN;
+       const real_t abs_det_jac_affine_GREEN_DOWN = abs(jac_affine_0_0_GREEN_DOWN*jac_affine_1_1_GREEN_DOWN*jac_affine_2_2_GREEN_DOWN - jac_affine_0_0_GREEN_DOWN*jac_affine_1_2_GREEN_DOWN*jac_affine_2_1_GREEN_DOWN - jac_affine_0_1_GREEN_DOWN*jac_affine_1_0_GREEN_DOWN*jac_affine_2_2_GREEN_DOWN + jac_affine_0_1_GREEN_DOWN*jac_affine_1_2_GREEN_DOWN*jac_affine_2_0_GREEN_DOWN + jac_affine_0_2_GREEN_DOWN*jac_affine_1_0_GREEN_DOWN*jac_affine_2_1_GREEN_DOWN - jac_affine_0_2_GREEN_DOWN*jac_affine_1_1_GREEN_DOWN*jac_affine_2_0_GREEN_DOWN);
+       {
+          /* CellType.GREEN_DOWN */
+          const real_t _data_phi_psi_jac_affine_det_0_0_GREEN_DOWN [] = {((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.03125)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.0625)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.018518518518518524)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.018518518518518524)), 0.0, ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.05555555555555558)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.05555555555555558)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.018518518518518524)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.055555555555555594)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.018518518518518535)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.018518518518518535)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.018518518518518507)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.018518518518518517)), 0.0, ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.055555555555555552)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.055555555555555552)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.055555555555555566)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.018518518518518524)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.018518518518518524)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.018518518518518507)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.018518518518518517)), 0.0, ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.055555555555555552)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.055555555555555566)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.018518518518518524)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.018518518518518524)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.055555555555555525)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.055555555555555552)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.055555555555555552)), 0.0, ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.16666666666666666)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.16666666666666666)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.16666666666666671)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.05555555555555558)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.05555555555555558)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.018518518518518531)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.018518518518518521)), 0.0, ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.018518518518518521)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.055555555555555566)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.018518518518518521)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.055555555555555566)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.018518518518518531)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.055555555555555587)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.018518518518518531)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.018518518518518524)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.018518518518518517)), 0.0, ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.055555555555555552)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.055555555555555552)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.018518518518518524)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.055555555555555566)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.018518518518518524)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.05555555555555558)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.055555555555555552)), 0.0, ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.055555555555555552)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.16666666666666666)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.16666666666666666)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.05555555555555558)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.16666666666666671)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.05555555555555558)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.018518518518518524)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.018518518518518517)), 0.0, ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.055555555555555552)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.018518518518518524)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.055555555555555566)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.018518518518518524)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.018518518518518531)), 0.0, ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.018518518518518521)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.018518518518518521)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.018518518518518521)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.055555555555555566)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.055555555555555566)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.018518518518518531)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.018518518518518531)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.055555555555555587)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.05555555555555558)), 0.0, ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.055555555555555552)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.055555555555555552)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.055555555555555552)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.16666666666666666)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.16666666666666666)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.05555555555555558)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.05555555555555558)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.16666666666666671)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.018518518518518524)), 0.0, ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.055555555555555552)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.018518518518518524)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.018518518518518524)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.055555555555555566)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.018518518518518524)), 0.0, ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.055555555555555552)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.018518518518518524)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.018518518518518524)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.055555555555555566)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*2.775557561562892e-17)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.055555555555555566)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.055555555555555566)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.055555555555555566)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.055555555555555566)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.055555555555555566)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.055555555555555566)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.16666666666666671)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.16666666666666671)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.16666666666666671)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*9.2518585385429707e-18)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.055555555555555559)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.055555555555555559)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.055555555555555559)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*9.2518585385429707e-18)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.055555555555555559)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.055555555555555559)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.055555555555555559)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*9.2518585385429707e-18)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*-0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.018518518518518517)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.055555555555555559)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.055555555555555559)), ((real_t)(abs_det_jac_affine_GREEN_DOWN*0.055555555555555559))};
+      
+          for (int64_t ctr_2 = 0; ctr_2 < micro_edges_per_macro_edge; ctr_2 += 1)
+          for (int64_t ctr_1 = 0; ctr_1 < -ctr_2 + micro_edges_per_macro_edge; ctr_1 += 1)
+          for (int64_t ctr_0 = 0; ctr_0 < -ctr_1 - ctr_2 + micro_edges_per_macro_edge - 1; ctr_0 += 1)
+          {
+             const real_t k_dof_0 = _data_kVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))];
+             const real_t k_dof_1 = _data_kVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1];
+             const real_t k_dof_2 = _data_kVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1];
+             const real_t k_dof_3 = _data_kVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))];
+             const real_t k_dof_4 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))];
+             const real_t k_dof_5 = _data_kEdge[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 5*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))];
+             const real_t k_dof_6 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1];
+             const real_t k_dof_7 = _data_kEdge[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))];
+             const real_t k_dof_8 = _data_kEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge - 1)*(micro_edges_per_macro_edge + 1)) / (6)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))];
+             const real_t k_dof_9 = _data_kEdge[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))];
+             real_t q_acc_0_0 = 0.0;
+             real_t q_acc_0_1 = 0.0;
+             real_t q_acc_0_2 = 0.0;
+             real_t q_acc_0_3 = 0.0;
+             real_t q_acc_0_4 = 0.0;
+             real_t q_acc_0_5 = 0.0;
+             real_t q_acc_0_6 = 0.0;
+             real_t q_acc_0_7 = 0.0;
+             real_t q_acc_0_8 = 0.0;
+             real_t q_acc_0_9 = 0.0;
+             real_t q_acc_1_0 = 0.0;
+             real_t q_acc_1_1 = 0.0;
+             real_t q_acc_1_2 = 0.0;
+             real_t q_acc_1_3 = 0.0;
+             real_t q_acc_1_4 = 0.0;
+             real_t q_acc_1_5 = 0.0;
+             real_t q_acc_1_6 = 0.0;
+             real_t q_acc_1_7 = 0.0;
+             real_t q_acc_1_8 = 0.0;
+             real_t q_acc_1_9 = 0.0;
+             real_t q_acc_2_0 = 0.0;
+             real_t q_acc_2_1 = 0.0;
+             real_t q_acc_2_2 = 0.0;
+             real_t q_acc_2_3 = 0.0;
+             real_t q_acc_2_4 = 0.0;
+             real_t q_acc_2_5 = 0.0;
+             real_t q_acc_2_6 = 0.0;
+             real_t q_acc_2_7 = 0.0;
+             real_t q_acc_2_8 = 0.0;
+             real_t q_acc_2_9 = 0.0;
+             real_t q_acc_3_0 = 0.0;
+             real_t q_acc_3_1 = 0.0;
+             real_t q_acc_3_2 = 0.0;
+             real_t q_acc_3_3 = 0.0;
+             real_t q_acc_3_4 = 0.0;
+             real_t q_acc_3_5 = 0.0;
+             real_t q_acc_3_6 = 0.0;
+             real_t q_acc_3_7 = 0.0;
+             real_t q_acc_3_8 = 0.0;
+             real_t q_acc_3_9 = 0.0;
+             for (int64_t q = 0; q < 5; q += 1)
+             {
+                const real_t tmp_qloop_0 = 4.0*_data_q_p_0[q];
+                const real_t tmp_qloop_1 = tmp_qloop_0*_data_q_p_1[q];
+                const real_t tmp_qloop_2 = tmp_qloop_0*_data_q_p_2[q];
+                const real_t tmp_qloop_3 = 4.0*_data_q_p_1[q]*_data_q_p_2[q];
+                const real_t tmp_qloop_4 = (_data_q_p_0[q]*_data_q_p_0[q]);
+                const real_t tmp_qloop_5 = tmp_qloop_4*2.0;
+                const real_t tmp_qloop_6 = (_data_q_p_1[q]*_data_q_p_1[q]);
+                const real_t tmp_qloop_7 = tmp_qloop_6*2.0;
+                const real_t tmp_qloop_8 = (_data_q_p_2[q]*_data_q_p_2[q]);
+                const real_t tmp_qloop_9 = tmp_qloop_8*2.0;
+                const real_t tmp_qloop_10 = tmp_qloop_1 + tmp_qloop_2;
+                const real_t tmp_qloop_11 = (k_dof_0*(tmp_qloop_10 + tmp_qloop_3 + tmp_qloop_5 + tmp_qloop_7 + tmp_qloop_9 - 3.0*_data_q_p_0[q] - 3.0*_data_q_p_1[q] - 3.0*_data_q_p_2[q] + 1.0) + k_dof_1*(tmp_qloop_5 - _data_q_p_0[q]) + k_dof_2*(tmp_qloop_7 - _data_q_p_1[q]) + k_dof_3*(tmp_qloop_9 - _data_q_p_2[q]) + k_dof_4*tmp_qloop_3 + k_dof_5*tmp_qloop_2 + k_dof_6*tmp_qloop_1 + k_dof_7*(-tmp_qloop_2 - tmp_qloop_3 + tmp_qloop_8*-4.0 + 4.0*_data_q_p_2[q]) + k_dof_8*(-tmp_qloop_1 - tmp_qloop_3 + tmp_qloop_6*-4.0 + 4.0*_data_q_p_1[q]) + k_dof_9*(-tmp_qloop_10 + tmp_qloop_4*-4.0 + 4.0*_data_q_p_0[q]))*_data_q_w[q];
+                const real_t tmp_qloop_12 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 14];
+                const real_t q_tmp_0_0 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q];
+                const real_t q_tmp_0_1 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 1];
+                const real_t q_tmp_0_2 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 2];
+                const real_t q_tmp_0_3 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 3];
+                const real_t q_tmp_0_4 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 4];
+                const real_t q_tmp_0_5 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 5];
+                const real_t q_tmp_0_6 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 6];
+                const real_t q_tmp_0_7 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 7];
+                const real_t q_tmp_0_8 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 8];
+                const real_t q_tmp_0_9 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 9];
+                const real_t q_tmp_1_0 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 10];
+                const real_t q_tmp_1_1 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 11];
+                const real_t q_tmp_1_2 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 12];
+                const real_t q_tmp_1_3 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 13];
+                const real_t q_tmp_1_4 = tmp_qloop_12;
+                const real_t q_tmp_1_5 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 15];
+                const real_t q_tmp_1_6 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 16];
+                const real_t q_tmp_1_7 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 17];
+                const real_t q_tmp_1_8 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 18];
+                const real_t q_tmp_1_9 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 19];
+                const real_t q_tmp_2_0 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 20];
+                const real_t q_tmp_2_1 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 21];
+                const real_t q_tmp_2_2 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 22];
+                const real_t q_tmp_2_3 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 23];
+                const real_t q_tmp_2_4 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 24];
+                const real_t q_tmp_2_5 = tmp_qloop_12;
+                const real_t q_tmp_2_6 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 25];
+                const real_t q_tmp_2_7 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 26];
+                const real_t q_tmp_2_8 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 27];
+                const real_t q_tmp_2_9 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 28];
+                const real_t q_tmp_3_0 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 29];
+                const real_t q_tmp_3_1 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 30];
+                const real_t q_tmp_3_2 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 31];
+                const real_t q_tmp_3_3 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 32];
+                const real_t q_tmp_3_4 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 33];
+                const real_t q_tmp_3_5 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 34];
+                const real_t q_tmp_3_6 = tmp_qloop_12;
+                const real_t q_tmp_3_7 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 35];
+                const real_t q_tmp_3_8 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 36];
+                const real_t q_tmp_3_9 = tmp_qloop_11*_data_phi_psi_jac_affine_det_0_0_GREEN_DOWN[38*q + 37];
+                q_acc_0_0 = q_acc_0_0 + q_tmp_0_0;
+                q_acc_0_1 = q_acc_0_1 + q_tmp_0_1;
+                q_acc_0_2 = q_acc_0_2 + q_tmp_0_2;
+                q_acc_0_3 = q_acc_0_3 + q_tmp_0_3;
+                q_acc_0_4 = q_acc_0_4 + q_tmp_0_4;
+                q_acc_0_5 = q_acc_0_5 + q_tmp_0_5;
+                q_acc_0_6 = q_acc_0_6 + q_tmp_0_6;
+                q_acc_0_7 = q_acc_0_7 + q_tmp_0_7;
+                q_acc_0_8 = q_acc_0_8 + q_tmp_0_8;
+                q_acc_0_9 = q_acc_0_9 + q_tmp_0_9;
+                q_acc_1_0 = q_acc_1_0 + q_tmp_1_0;
+                q_acc_1_1 = q_acc_1_1 + q_tmp_1_1;
+                q_acc_1_2 = q_acc_1_2 + q_tmp_1_2;
+                q_acc_1_3 = q_acc_1_3 + q_tmp_1_3;
+                q_acc_1_4 = q_acc_1_4 + q_tmp_1_4;
+                q_acc_1_5 = q_acc_1_5 + q_tmp_1_5;
+                q_acc_1_6 = q_acc_1_6 + q_tmp_1_6;
+                q_acc_1_7 = q_acc_1_7 + q_tmp_1_7;
+                q_acc_1_8 = q_acc_1_8 + q_tmp_1_8;
+                q_acc_1_9 = q_acc_1_9 + q_tmp_1_9;
+                q_acc_2_0 = q_acc_2_0 + q_tmp_2_0;
+                q_acc_2_1 = q_acc_2_1 + q_tmp_2_1;
+                q_acc_2_2 = q_acc_2_2 + q_tmp_2_2;
+                q_acc_2_3 = q_acc_2_3 + q_tmp_2_3;
+                q_acc_2_4 = q_acc_2_4 + q_tmp_2_4;
+                q_acc_2_5 = q_acc_2_5 + q_tmp_2_5;
+                q_acc_2_6 = q_acc_2_6 + q_tmp_2_6;
+                q_acc_2_7 = q_acc_2_7 + q_tmp_2_7;
+                q_acc_2_8 = q_acc_2_8 + q_tmp_2_8;
+                q_acc_2_9 = q_acc_2_9 + q_tmp_2_9;
+                q_acc_3_0 = q_acc_3_0 + q_tmp_3_0;
+                q_acc_3_1 = q_acc_3_1 + q_tmp_3_1;
+                q_acc_3_2 = q_acc_3_2 + q_tmp_3_2;
+                q_acc_3_3 = q_acc_3_3 + q_tmp_3_3;
+                q_acc_3_4 = q_acc_3_4 + q_tmp_3_4;
+                q_acc_3_5 = q_acc_3_5 + q_tmp_3_5;
+                q_acc_3_6 = q_acc_3_6 + q_tmp_3_6;
+                q_acc_3_7 = q_acc_3_7 + q_tmp_3_7;
+                q_acc_3_8 = q_acc_3_8 + q_tmp_3_8;
+                q_acc_3_9 = q_acc_3_9 + q_tmp_3_9;
+             }
+             const real_t elMat_0_0 = q_acc_0_0;
+             const real_t elMat_0_1 = q_acc_0_1;
+             const real_t elMat_0_2 = q_acc_0_2;
+             const real_t elMat_0_3 = q_acc_0_3;
+             const real_t elMat_0_4 = q_acc_0_4;
+             const real_t elMat_0_5 = q_acc_0_5;
+             const real_t elMat_0_6 = q_acc_0_6;
+             const real_t elMat_0_7 = q_acc_0_7;
+             const real_t elMat_0_8 = q_acc_0_8;
+             const real_t elMat_0_9 = q_acc_0_9;
+             const real_t elMat_1_0 = q_acc_1_0;
+             const real_t elMat_1_1 = q_acc_1_1;
+             const real_t elMat_1_2 = q_acc_1_2;
+             const real_t elMat_1_3 = q_acc_1_3;
+             const real_t elMat_1_4 = q_acc_1_4;
+             const real_t elMat_1_5 = q_acc_1_5;
+             const real_t elMat_1_6 = q_acc_1_6;
+             const real_t elMat_1_7 = q_acc_1_7;
+             const real_t elMat_1_8 = q_acc_1_8;
+             const real_t elMat_1_9 = q_acc_1_9;
+             const real_t elMat_2_0 = q_acc_2_0;
+             const real_t elMat_2_1 = q_acc_2_1;
+             const real_t elMat_2_2 = q_acc_2_2;
+             const real_t elMat_2_3 = q_acc_2_3;
+             const real_t elMat_2_4 = q_acc_2_4;
+             const real_t elMat_2_5 = q_acc_2_5;
+             const real_t elMat_2_6 = q_acc_2_6;
+             const real_t elMat_2_7 = q_acc_2_7;
+             const real_t elMat_2_8 = q_acc_2_8;
+             const real_t elMat_2_9 = q_acc_2_9;
+             const real_t elMat_3_0 = q_acc_3_0;
+             const real_t elMat_3_1 = q_acc_3_1;
+             const real_t elMat_3_2 = q_acc_3_2;
+             const real_t elMat_3_3 = q_acc_3_3;
+             const real_t elMat_3_4 = q_acc_3_4;
+             const real_t elMat_3_5 = q_acc_3_5;
+             const real_t elMat_3_6 = q_acc_3_6;
+             const real_t elMat_3_7 = q_acc_3_7;
+             const real_t elMat_3_8 = q_acc_3_8;
+             const real_t elMat_3_9 = q_acc_3_9;
+         
+             std::vector< uint_t > _data_rowIdx( 4 );
+             std::vector< uint_t > _data_colIdx( 10 );
+             std::vector< real_t > _data_mat( 40 );
+         
+             _data_rowIdx[0] = ((uint64_t)(_data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]));
+             _data_rowIdx[1] = ((uint64_t)(_data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]));
+             _data_rowIdx[2] = ((uint64_t)(_data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]));
+             _data_rowIdx[3] = ((uint64_t)(_data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]));
+             _data_colIdx[0] = ((uint64_t)(_data_srcVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]));
+             _data_colIdx[1] = ((uint64_t)(_data_srcVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]));
+             _data_colIdx[2] = ((uint64_t)(_data_srcVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]));
+             _data_colIdx[3] = ((uint64_t)(_data_srcVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]));
+             _data_colIdx[4] = ((uint64_t)(_data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]));
+             _data_colIdx[5] = ((uint64_t)(_data_srcEdge[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 5*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]));
+             _data_colIdx[6] = ((uint64_t)(_data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1]));
+             _data_colIdx[7] = ((uint64_t)(_data_srcEdge[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]));
+             _data_colIdx[8] = ((uint64_t)(_data_srcEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge - 1)*(micro_edges_per_macro_edge + 1)) / (6)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]));
+             _data_colIdx[9] = ((uint64_t)(_data_srcEdge[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]));
+         
+             /* Apply basis transformation */
+         
+         
+         
+             _data_mat[0] = ((real_t)(elMat_0_0));
+             _data_mat[1] = ((real_t)(elMat_0_1));
+             _data_mat[2] = ((real_t)(elMat_0_2));
+             _data_mat[3] = ((real_t)(elMat_0_3));
+             _data_mat[4] = ((real_t)(elMat_0_4));
+             _data_mat[5] = ((real_t)(elMat_0_5));
+             _data_mat[6] = ((real_t)(elMat_0_6));
+             _data_mat[7] = ((real_t)(elMat_0_7));
+             _data_mat[8] = ((real_t)(elMat_0_8));
+             _data_mat[9] = ((real_t)(elMat_0_9));
+             _data_mat[10] = ((real_t)(elMat_1_0));
+             _data_mat[11] = ((real_t)(elMat_1_1));
+             _data_mat[12] = ((real_t)(elMat_1_2));
+             _data_mat[13] = ((real_t)(elMat_1_3));
+             _data_mat[14] = ((real_t)(elMat_1_4));
+             _data_mat[15] = ((real_t)(elMat_1_5));
+             _data_mat[16] = ((real_t)(elMat_1_6));
+             _data_mat[17] = ((real_t)(elMat_1_7));
+             _data_mat[18] = ((real_t)(elMat_1_8));
+             _data_mat[19] = ((real_t)(elMat_1_9));
+             _data_mat[20] = ((real_t)(elMat_2_0));
+             _data_mat[21] = ((real_t)(elMat_2_1));
+             _data_mat[22] = ((real_t)(elMat_2_2));
+             _data_mat[23] = ((real_t)(elMat_2_3));
+             _data_mat[24] = ((real_t)(elMat_2_4));
+             _data_mat[25] = ((real_t)(elMat_2_5));
+             _data_mat[26] = ((real_t)(elMat_2_6));
+             _data_mat[27] = ((real_t)(elMat_2_7));
+             _data_mat[28] = ((real_t)(elMat_2_8));
+             _data_mat[29] = ((real_t)(elMat_2_9));
+             _data_mat[30] = ((real_t)(elMat_3_0));
+             _data_mat[31] = ((real_t)(elMat_3_1));
+             _data_mat[32] = ((real_t)(elMat_3_2));
+             _data_mat[33] = ((real_t)(elMat_3_3));
+             _data_mat[34] = ((real_t)(elMat_3_4));
+             _data_mat[35] = ((real_t)(elMat_3_5));
+             _data_mat[36] = ((real_t)(elMat_3_6));
+             _data_mat[37] = ((real_t)(elMat_3_7));
+             _data_mat[38] = ((real_t)(elMat_3_8));
+             _data_mat[39] = ((real_t)(elMat_3_9));
+         
+         
+             mat->addValues( _data_rowIdx, _data_colIdx, _data_mat );
+          }
+       }
+    }
+}
+} // namespace operatorgeneration
+
+} // namespace hyteg